From 8266948e098c4bb1f006f319554f634beb92cc52 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Mon, 19 Jul 2021 13:15:25 +0200 Subject: [PATCH] Use static table to determine the existence of channel mapping option --- radio/src/gui/colorlcd/model_setup.cpp | 2 +- radio/src/gui/gui_common.h | 24 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/radio/src/gui/colorlcd/model_setup.cpp b/radio/src/gui/colorlcd/model_setup.cpp index 783fc656e..f045fabfc 100644 --- a/radio/src/gui/colorlcd/model_setup.cpp +++ b/radio/src/gui/colorlcd/model_setup.cpp @@ -793,7 +793,7 @@ class ModuleWindow : public FormGroup { GET_SET_DEFAULT( g_model.moduleData[moduleIdx].multi.disableTelemetry)); - if (MULTI_DISABLE_CHAN_MAP_ROW(moduleIdx) != HIDDEN_ROW) { + if (MULTI_DISABLE_CHAN_MAP_ROW_STATIC(moduleIdx) != HIDDEN_ROW) { // Disable channel mapping grid.nextLine(); new StaticText(this, grid.getLabelSlot(true), STR_DISABLE_CH_MAP); diff --git a/radio/src/gui/gui_common.h b/radio/src/gui/gui_common.h index dff36d222..e59b5df57 100644 --- a/radio/src/gui/gui_common.h +++ b/radio/src/gui/gui_common.h @@ -220,6 +220,21 @@ inline uint8_t IF_ALLOW_RACING_MODE(int) #endif #if defined(MULTIMODULE) +inline uint8_t MULTI_DISABLE_CHAN_MAP_ROW_STATIC(uint8_t moduleIdx) +{ + if (!isModuleMultimodule(moduleIdx)) + return HIDDEN_ROW; + + uint8_t protocol = g_model.moduleData[moduleIdx].getMultiProtocol(); + if (protocol < MODULE_SUBTYPE_MULTI_LAST) { + const mm_protocol_definition * pdef = getMultiProtocolDefinition(protocol); + if (pdef->disable_ch_mapping) + return 0; + } + + return HIDDEN_ROW; +} + inline uint8_t MULTI_DISABLE_CHAN_MAP_ROW(uint8_t moduleIdx) { if (!isModuleMultimodule(moduleIdx)) @@ -230,14 +245,7 @@ inline uint8_t MULTI_DISABLE_CHAN_MAP_ROW(uint8_t moduleIdx) return status.supportsDisableMapping() == true ? 0 : HIDDEN_ROW; } - uint8_t protocol = g_model.moduleData[moduleIdx].getMultiProtocol(); - if (protocol < MODULE_SUBTYPE_MULTI_LAST) { - const mm_protocol_definition * pdef = getMultiProtocolDefinition(protocol); - if (pdef->disable_ch_mapping) - return 0; - } - - return HIDDEN_ROW; + return MULTI_DISABLE_CHAN_MAP_ROW_STATIC(moduleIdx); } inline bool isMultiProtocolSelectable(int protocol)