Skip to content

Commit fd86ba4

Browse files
committed
Minor refactoring.
1 parent 99b9346 commit fd86ba4

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

libraries/DMA/src/DMATransfer.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ void DMATransferClass::prepare(dmatransfer_t *settings)
3030

3131
// Call dma prepare
3232
prepare_dma(&_transfer_settings.dma_settings);
33+
34+
_prepared = true;
3335
}
3436
}
3537

@@ -45,13 +47,15 @@ void DMATransferClass::begin(int bytes_to_transfer)
4547
}
4648

4749
// Reset flags so it starts over
48-
__HAL_DMA_CLEAR_FLAG(&_transfer_settings, DMA_FLAG_TC2 | DMA_FLAG_HT2 | DMA_FLAG_TE2);
50+
__HAL_DMA_CLEAR_FLAG(&_transfer_settings.dma_settings, DMA_FLAG_TC2 | DMA_FLAG_HT2 | DMA_FLAG_TE2);
4951

5052
// Set size to transfer
5153
_transfer_settings.dma_settings.Instance->CNDTR = bytes_to_transfer;
5254

5355
// and enable it
5456
__HAL_DMA_ENABLE(&_transfer_settings.dma_settings);
57+
58+
HAL_DMA_Start(&_transfer_settings.dma_settings, _transfer_settings.source, _transfer_settings.destination, bytes_to_transfer);
5559
}
5660

5761
/**

libraries/DMA/src/DMATransfer.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@ struct dmatransfer_s {
1919
DMA_CS_Selection *channel_stream;
2020
uint32_t transfer_direction;
2121
boolean circular;
22+
uint32_t source;
23+
uint32_t destination;
2224
void (*transferComplete)(DMA_HandleTypeDef *);
2325
void (*transferHalfComplete)(DMA_HandleTypeDef *);
2426
void (*transferError)(DMA_HandleTypeDef *);
2527
};
2628

27-
class DMATransferClass {
29+
typedef class DMATransferClass {
2830

2931
public:
3032
void prepare(dmatransfer_t *settings);
@@ -33,7 +35,7 @@ class DMATransferClass {
3335
private:
3436
bool _prepared;
3537
dmatransfer_t _transfer_settings;
36-
};
38+
} DMATransfer;
3739

3840

3941
#endif /* __DMATRANSFER_H__ */

0 commit comments

Comments
 (0)