@@ -554,7 +554,7 @@ bool isPxx2IsrmChannelsCountAllowed(int channels)
|
||||
bool isTrainerUsingModuleBay()
|
||||
{
|
||||
#if defined(PCBTARANIS)
|
||||
if (TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE <= g_model.trainerData.mode && g_model.trainerData.mode <= TRAINER_MODE_MASTER_BATTERY_COMPARTMENT)
|
||||
if (TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE <= g_model.trainerData.mode && g_model.trainerData.mode <= TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE)
|
||||
return true;
|
||||
#endif
|
||||
return false;
|
||||
|
||||
@@ -128,7 +128,7 @@ void auxSerialInit(unsigned int mode, unsigned int protocol)
|
||||
break;
|
||||
|
||||
case UART_MODE_SBUS_TRAINER:
|
||||
auxSerialSetup(SBUS_BAUDRATE, false, USART_WordLength_9b, USART_Parity_Even, USART_StopBits_2); // 2 stop bits requires USART_WordLength_9b
|
||||
auxSerialSetup(SBUS_BAUDRATE, true, USART_WordLength_9b, USART_Parity_Even, USART_StopBits_2); // 2 stop bits requires USART_WordLength_9b
|
||||
AUX_SERIAL_POWER_ON();
|
||||
break;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
+11
-8
@@ -26,8 +26,8 @@ uint8_t currentTrainerMode = 0xff;
|
||||
|
||||
void checkTrainerSignalWarning()
|
||||
{
|
||||
enum PpmInValidState_t {
|
||||
PPM_IN_IS_NOT_USED=0,
|
||||
enum {
|
||||
PPM_IN_IS_NOT_USED = 0,
|
||||
PPM_IN_IS_VALID,
|
||||
PPM_IN_INVALID
|
||||
};
|
||||
@@ -137,17 +137,20 @@ void checkTrainerSettings()
|
||||
#if defined(TRAINER_BATTERY_COMPARTMENT)
|
||||
case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT:
|
||||
#if defined(AUX_SERIAL)
|
||||
if (g_eeGeneral.auxSerialMode == UART_MODE_SBUS_TRAINER)
|
||||
if (g_eeGeneral.auxSerialMode == UART_MODE_SBUS_TRAINER) {
|
||||
auxSerialSbusInit();
|
||||
else
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(AUX2_SERIAL)
|
||||
if (g_eeGeneral.aux2SerialMode == UART_MODE_SBUS_TRAINER)
|
||||
if (g_eeGeneral.aux2SerialMode == UART_MODE_SBUS_TRAINER) {
|
||||
aux2SerialSbusInit();
|
||||
else
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
init_trainer_capture();
|
||||
break;
|
||||
|
||||
// no break
|
||||
#endif
|
||||
|
||||
case TRAINER_MODE_MASTER_TRAINER_JACK:
|
||||
|
||||
Reference in New Issue
Block a user