From 77b754fb265e48e96c3c5c4b0c4c0a186c3612d7 Mon Sep 17 00:00:00 2001 From: 3djc Date: Mon, 18 Feb 2019 11:47:01 +0100 Subject: [PATCH] reg 2.0 --- radio/src/gui/128x64/model_setup.cpp | 10 ++++++---- radio/src/pulses/pxx2.cpp | 4 ++-- radio/src/pulses/pxx2.h | 3 ++- radio/src/telemetry/telemetry.cpp | 6 +++--- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 9bef72e67..38e042dd4 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -285,7 +285,7 @@ void runPopupRegister(event_t event) } else if (menuHorizontalPosition == 0) { // [Enter] pressed - moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_REGISTER; + reusableBuffer.modelSetup.pxx2.registerStep = REGISTER_RX_NAME_SELECTED; } // no break @@ -1121,23 +1121,25 @@ void menuModelSetup(event_t event) break; case ITEM_MODEL_INTERNAL_MODULE_PXX2_RANGE_REGISTER: + TRACE("Phase %d Mode : %d", reusableBuffer.modelSetup.pxx2.registerStep, moduleSettings[INTERNAL_MODULE].mode); lcdDrawTextAlignedLeft(y, INDENT "Module"); lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, STR_MODULE_RANGE, (menuHorizontalPosition==0 ? attr : 0) ); lcdDrawText(lcdLastRightPos, y, "[Reg]", (menuHorizontalPosition==1 ? attr : 0) ); if (attr) { if (moduleSettings[INTERNAL_MODULE].mode == MODULE_MODE_NORMAL && s_editMode > 0) { - if (menuHorizontalPosition == 1) { + if (menuHorizontalPosition == 1 && reusableBuffer.modelSetup.pxx2.registerStep < REGISTER_RX_NAME_SELECTED) { + moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_REGISTER; reusableBuffer.modelSetup.pxx2.registerPopupVerticalPosition = 0; reusableBuffer.modelSetup.pxx2.registerPopupHorizontalPosition = 0; reusableBuffer.modelSetup.pxx2.registerPopupEditMode = 0; s_editMode = 0; POPUP_INPUT("", runPopupRegister); } - else { + else if (menuHorizontalPosition == 0 && s_editMode > 0) { moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_RANGECHECK; } } - if (s_editMode == 0) { + if (s_editMode == 0 && warningText == 0) { moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_NORMAL; } } diff --git a/radio/src/pulses/pxx2.cpp b/radio/src/pulses/pxx2.cpp index f8950455a..1495d8f65 100644 --- a/radio/src/pulses/pxx2.cpp +++ b/radio/src/pulses/pxx2.cpp @@ -58,10 +58,10 @@ bool Pxx2Pulses::setupRegisterFrame(uint8_t module) { addFrameType(PXX2_TYPE_C_MODULE, PXX2_TYPE_ID_REGISTER); - if (reusableBuffer.modelSetup.pxx2.registerStep == REGISTER_COUNTER_ID_RECEIVED) { + if (reusableBuffer.modelSetup.pxx2.registerStep == REGISTER_RX_NAME_SELECTED) { Pxx2Transport::addByte(0x01); for (uint8_t i=0; i