From 3f0ce109ad96630097c9fbbc6d17100c9ebda117 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 7 Nov 2019 13:39:38 +0100 Subject: [PATCH] Fixes #7027 --- radio/src/gui/212x64/menus.h | 2 +- radio/src/gui/gui_common.cpp | 3 +++ radio/src/myeeprom.h | 2 +- radio/src/telemetry/multi.cpp | 5 ++--- radio/src/trainer.cpp | 11 +++++------ 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/radio/src/gui/212x64/menus.h b/radio/src/gui/212x64/menus.h index cbbd43fd1..24da83e0f 100644 --- a/radio/src/gui/212x64/menus.h +++ b/radio/src/gui/212x64/menus.h @@ -54,7 +54,7 @@ void menuTraceBuffer(event_t event); enum MenuRadioIndexes { MENU_RADIO_SETUP, MENU_RADIO_SD_MANAGER, -#if defined(LUA) || defined(PXX2) +#if defined(LUA) || defined(PXX2) || defined(MULTIMODULE) MENU_RADIO_TOOLS, #endif MENU_RADIO_SPECIAL_FUNCTIONS, diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index 9b95c68dc..497bd5880 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -727,6 +727,9 @@ bool isTrainerModeAvailable(int mode) #if defined(PCBTARANIS) && !defined(TRAINER_BATTERY_COMPARTMENT) if (mode == TRAINER_MODE_MASTER_BATTERY_COMPARTMENT) return false; +#elif defined(PCBTARANIS) + if (mode == TRAINER_MODE_MASTER_BATTERY_COMPARTMENT) + return g_eeGeneral.auxSerialMode == UART_MODE_SBUS_TRAINER; #endif #if defined(PCBX9E) diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index dcd7e20d9..952e94770 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -38,7 +38,7 @@ #define HAS_WIRELESS_TRAINER_HARDWARE() (g_eeGeneral.auxSerialMode==UART_MODE_SBUS_TRAINER) #elif defined(PCBTARANIS) #define IS_TRAINER_EXTERNAL_MODULE() (g_model.trainerData.mode == TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE || g_model.trainerData.mode == TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE) - #define HAS_WIRELESS_TRAINER_HARDWARE() (g_eeGeneral.auxSerialMode==UART_MODE_SBUS_TRAINER) + #define HAS_WIRELESS_TRAINER_HARDWARE() (g_eeGeneral.auxSerialMode == UART_MODE_SBUS_TRAINER) #else #define IS_TRAINER_EXTERNAL_MODULE() false #endif diff --git a/radio/src/telemetry/multi.cpp b/radio/src/telemetry/multi.cpp index ec6bdef8d..c07a98494 100644 --- a/radio/src/telemetry/multi.cpp +++ b/radio/src/telemetry/multi.cpp @@ -257,9 +257,8 @@ static void processMultiRxChannels(const uint8_t * data, uint8_t len) uint8_t bitsavailable = 0; uint8_t byteIdx = 4; - while(ch < maxCh) { - - while((bitsavailable < MULTI_CHAN_BITS) && byteIdx < len) { + while (ch < maxCh) { + while (bitsavailable < MULTI_CHAN_BITS && byteIdx < len) { bits |= (uint32_t)(data[byteIdx++]) << (uint32_t)bitsavailable; bitsavailable += 8; } diff --git a/radio/src/trainer.cpp b/radio/src/trainer.cpp index 7761645ba..0af1901b7 100644 --- a/radio/src/trainer.cpp +++ b/radio/src/trainer.cpp @@ -115,15 +115,14 @@ void checkTrainerSettings() #if defined(TRAINER_BATTERY_COMPARTMENT) case TRAINER_MODE_MASTER_BATTERY_COMPARTMENT: - if (g_eeGeneral.auxSerialMode == UART_MODE_SBUS_TRAINER) { + if (g_eeGeneral.auxSerialMode == UART_MODE_SBUS_TRAINER) auxSerialSbusInit(); - break; - } - // no break + else + init_trainer_capture(); + break; #endif - default: - // master is default + case TRAINER_MODE_MASTER_TRAINER_JACK: init_trainer_capture(); break; }