mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-24 16:55:36 +03:00
Merge pull request #7754 from mikeller/fix_burst_dshot_without_dma
Fixed burst Dshot for pins that have no DMA available.
This commit is contained in:
commit
0deca9c6f5
2 changed files with 21 additions and 15 deletions
|
@ -216,27 +216,32 @@ void pwmDshotMotorHardwareConfig(const timerHardware_t *timerHardware, uint8_t m
|
|||
#define DMAINIT dmaInitStruct
|
||||
#endif
|
||||
|
||||
dmaStream_t *dmaRef;
|
||||
#if defined(STM32F4)
|
||||
uint32_t dmaChannel;
|
||||
#endif
|
||||
#if defined(USE_DMA_SPEC)
|
||||
const dmaChannelSpec_t *dmaSpec = dmaGetChannelSpecByTimer(timerHardware);
|
||||
|
||||
if (dmaSpec == NULL) {
|
||||
return;
|
||||
}
|
||||
|
||||
dmaStream_t *dmaRef = dmaSpec->ref;
|
||||
if (dmaSpec != NULL) {
|
||||
dmaRef = dmaSpec->ref;
|
||||
#if defined(STM32F4)
|
||||
uint32_t dmaChannel = dmaSpec->channel;
|
||||
dmaChannel = dmaSpec->channel;
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
dmaStream_t *dmaRef = timerHardware->dmaRef;
|
||||
dmaRef = timerHardware->dmaRef;
|
||||
#if defined(STM32F4)
|
||||
uint32_t dmaChannel = timerHardware->dmaChannel;
|
||||
dmaChannel = timerHardware->dmaChannel;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef USE_DSHOT_DMAR
|
||||
if (useBurstDshot) {
|
||||
dmaRef = timerHardware->dmaTimUPRef;
|
||||
#if defined(STM32F4)
|
||||
dmaChannel = timerHardware->dmaTimUPChannel;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -200,23 +200,24 @@ void pwmDshotMotorHardwareConfig(const timerHardware_t *timerHardware, uint8_t m
|
|||
#define DMAINIT dmaInitStruct
|
||||
#endif
|
||||
|
||||
DMA_Stream_TypeDef *dmaRef;
|
||||
uint32_t dmaChannel;
|
||||
#if defined(USE_DMA_SPEC)
|
||||
const dmaChannelSpec_t *dmaSpec = dmaGetChannelSpecByTimer(timerHardware);
|
||||
|
||||
if (dmaSpec == NULL) {
|
||||
return;
|
||||
if (dmaSpec != NULL) {
|
||||
dmaRef = dmaSpec->ref;
|
||||
dmaChannel = dmaSpec->channel;
|
||||
}
|
||||
|
||||
DMA_Stream_TypeDef *dmaRef = dmaSpec->ref;
|
||||
uint32_t dmaChannel = dmaSpec->channel;
|
||||
#else
|
||||
DMA_Stream_TypeDef *dmaRef = timerHardware->dmaRef;
|
||||
uint32_t dmaChannel = timerHardware->dmaChannel;
|
||||
dmaRef = timerHardware->dmaRef;
|
||||
dmaChannel = timerHardware->dmaChannel;
|
||||
#endif
|
||||
|
||||
#ifdef USE_DSHOT_DMAR
|
||||
if (useBurstDshot) {
|
||||
dmaRef = timerHardware->dmaTimUPRef;
|
||||
dmaChannel = timerHardware->dmaTimUPChannel;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue