diff --git a/radio/src/gui/128x64/radio_version.cpp b/radio/src/gui/128x64/radio_version.cpp index 78d2a7294..31b9b6014 100644 --- a/radio/src/gui/128x64/radio_version.cpp +++ b/radio/src/gui/128x64/radio_version.cpp @@ -38,7 +38,7 @@ void menuRadioModulesVersion(event_t event) { TITLE("MODULES / RX VERSION"); - if (event == EVT_ENTRY) { + if (event == EVT_ENTRY || get_tmr10ms() >= reusableBuffer.hardware.updateTime) { menuVerticalOffset = 0; memclear(&reusableBuffer.hardware.modules, sizeof(reusableBuffer.hardware.modules)); @@ -50,6 +50,8 @@ void menuRadioModulesVersion(event_t event) #warning "Only do this if external module is ON" moduleSettings[EXTERNAL_MODULE].mode = MODULE_MODE_GET_HARDWARE_INFO; reusableBuffer.hardware.modules[EXTERNAL_MODULE].step = -1; + + reusableBuffer.hardware.updateTime = get_tmr10ms() + 1000 /* 10s*/; } coord_t y = (FH + 1) - menuVerticalOffset * FH; @@ -68,9 +70,9 @@ void menuRadioModulesVersion(event_t event) if (y >= MENU_BODY_TOP && y < MENU_BODY_BOTTOM) { lcdDrawText(INDENT_WIDTH, y, "Version"); if (reusableBuffer.hardware.modules[module].hw_version) { - lcdDrawNumber(10 * FW, y, reusableBuffer.hardware.modules[module].hw_version); + lcdDrawNumber(12 * FW, y, reusableBuffer.hardware.modules[module].hw_version, LEADING0, 3); lcdDrawText(lcdLastRightPos, y, "/"); - lcdDrawNumber(lcdLastRightPos, y, reusableBuffer.hardware.modules[module].sw_version); + lcdDrawNumber(lcdLastRightPos, y, reusableBuffer.hardware.modules[module].sw_version, LEADING0, 3); } } y += FH; @@ -81,9 +83,9 @@ void menuRadioModulesVersion(event_t event) if (y >= MENU_BODY_TOP && y < MENU_BODY_BOTTOM) { lcdDrawText(INDENT_WIDTH, y, "Receiver"); lcdDrawNumber(lcdLastRightPos + 2, y, receiver + 1); - lcdDrawNumber(10 * FW, y, reusableBuffer.hardware.modules[module].receivers[receiver].hw_version); + lcdDrawNumber(12 * FW, y, reusableBuffer.hardware.modules[module].receivers[receiver].hw_version, LEADING0, 3); lcdDrawText(lcdLastRightPos, y, "/"); - lcdDrawNumber(lcdLastRightPos, y, reusableBuffer.hardware.modules[module].receivers[receiver].sw_version); + lcdDrawNumber(lcdLastRightPos, y, reusableBuffer.hardware.modules[module].receivers[receiver].sw_version, LEADING0, 3); } y += FH; } diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 0257768bd..681ac3079 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -1494,7 +1494,7 @@ void doMixerCalculations() #if defined(MULTIMODULE) if ((moduleSettings[i].mode != MODULE_MODE_NORMAL && moduleSettings[i].mode != MODULE_MODE_SPECTRUM_ANALYSER) || (i == EXTERNAL_MODULE && multiModuleStatus.isBinding())) { #else - if (moduleSettings[i].mode != MODULE_MODE_NORMAL && moduleSettings[i].mode != MODULE_MODE_SPECTRUM_ANALYSER) { + if (moduleSettings[i].mode >= MODULE_MODE_BEEP_FIRST) { #endif if (++countRangecheck >= 250) { countRangecheck = 0; diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 2e8a5a866..2ad4ec6e6 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1179,6 +1179,7 @@ union ReusableBuffer uint32_t sw_version; } receivers[PXX2_MAX_RECEIVERS_PER_MODULE]; } modules[NUM_MODULES]; + uint32_t updateTime; } hardware; struct { diff --git a/radio/src/pulses/pulses.h b/radio/src/pulses/pulses.h index 1a12dd49f..352f0edaf 100644 --- a/radio/src/pulses/pulses.h +++ b/radio/src/pulses/pulses.h @@ -72,12 +72,13 @@ extern uint8_t s_pulses_paused; enum ModuleSettingsMode { MODULE_MODE_NORMAL, - MODULE_MODE_RANGECHECK, - MODULE_MODE_BIND, - MODULE_MODE_REGISTER, MODULE_MODE_SPECTRUM_ANALYSER, + MODULE_MODE_GET_HARDWARE_INFO, + MODULE_MODE_BEEP_FIRST, + MODULE_MODE_REGISTER = MODULE_MODE_BEEP_FIRST, + MODULE_MODE_BIND, MODULE_MODE_SHARE, - MODULE_MODE_GET_HARDWARE_INFO + MODULE_MODE_RANGECHECK, }; PACK(struct ModuleSettings {