diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 0c717c408..ffb2b2be1 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -435,7 +435,6 @@ PACK(struct ModuleData { struct { uint8_t failsafeMode:4; // only 3 bits used uint8_t freq:2; - uint8_t region:2; } r9m; }; diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index bee5dd2b0..a1a88ec2b 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -187,7 +187,7 @@ enum MenuModelSetupItems { #define EXTERNAL_MODULE_MODE_ROWS (isModuleXJT(EXTERNAL_MODULE) || isModuleR9M(EXTERNAL_MODULE) || isModuleDSM2(EXTERNAL_MODULE) || isModuleMultimodule(EXTERNAL_MODULE)) ? (uint8_t)1 : (uint8_t)0 -#define EXTERNAL_MODULE_FREQ_ROW isR9MMFlex(EXTERNAL_MODULE) ? (uint8_t)1: (uint8_t)HIDDEN_ROW, +#define EXTERNAL_MODULE_FREQ_ROW (isModuleR9M_EUPLUS(EXTERNAL_MODULE) || isModuleR9M_AU_PLUS(EXTERNAL_MODULE)) ? (uint8_t)1: (uint8_t)HIDDEN_ROW, #define CURSOR_ON_CELL (true) diff --git a/radio/src/gui/gui_common.cpp b/radio/src/gui/gui_common.cpp index c221e291d..588f3ca01 100644 --- a/radio/src/gui/gui_common.cpp +++ b/radio/src/gui/gui_common.cpp @@ -530,13 +530,13 @@ bool isR9MModeAvailable(int mode) #else bool isR9MModeAvailable(int mode) { - return mode <= MODULE_SUBTYPE_R9M_EUPLUS; +#if defined(MODULE_R9M_FLEX_FW) + return mode < MODULE_SUBTYPE_R9M_EUPLUS; +#else + return true; +#endif } #endif -bool isR9MMFlex(int module) -{ - return g_model.moduleData[module].r9m.region == MODULE_R9M_REGION_FLEX; -} bool isPXX2ChannelsCountAllowed(int channels) { diff --git a/radio/src/gui/gui_common.h b/radio/src/gui/gui_common.h index 4ad258cfd..929c1c24f 100644 --- a/radio/src/gui/gui_common.h +++ b/radio/src/gui/gui_common.h @@ -54,7 +54,6 @@ bool isSwitchAvailableInCustomFunctions(int swtch); bool isSwitchAvailableInMixes(int swtch); bool isSwitchAvailableInTimers(int swtch); bool isR9MModeAvailable(int mode); -bool isR9MMFlex(int module); bool isPXX2ChannelsCountAllowed(int channels); bool isExternalModuleAvailable(int moduleType); bool isInternalModuleAvailable(int module); @@ -159,11 +158,7 @@ const mm_protocol_definition *getMultiProtocolDefinition (uint8_t protocol); #define FAILSAFE_ROWS(x) ((isModuleXJTVariant(x) && HAS_RF_PROTOCOL_FAILSAFE(g_model.moduleData[x].rfProtocol)) || MULTIMODULE_HASFAILSAFE(x) || isModuleR9M(x) || isModuleR9M2(x)) ? (g_model.moduleData[x].failsafeMode==FAILSAFE_CUSTOM ? (uint8_t)1 : (uint8_t)0) : HIDDEN_ROW -#if defined(PCBXLITE) - #define EXTERNAL_MODULE_OPTION_ROW (isModuleR9M(EXTERNAL_MODULE) || isModuleSBUS(EXTERNAL_MODULE) ? TITLE_ROW : MULTIMODULE_OPTIONS_ROW) -#else - #define EXTERNAL_MODULE_OPTION_ROW (isModuleR9M(EXTERNAL_MODULE) || isModuleSBUS(EXTERNAL_MODULE) ? TITLE_ROW : MULTIMODULE_OPTIONS_ROW) -#endif +#define EXTERNAL_MODULE_OPTION_ROW (isModuleR9M(EXTERNAL_MODULE) || isModuleSBUS(EXTERNAL_MODULE) ? TITLE_ROW : MULTIMODULE_OPTIONS_ROW) #if defined(PCBXLITE) && !defined(MODULE_R9M_FULLSIZE) #define EXTERNAL_MODULE_POWER_ROW (isModuleMultimodule(EXTERNAL_MODULE) || isModuleR9M(EXTERNAL_MODULE)) ? (isModuleR9M_FCC_VARIANT(EXTERNAL_MODULE) ? TITLE_ROW : (uint8_t) 0) : HIDDEN_ROW diff --git a/radio/src/pulses/modules.h b/radio/src/pulses/modules.h index 8113cabbd..b26a4d197 100644 --- a/radio/src/pulses/modules.h +++ b/radio/src/pulses/modules.h @@ -112,7 +112,7 @@ inline bool isModuleR9M2(uint8_t idx) return g_model.moduleData[idx].type == MODULE_TYPE_R9M2 || g_model.moduleData[idx].type == MODULE_TYPE_R9M_LITE2 || g_model.moduleData[idx].type == MODULE_TYPE_R9M_LITE_PRO2; } -#if defined(PCBXLITE) + inline bool isModuleR9M_FCC(uint8_t idx) { return isModuleR9M(idx) && g_model.moduleData[idx].subType == MODULE_SUBTYPE_R9M_FCC; @@ -130,39 +130,13 @@ inline bool isModuleR9M_FCC_VARIANT(uint8_t idx) inline bool isModuleR9M_EUPLUS(uint8_t idx) { - return isModuleR9M(idx) && g_model.moduleData[idx].subType != MODULE_SUBTYPE_R9M_EUPLUS; + return isModuleR9M(idx) && g_model.moduleData[idx].subType == MODULE_SUBTYPE_R9M_EUPLUS; } inline bool isModuleR9M_AU_PLUS(uint8_t idx) { - return isModuleR9M(idx) && g_model.moduleData[idx].subType != MODULE_SUBTYPE_R9M_AUPLUS; + return isModuleR9M(idx) && g_model.moduleData[idx].subType == MODULE_SUBTYPE_R9M_AUPLUS; } -#else -inline bool isModuleR9M_FCC(uint8_t idx) -{ - return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region == MODULE_R9M_REGION_FCC; -} - -inline bool isModuleR9M_LBT(uint8_t idx) -{ - return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region == MODULE_R9M_REGION_EU; -} - -inline bool isModuleR9M_FCC_VARIANT(uint8_t idx) -{ - return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region != MODULE_R9M_REGION_EU; -} - -inline bool isModuleR9M_EUPLUS(uint8_t idx) -{ - return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region == MODULE_R9M_REGION_FLEX && g_model.moduleData[idx].r9m.freq == MODULE_R9M_FREQ_868MHZ; -} - -inline bool isModuleR9M_AU_PLUS(uint8_t idx) -{ - return isModuleR9M(idx) && g_model.moduleData[idx].r9m.region == MODULE_R9M_REGION_FLEX && g_model.moduleData[idx].r9m.freq == MODULE_R9M_FREQ_915MHZ; -} -#endif inline bool isModulePXX(uint8_t idx) { diff --git a/radio/src/pulses/pulses.h b/radio/src/pulses/pulses.h index 4ab767adf..db4049947 100644 --- a/radio/src/pulses/pulses.h +++ b/radio/src/pulses/pulses.h @@ -352,8 +352,8 @@ enum R9MLBTPowerValues { #else -#define LEN_R9M_REGION "\004" -#define TR_R9M_REGION "FCC\0""EU\0 ""FLEX" +#define LEN_R9M_REGION "\006" +#define TR_R9M_REGION "FCC\0""EU\0 ""868MHz""915MHz" #define LEN_R9MFLEX_FREQ "\006" #define TR_R9MFLEX_FREQ "868Mhz""915Mhz" #define LEN_R9M_FCC_POWER_VALUES "\006"