diff --git a/radio/src/gui/gui_common_arm.cpp b/radio/src/gui/gui_common_arm.cpp index 0355166d0..8e076a050 100644 --- a/radio/src/gui/gui_common_arm.cpp +++ b/radio/src/gui/gui_common_arm.cpp @@ -530,8 +530,15 @@ bool isInternalModuleAvailable(int module) if (module == MODULE_TYPE_NONE) return true; - if ((module == (IS_PXX2_INTERNAL_ENABLED() ? MODULE_TYPE_XJT2 : MODULE_TYPE_XJT)) && !isModulePXX2(EXTERNAL_MODULE)) +#if defined(PXX1) + if (module == MODULE_TYPE_XJT) + return !isModulePXX(EXTERNAL_MODULE); +#endif + +#if defined(PXX2) + if (module == MODULE_TYPE_XJT2) return true; +#endif return false; } @@ -539,7 +546,7 @@ bool isInternalModuleAvailable(int module) bool isExternalModuleAvailable(int module) { #if !defined(PXX1) - if (module == MODULE_TYPE_XJT) { + if (module == MODULE_TYPE_XJT || module == MODULE_TYPE_R9M) { return false; } #endif @@ -568,10 +575,10 @@ bool isExternalModuleAvailable(int module) } #endif #if defined(PCBTARANIS) || defined(PCBHORUS) - if (module == MODULE_TYPE_R9M && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) { + if (module == MODULE_TYPE_R9M && g_model.moduleData[INTERNAL_MODULE].type == MODULE_TYPE_XJT) { return false; } - if (module == MODULE_TYPE_XJT && g_model.moduleData[INTERNAL_MODULE].type != MODULE_TYPE_NONE) { + if (module == MODULE_TYPE_XJT && g_model.moduleData[INTERNAL_MODULE].type == MODULE_TYPE_XJT) { return false; } #endif diff --git a/radio/src/pulses/modules.h b/radio/src/pulses/modules.h index bf805e9ba..a2ee9e3b0 100644 --- a/radio/src/pulses/modules.h +++ b/radio/src/pulses/modules.h @@ -174,7 +174,7 @@ inline bool isModuleR9M_AU_PLUS(uint8_t idx) inline bool isModulePXX(uint8_t idx) { - return isModuleXJT(idx); + return isModuleXJT(idx) || isModuleR9M(idx); } inline bool isModulePXX2(uint8_t idx)