diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index db46986bb..cee207093 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -536,6 +536,15 @@ bool isPxx2IsrmChannelsCountAllowed(int channels) } #endif +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) + return true; +#endif + return false; +} + bool isModuleUsingSport(uint8_t moduleBay, uint8_t moduleType) { switch (moduleType) { @@ -644,7 +653,7 @@ bool isExternalModuleAvailable(int moduleType) #endif #if defined(HARDWARE_INTERNAL_MODULE) - if (isModuleUsingSport(EXTERNAL_MODULE, moduleType) && isModuleUsingSport(INTERNAL_MODULE, g_model.moduleData[INTERNAL_MODULE].type)) + if ((isModuleUsingSport(EXTERNAL_MODULE, moduleType) || isTrainerUsingModuleBay()) && isModuleUsingSport(INTERNAL_MODULE, g_model.moduleData[INTERNAL_MODULE].type)) return false; #endif diff --git a/radio/src/gui/gui_common.h b/radio/src/gui/gui_common.h index b941d2ec9..16f5ac397 100644 --- a/radio/src/gui/gui_common.h +++ b/radio/src/gui/gui_common.h @@ -62,6 +62,7 @@ bool isSwitchAvailableInTimers(int swtch); bool isR9MModeAvailable(int mode); bool isPxx2IsrmChannelsCountAllowed(int channels); bool isModuleUsingSport(uint8_t moduleBay, uint8_t moduleType); +bool isTrainerUsingModuleBay(); bool isExternalModuleAvailable(int moduleType); bool isInternalModuleAvailable(int moduleType); bool isRfProtocolAvailable(int protocol);