diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index cbaa90cf4..13e37fec0 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -1484,15 +1484,9 @@ void menuModelSetup(event_t event) lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, optionValue, LEFT | attr); if (attr) { - if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, 0, 70); - } - else if (multi_proto == MODULE_SUBTYPE_MULTI_OLRS) { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -1, 7); - } - else { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); - } + uint8_t min, max; + getMultiOptionValues(multi_proto, min, max); + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, min, max); } } #endif diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index b8f373ee9..69897a0f6 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -1241,15 +1241,9 @@ void menuModelSetup(event_t event) lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, optionValue, LEFT | attr); if (attr) { - if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, 0, 70); - } - else if (multi_proto == MODULE_SUBTYPE_MULTI_OLRS) { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -1, 7); - } - else { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); - } + uint8_t min, max; + getMultiOptionValues(multi_proto, min, max); + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, min, max); } } #endif diff --git a/radio/src/gui/480x272/model_setup.cpp b/radio/src/gui/480x272/model_setup.cpp index ef2be344f..8f7c17ab9 100644 --- a/radio/src/gui/480x272/model_setup.cpp +++ b/radio/src/gui/480x272/model_setup.cpp @@ -1635,24 +1635,9 @@ bool menuModelSetup(event_t event) lcdDrawNumber(MODEL_SETUP_2ND_COLUMN, y, optionValue, LEFT | attr); if (attr) { - if (multi_proto == MODULE_SUBTYPE_MULTI_FS_AFHDS2A) { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, 0, 70); - } - else if (multi_proto == MODULE_SUBTYPE_MULTI_OLRS) { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -1, 7); - } - else if (multi_proto == MODULE_SUBTYPE_MULTI_DSM2) { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, 0, 1); - } - else if (multi_proto == MODULE_SUBTYPE_MULTI_BAYANG) { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, 0, 3); - } - else if (multi_proto == MODULE_SUBTYPE_MULTI_XN297DP) { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -1, 84); - } - else { - CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, -128, 127); - } + uint8_t min, max; + getMultiOptionValues(multi_proto, min, max); + CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].multi.optionValue, min, max); } } #endif diff --git a/radio/src/pulses/modules_helpers.h b/radio/src/pulses/modules_helpers.h index ecc3226d7..2b42d8175 100644 --- a/radio/src/pulses/modules_helpers.h +++ b/radio/src/pulses/modules_helpers.h @@ -558,6 +558,36 @@ inline void resetMultiProtocolsOptions(uint8_t moduleIdx) g_model.moduleData[moduleIdx].multi.disableMapping = 0; g_model.moduleData[moduleIdx].multi.lowPowerMode = 0; } + +inline void getMultiOptionValues(uint8_t multi_proto, uint8_t & min, uint8_t & max) +{ + switch (multi_proto) { + case MODULE_SUBTYPE_MULTI_DSM2: + min = 0; + max = 1; + break; + case MODULE_SUBTYPE_MULTI_BAYANG: + min = 0; + max = 3; + break; + case MODULE_SUBTYPE_MULTI_OLRS: + min = -1; + max = 7; + break; + case MODULE_SUBTYPE_MULTI_FS_AFHDS2A: + min = 0; + max = 70; + break; + case MODULE_SUBTYPE_MULTI_XN297DP: + min = -1; + max = 84; + break; + default: + min = -128; + max = 127; + break; + } +} #endif #endif // _MODULES_HELPERS_H_