Fix DMA SBUS trainer on colorlcd

This commit is contained in:
3djc
2020-12-20 13:54:12 +01:00
parent a95df47384
commit bab16c912b
3 changed files with 11 additions and 12 deletions
@@ -213,10 +213,6 @@ extern "C" void AUX_SERIAL_USART_IRQHandler(void)
#if defined(LUA) & !defined(CLI)
if (luaRxFifo && auxSerialMode == UART_MODE_LUA)
luaRxFifo->push(data);
#endif
#if !defined(BOOT)
if (auxSerialMode == UART_MODE_SBUS_TRAINER)
trainerSbusFifo.push(data);
#endif
}
status = AUX_SERIAL_USART->SR;
@@ -328,7 +324,7 @@ void aux2SerialInit(unsigned int mode, unsigned int protocol)
break;
case UART_MODE_SBUS_TRAINER:
aux2SerialSetup(SBUS_BAUDRATE, false, USART_WordLength_9b, USART_Parity_Even, USART_StopBits_2); // 2 stop bits requires USART_WordLength_9b
aux2SerialSetup(SBUS_BAUDRATE, true, USART_WordLength_9b, USART_Parity_Even, USART_StopBits_2); // 2 stop bits requires USART_WordLength_9b
AUX2_SERIAL_POWER_ON();
break;
@@ -415,11 +411,6 @@ extern "C" void AUX2_SERIAL_USART_IRQHandler(void)
if (luaRxFifo && aux2SerialMode == UART_MODE_LUA) {
luaRxFifo->push(data);
}
#endif
#if !defined(BOOT)
if (aux2SerialMode == UART_MODE_SBUS_TRAINER) {
trainerSbusFifo.push(data);
}
#endif
}
status = AUX2_SERIAL_USART->SR;
+1
View File
@@ -713,6 +713,7 @@ void bluetoothDisable();
extern DMAFifo<512> telemetryFifo;
typedef DMAFifo<32> AuxSerialRxFifo;
extern AuxSerialRxFifo auxSerialRxFifo;
extern AuxSerialRxFifo aux2SerialRxFifo;
extern volatile uint32_t externalModulePort;
#endif
+9 -2
View File
@@ -160,9 +160,16 @@ extern "C" void TRAINER_TIMER_IRQHandler()
int sbusGetByte(uint8_t * byte)
{
switch (currentTrainerMode) {
#if defined(AUX_SERIAL)
#if defined(AUX_SERIAL) || defined(AUX2_SERIAL)
case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT:
return trainerSbusFifo.pop(*byte);
#if defined(AUX_SERIAL)
if (auxSerialMode == UART_MODE_SBUS_TRAINER)
return auxSerialRxFifo.pop(*byte);
#endif
#if defined(AUX2_SERIAL)
if (aux2SerialMode == UART_MODE_SBUS_TRAINER)
return aux2SerialRxFifo.pop(*byte);
#endif
#endif
default:
return false;