Always empty aux ports buffers (#7617)

* Always read serial aux ports

* Cosmetics
This commit is contained in:
3djc
2020-05-22 19:41:37 +02:00
committed by GitHub
parent 174e0b126d
commit bb40239f5d
@@ -196,31 +196,18 @@ extern "C" void AUX_SERIAL_USART_IRQHandler(void)
}
}
#endif
// Receive
uint32_t status = AUX_SERIAL_USART->SR;
while (status & (USART_FLAG_RXNE | USART_FLAG_ERRORS)) {
uint8_t data = AUX_SERIAL_USART->DR;
if (!(status & USART_FLAG_ERRORS)) {
#if defined(LUA) & !defined(CLI)
if (luaRxFifo && auxSerialMode == UART_MODE_LUA) {
// Receive
uint32_t status = AUX_SERIAL_USART->SR;
while (status & (USART_FLAG_RXNE | USART_FLAG_ERRORS)) {
uint8_t data = AUX_SERIAL_USART->DR;
if (!(status & USART_FLAG_ERRORS)) {
if (luaRxFifo && auxSerialMode == UART_MODE_LUA)
luaRxFifo->push(data);
}
status = AUX_SERIAL_USART->SR;
}
}
#if defined(AUX2_SERIAL)
if (luaRxFifo && aux2SerialMode == UART_MODE_LUA) {
// Receive
uint32_t status = AUX2_SERIAL_USART->SR;
while (status & (USART_FLAG_RXNE | USART_FLAG_ERRORS)) {
uint8_t data = AUX2_SERIAL_USART->DR;
if (!(status & USART_FLAG_ERRORS)) {
luaRxFifo->push(data);
}
status = AUX2_SERIAL_USART->SR;
}
}
#endif
}
status = AUX_SERIAL_USART->SR;
}
#endif
}
#endif
@@ -401,8 +388,21 @@ extern "C" void AUX2_SERIAL_USART_IRQHandler(void)
}
}
#endif
#if defined(AUX2_SERIAL)
// Receive
uint32_t status = AUX2_SERIAL_USART->SR;
while (status & (USART_FLAG_RXNE | USART_FLAG_ERRORS)) {
uint8_t data = AUX2_SERIAL_USART->DR;
if (!(status & USART_FLAG_ERRORS)) {
#if defined(LUA)
if (luaRxFifo && aux2SerialMode == UART_MODE_LUA)
luaRxFifo->push(data);
#endif
}
status = AUX2_SERIAL_USART->SR;
}
}
#endif
#endif
#endif // AUX_SERIAL
#endif // AUX_SERIAL