diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index d280635e0..03b9dfc76 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -844,7 +844,7 @@ static inline void check_struct() /* Difference between Taranis/Horus is LEN_EXPOMIX_NAME */ /* LEN_FUNCTION_NAME is the difference in CustomFunctionData */ -#if defined(PCBX7) || defined(PCBXLITE) +#if defined(PCBX7) || defined(PCBXLITE) || defined(PCBX3) CHKSIZE(MixData, 20); CHKSIZE(ExpoData, 17); CHKSIZE(LimitData, 11); @@ -859,8 +859,6 @@ static inline void check_struct() CHKSIZE(FrSkyTelemetryData, 104); CHKSIZE(ModelHeader, 12); CHKSIZE(CurveData, 4); -#elif defined(PCBX3) - // TODO #elif defined(PCBTARANIS) CHKSIZE(MixData, 22); CHKSIZE(ExpoData, 19); @@ -925,7 +923,7 @@ static inline void check_struct() CHKSIZE(LogicalSwitchData, 9); CHKSIZE(TelemetrySensor, 13); - // TODO CHKSIZE(ModuleData,70); + CHKSIZE(ModuleData, 6); CHKSIZE(GVarData, 7); @@ -933,26 +931,26 @@ static inline void check_struct() CHKSIZE(TrainerData, 16); #if defined(PCBXLITES) - // TODO CHKSIZE(RadioData, 850); - // TODO CHKSIZE(ModelData, 6025); + CHKSIZE(RadioData, 858); + CHKSIZE(ModelData, 5940); #elif defined(PCBXLITE) - // TODO CHKSIZE(RadioData, 844); - // TODO CHKSIZE(ModelData, 6025); + CHKSIZE(RadioData, 852); + CHKSIZE(ModelData, 5940); #elif defined(PCBX7) -// TODO CHKSIZE(RadioData, 850); -// TODO CHKSIZE(ModelData, 6025); + CHKSIZE(RadioData, 858); + CHKSIZE(ModelData, 5940); #elif defined(PCBX9E) CHKSIZE(RadioData, 952); CHKSIZE(ModelData, 6520); #elif defined(PCBX9D) - // CHKSIZE(RadioData, 872); - // CHKSIZE(ModelData, 6507); + CHKSIZE(RadioData, 880); + CHKSIZE(ModelData, 6422); #elif defined(PCBSKY9X) CHKSIZE(RadioData, 727); CHKSIZE(ModelData, 5188); #elif defined(PCBHORUS) -// TODO CHKSIZE(RadioData, 847); -// TODO CHKSIZE(ModelData, 9380); + CHKSIZE(RadioData, 847); + CHKSIZE(ModelData, 9380); #endif #undef CHKSIZE diff --git a/radio/src/gui/212x64/lcd.cpp b/radio/src/gui/212x64/lcd.cpp index 104bbcc34..0ba2ef825 100644 --- a/radio/src/gui/212x64/lcd.cpp +++ b/radio/src/gui/212x64/lcd.cpp @@ -244,7 +244,7 @@ uint8_t getTextWidth(const char * s, uint8_t len, LcdFlags flags) { uint8_t width = 0; for (int i=0; len==0 || i= MIXSRC_FIRST_SWITCH) && (i <= MIXSRC_LAST_SWITCH)) { mixsrc_t sw = i-MIXSRC_FIRST_SWITCH; if (SWITCH_EXISTS(sw)) { - return (switchState(3*sw) ? -1024 : (switchState(3*sw+1) ? 0 : 1024)); + return (switchState(3*sw) ? -1024 : (IS_CONFIG_3POS(sw) && switchState(3*sw+1) ? 0 : 1024)); } else { return 0; diff --git a/radio/src/pulses/pulses.cpp b/radio/src/pulses/pulses.cpp index a4cb4b782..f5f1f50c6 100755 --- a/radio/src/pulses/pulses.cpp +++ b/radio/src/pulses/pulses.cpp @@ -275,7 +275,9 @@ void setupPulsesExternalModule(uint8_t protocol) extmodulePulsesData.pxx.setupFrame(EXTERNAL_MODULE); scheduleNextMixerCalculation(EXTERNAL_MODULE, PXX_PULSES_PERIOD); break; +#endif +#if defined(PXX1) && defined(EXTMODULE_USART) case PROTOCOL_CHANNELS_PXX1_SERIAL: extmodulePulsesData.pxx_uart.setupFrame(EXTERNAL_MODULE); scheduleNextMixerCalculation(EXTERNAL_MODULE, EXTMODULE_PXX_SERIAL_PERIOD); diff --git a/radio/src/targets/taranis/extmodule_driver.cpp b/radio/src/targets/taranis/extmodule_driver.cpp index ef1802368..8af3e842f 100644 --- a/radio/src/targets/taranis/extmodule_driver.cpp +++ b/radio/src/targets/taranis/extmodule_driver.cpp @@ -275,7 +275,9 @@ void extmoduleSendNextFrame() EXTMODULE_TIMER_DMA_STREAM->NDTR = extmodulePulsesData.pxx.getSize(); EXTMODULE_TIMER_DMA_STREAM->CR |= DMA_SxCR_EN | DMA_SxCR_TCIE; // Enable DMA break; +#endif +#if defined(PXX1) && defined(EXTMODULE_USART) case PROTOCOL_CHANNELS_PXX1_SERIAL: extmoduleSendBuffer(extmodulePulsesData.pxx_uart.getData(), extmodulePulsesData.pxx_uart.getSize()); break; diff --git a/radio/src/targets/taranis/pulses_driver.cpp b/radio/src/targets/taranis/pulses_driver.cpp index b09c1fff0..fd5853856 100644 --- a/radio/src/targets/taranis/pulses_driver.cpp +++ b/radio/src/targets/taranis/pulses_driver.cpp @@ -33,8 +33,10 @@ void init_pxx1_serial(uint8_t module) { if (module == INTERNAL_MODULE) intmodulePxxStart(); +#if defined(EXTMODULE_USART) else extmodulePxxSerialStart(); +#endif } void disable_pxx1_pulses(uint8_t module)