From 573985e2effda8fbfbb7fb1d5558b8ed66ba810d Mon Sep 17 00:00:00 2001 From: 3djc Date: Mon, 16 Dec 2019 17:59:41 +0100 Subject: [PATCH] Improve a bit --- radio/src/gui/128x64/model_setup.cpp | 2 +- radio/src/gui/212x64/model_setup.cpp | 2 +- radio/src/gui/colorlcd/model_setup.cpp | 14 ++++---------- radio/src/telemetry/multi.cpp | 10 +++++++--- radio/src/telemetry/multi.h | 2 +- 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index dd5503655..7c63dabdc 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -1328,7 +1328,7 @@ void menuModelSetup(event_t event) uint8_t newFlag = 0; #if defined(MULTIMODULE) if (getMultiBindStatus(moduleIdx) == MULTI_BIND_FINISHED) { - setMultiBindStatus(moduleIdx, MULTI_NORMAL_OPERATION); + setMultiBindStatus(moduleIdx, MULTI_BIND_NONE); s_editMode = 0; } #endif diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index aeefd9885..d1b08116d 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -1126,7 +1126,7 @@ void menuModelSetup(event_t event) uint8_t newFlag = 0; #if defined(MULTIMODULE) if (getMultiBindStatus(moduleIdx) == MULTI_BIND_FINISHED) { - setMultiBindStatus(moduleIdx, MULTI_NORMAL_OPERATION); + setMultiBindStatus(moduleIdx, MULTI_BIND_NONE); s_editMode = 0; } #endif diff --git a/radio/src/gui/colorlcd/model_setup.cpp b/radio/src/gui/colorlcd/model_setup.cpp index 4c186a431..e91111fef 100644 --- a/radio/src/gui/colorlcd/model_setup.cpp +++ b/radio/src/gui/colorlcd/model_setup.cpp @@ -715,17 +715,11 @@ class ModuleWindow : public FormGroup { if (moduleState[moduleIdx].mode != MODULE_MODE_BIND) { bindButton->check(false); } -#if !defined(INTERNAL_MODULE_MULTI) - if (moduleIdx == EXTERNAL_MODULE) { -#endif - if (getMultiBindStatus(moduleIdx) == MULTI_BIND_FINISHED) { - setMultiBindStatus(moduleIdx, MULTI_NORMAL_OPERATION); - moduleState[moduleIdx].mode = MODULE_MODE_NORMAL; - bindButton->check(false); - } -#if !defined(INTERNAL_MODULE_MULTI) + if (getMultiBindStatus(moduleIdx) == MULTI_BIND_FINISHED) { + setMultiBindStatus(moduleIdx, MULTI_BIND_NONE); + moduleState[moduleIdx].mode = MODULE_MODE_NORMAL; + bindButton->check(false); } -#endif }); rangeButton = new TextButton(this, grid.getFieldSlot(2+thirdColumn, 1+thirdColumn), STR_MODULE_RANGE); diff --git a/radio/src/telemetry/multi.cpp b/radio/src/telemetry/multi.cpp index 0a050c449..160823201 100644 --- a/radio/src/telemetry/multi.cpp +++ b/radio/src/telemetry/multi.cpp @@ -63,7 +63,7 @@ enum MultiBufferState : uint8_t static MultiModuleStatus multiModuleStatus[NUM_MODULES] = {MultiModuleStatus(), MultiModuleStatus()}; static MultiModuleSyncStatus multiSyncStatus[NUM_MODULES] = {MultiModuleSyncStatus(), MultiModuleSyncStatus()}; -static uint8_t multiBindStatus[NUM_MODULES] = {MULTI_NORMAL_OPERATION, MULTI_NORMAL_OPERATION}; +static uint8_t multiBindStatus[NUM_MODULES] = {MULTI_BIND_NONE, MULTI_BIND_NONE}; static MultiBufferState multiTelemetryBufferState[NUM_MODULES]; static uint16_t multiTelemetryLastRxTS[NUM_MODULES]; @@ -111,7 +111,7 @@ uint8_t intTelemetryRxBufferCount; static MultiModuleStatus multiModuleStatus; static MultiModuleSyncStatus multiSyncStatus; -static uint8_t multiBindStatus = MULTI_NORMAL_OPERATION; +static uint8_t multiBindStatus = MULTI_BIND_NONE; static MultiBufferState multiTelemetryBufferState; static uint16_t multiTelemetryLastRxTS; @@ -126,8 +126,12 @@ MultiModuleSyncStatus& getMultiSyncStatus(uint8_t) return multiSyncStatus; } -uint8_t getMultiBindStatus(uint8_t) +uint8_t getMultiBindStatus(uint8_t moduleIdx) { +#if !defined(INTERNAL_MODULE_MULTI) + if (moduleIdx == INTERNAL_MODULE) + return MULTI_BIND_NONE; +#endif return multiBindStatus; } diff --git a/radio/src/telemetry/multi.h b/radio/src/telemetry/multi.h index e9b9ada15..9c256ffb1 100644 --- a/radio/src/telemetry/multi.h +++ b/radio/src/telemetry/multi.h @@ -151,7 +151,7 @@ struct MultiModuleStatus { MultiModuleStatus& getMultiModuleStatus(uint8_t module); enum MultiBindStatus : uint8_t { - MULTI_NORMAL_OPERATION, + MULTI_BIND_NONE, MULTI_BIND_INITIATED, MULTI_BIND_FINISHED, };