1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-14 20:10:18 +03:00

Fix DSHOT on G4

This commit is contained in:
Steve Evans 2021-12-24 01:49:26 +00:00
parent 4bc7a2c7fa
commit b701b89a7c
2 changed files with 11 additions and 5 deletions

View file

@ -622,8 +622,14 @@ static void bbUpdateComplete(void)
bbPort->inputActive = false; bbPort->inputActive = false;
bbSwitchToOutput(bbPort); bbSwitchToOutput(bbPort);
} }
} } else
#endif #endif
{
#if defined(STM32G4)
// Using circular mode resets the counter one short, so explicitly reload
bbSwitchToOutput(bbPort);
#endif
}
bbDMA_Cmd(bbPort, ENABLE); bbDMA_Cmd(bbPort, ENABLE);
} }

View file

@ -156,10 +156,10 @@ static void bbSaveDMARegs(dmaResource_t *dmaResource, dmaRegCache_t *dmaRegCache
dmaRegCache->PAR = ((DMA_ARCH_TYPE *)dmaResource)->PAR; dmaRegCache->PAR = ((DMA_ARCH_TYPE *)dmaResource)->PAR;
dmaRegCache->M0AR = ((DMA_ARCH_TYPE *)dmaResource)->M0AR; dmaRegCache->M0AR = ((DMA_ARCH_TYPE *)dmaResource)->M0AR;
#elif defined(STM32G4) #elif defined(STM32G4)
((DMA_ARCH_TYPE *)dmaResource)->CCR = dmaRegCache->CCR; dmaRegCache->CCR = ((DMA_ARCH_TYPE *)dmaResource)->CCR;
((DMA_ARCH_TYPE *)dmaResource)->CNDTR = dmaRegCache->CNDTR; dmaRegCache->CNDTR = ((DMA_ARCH_TYPE *)dmaResource)->CNDTR;
((DMA_ARCH_TYPE *)dmaResource)->CPAR = dmaRegCache->CPAR; dmaRegCache->CPAR = ((DMA_ARCH_TYPE *)dmaResource)->CPAR;
((DMA_ARCH_TYPE *)dmaResource)->CMAR = dmaRegCache->CMAR; dmaRegCache->CMAR = ((DMA_ARCH_TYPE *)dmaResource)->CMAR;
#else #else
#error MCU dependent code required #error MCU dependent code required
#endif #endif