diff --git a/radio/src/gui/colorlcd/model_setup.cpp b/radio/src/gui/colorlcd/model_setup.cpp index 0f3edab98..736d4c4e7 100644 --- a/radio/src/gui/colorlcd/model_setup.cpp +++ b/radio/src/gui/colorlcd/model_setup.cpp @@ -1188,7 +1188,7 @@ class ModuleWindow : public FormGroup { bindButton = new TextButton(this, grid.getFieldSlot(2 + thirdColumn, 0 + thirdColumn), STR_MODULE_BIND); bindButton->setPressHandler([=]() -> uint8_t { if (moduleState[moduleIdx].mode == MODULE_MODE_RANGECHECK) { - rangeButton->check(false); + if (rangeButton) rangeButton->check(false); } if (moduleState[moduleIdx].mode == MODULE_MODE_BIND) { moduleState[moduleIdx].mode = MODULE_MODE_NORMAL; @@ -1226,8 +1226,11 @@ class ModuleWindow : public FormGroup { #endif }); - rangeButton = new TextButton(this, grid.getFieldSlot(2 + thirdColumn, 1 + thirdColumn), STR_MODULE_RANGE); - rangeButton->setPressHandler([=]() -> uint8_t { + if (isModuleRangeAvailable(moduleIdx)) { + rangeButton = new TextButton( + this, grid.getFieldSlot(2 + thirdColumn, 1 + thirdColumn), + STR_MODULE_RANGE); + rangeButton->setPressHandler([=]() -> uint8_t { if (moduleState[moduleIdx].mode == MODULE_MODE_BIND) { bindButton->check(false); moduleState[moduleIdx].mode = MODULE_MODE_NORMAL; @@ -1235,8 +1238,7 @@ class ModuleWindow : public FormGroup { if (moduleState[moduleIdx].mode == MODULE_MODE_RANGECHECK) { moduleState[moduleIdx].mode = MODULE_MODE_NORMAL; return 0; - } - else { + } else { moduleState[moduleIdx].mode = MODULE_MODE_RANGECHECK; auto rssiDialog = new DynamicMessageDialog( this, "Range Test", @@ -1253,7 +1255,8 @@ class ModuleWindow : public FormGroup { }); return 1; } - }); + }); + } } grid.nextLine(); diff --git a/radio/src/pulses/modules_helpers.h b/radio/src/pulses/modules_helpers.h index c0ec6f4f6..24101f103 100644 --- a/radio/src/pulses/modules_helpers.h +++ b/radio/src/pulses/modules_helpers.h @@ -611,7 +611,7 @@ inline bool isModuleRangeAvailable(uint8_t moduleIdx) { return isModuleBindRangeAvailable(moduleIdx) && !IS_RX_MULTI(moduleIdx) - && !isModuleAFHDS3(moduleIdx); + && !isModuleFlySky(moduleIdx); } constexpr uint8_t MAX_RXNUM = 63;