From ffe4fe7e17f7662f9fd71b2c428f37d1777b5d3f Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Thu, 13 Oct 2022 01:33:51 +0200 Subject: [PATCH] fix: clear internal module FIFO after DMA init (#2527) Otherwise, NDTR will be 0 instead of [buffer size], and thus the read index will not be set to the correct value. --- radio/src/targets/common/arm/stm32/intmodule_serial_driver.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/radio/src/targets/common/arm/stm32/intmodule_serial_driver.cpp b/radio/src/targets/common/arm/stm32/intmodule_serial_driver.cpp index 291374385..58e8f6989 100755 --- a/radio/src/targets/common/arm/stm32/intmodule_serial_driver.cpp +++ b/radio/src/targets/common/arm/stm32/intmodule_serial_driver.cpp @@ -148,10 +148,10 @@ void* intmoduleSerialStart(const etx_serial_init* params) stm32_usart_init(&intmoduleUSART, params); - intmoduleCtx.rxFifo->clear(); if (params->rx_enable && intmoduleUSART.rxDMA) { stm32_usart_init_rx_dma(&intmoduleUSART, intmoduleFifo.buffer(), intmoduleFifo.size()); } + intmoduleCtx.rxFifo->clear(); return (void*)&intmoduleCtx; }