mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-23 05:24:46 -07:00
Fix premature RX interrupt during serial configuration
This commit is contained in:
@@ -730,6 +730,13 @@ static void furi_hal_serial_async_rx_configure(
|
|||||||
FuriHalSerialHandle* handle,
|
FuriHalSerialHandle* handle,
|
||||||
FuriHalSerialAsyncRxCallback callback,
|
FuriHalSerialAsyncRxCallback callback,
|
||||||
void* context) {
|
void* context) {
|
||||||
|
// Handle must be configured before enabling RX interrupt
|
||||||
|
// as it might be triggered right away on a misconfigured handle
|
||||||
|
furi_hal_serial[handle->id].rx_byte_callback = callback;
|
||||||
|
furi_hal_serial[handle->id].handle = handle;
|
||||||
|
furi_hal_serial[handle->id].rx_dma_callback = NULL;
|
||||||
|
furi_hal_serial[handle->id].context = context;
|
||||||
|
|
||||||
if(handle->id == FuriHalSerialIdUsart) {
|
if(handle->id == FuriHalSerialIdUsart) {
|
||||||
if(callback) {
|
if(callback) {
|
||||||
furi_hal_serial_usart_deinit_dma_rx();
|
furi_hal_serial_usart_deinit_dma_rx();
|
||||||
@@ -753,10 +760,6 @@ static void furi_hal_serial_async_rx_configure(
|
|||||||
LL_LPUART_DisableIT_RXNE_RXFNE(LPUART1);
|
LL_LPUART_DisableIT_RXNE_RXFNE(LPUART1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
furi_hal_serial[handle->id].rx_byte_callback = callback;
|
|
||||||
furi_hal_serial[handle->id].handle = handle;
|
|
||||||
furi_hal_serial[handle->id].rx_dma_callback = NULL;
|
|
||||||
furi_hal_serial[handle->id].context = context;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void furi_hal_serial_async_rx_start(
|
void furi_hal_serial_async_rx_start(
|
||||||
|
|||||||
Reference in New Issue
Block a user