diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 4eec6609f..cc3f2978d 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -254,8 +254,8 @@ enum MenuModelSetupItems { void onPXX2BindMenu(const char * result) { - reusableBuffer.modelSetup.pxx2.bindSelectedReceiverIndex = (result - reusableBuffer.modelSetup.pxx2.bindCandidateReceiversNames[0]) / sizeof(reusableBuffer.modelSetup.pxx2.bindCandidateReceiversNames[0]); - reusableBuffer.modelSetup.pxx2.bindStep = BIND_RX_NAME_SELECTED; + reusableBuffer.pxx2Setup.pxx2.bindSelectedReceiverIndex = (result - reusableBuffer.pxx2Setup.pxx2.bindCandidateReceiversNames[0]) / sizeof(reusableBuffer.pxx2Setup.pxx2.bindCandidateReceiversNames[0]); + reusableBuffer.pxx2Setup.pxx2.bindStep = BIND_RX_NAME_SELECTED; } void onBindMenu(const char * result) @@ -290,9 +290,9 @@ void runPopupRegister(event_t event) uint8_t backupVerticalOffset = menuVerticalOffset; int8_t backupEditMode = s_editMode; - menuVerticalPosition = reusableBuffer.modelSetup.pxx2.registerPopupVerticalPosition; - menuHorizontalPosition = reusableBuffer.modelSetup.pxx2.registerPopupHorizontalPosition; - s_editMode = reusableBuffer.modelSetup.pxx2.registerPopupEditMode; + menuVerticalPosition = reusableBuffer.pxx2Setup.pxx2.registerPopupVerticalPosition; + menuHorizontalPosition = reusableBuffer.pxx2Setup.pxx2.registerPopupHorizontalPosition; + s_editMode = reusableBuffer.pxx2Setup.pxx2.registerPopupEditMode; switch (event) { case EVT_KEY_BREAK(KEY_ENTER): @@ -301,7 +301,7 @@ void runPopupRegister(event_t event) } else if (menuHorizontalPosition == 0) { // [Enter] pressed - reusableBuffer.modelSetup.pxx2.registerStep = REGISTER_RX_NAME_SELECTED; + reusableBuffer.pxx2Setup.pxx2.registerStep = REGISTER_RX_NAME_SELECTED; backupEditMode = EDIT_MODIFY_FIELD; // so that the [Register] button blinks and the REGISTER process can continue } // no break @@ -326,17 +326,17 @@ void runPopupRegister(event_t event) lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 3, STR_REG_ID); editName(WARNING_LINE_X + 8*FW, WARNING_LINE_Y - 3, g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID, event, menuVerticalPosition == 0); - if (reusableBuffer.modelSetup.pxx2.registerStep >= REGISTER_RX_NAME_RECEIVED) { + if (reusableBuffer.pxx2Setup.pxx2.registerStep >= REGISTER_RX_NAME_RECEIVED) { lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 2 + FH, STR_RX_NAME); - editName(WARNING_LINE_X + 8*FW, WARNING_LINE_Y - 2 + FH, reusableBuffer.modelSetup.pxx2.registerRxName, PXX2_LEN_RX_NAME, event, menuVerticalPosition == 1); + editName(WARNING_LINE_X + 8*FW, WARNING_LINE_Y - 2 + FH, reusableBuffer.pxx2Setup.pxx2.registerRxName, PXX2_LEN_RX_NAME, event, menuVerticalPosition == 1); } lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+2*FH + 2, TR_ENTER, menuVerticalPosition == 2 && menuHorizontalPosition == 0 ? INVERS : 0); lcdDrawText(WARNING_LINE_X + 8*FW, WARNING_LINE_Y+2*FH + 2, TR_EXIT, menuVerticalPosition == 2 && menuHorizontalPosition == 1 ? INVERS : 0); - reusableBuffer.modelSetup.pxx2.registerPopupVerticalPosition = menuVerticalPosition; - reusableBuffer.modelSetup.pxx2.registerPopupHorizontalPosition = menuHorizontalPosition; - reusableBuffer.modelSetup.pxx2.registerPopupEditMode = s_editMode; + reusableBuffer.pxx2Setup.pxx2.registerPopupVerticalPosition = menuVerticalPosition; + reusableBuffer.pxx2Setup.pxx2.registerPopupHorizontalPosition = menuHorizontalPosition; + reusableBuffer.pxx2Setup.pxx2.registerPopupEditMode = s_editMode; } menuVerticalPosition = ITEM_MODEL_INTERNAL_MODULE_PXX2_RANGE_REGISTER + HEADER_LINE; @@ -463,7 +463,7 @@ void menuModelSetup(event_t event) TITLE(STR_MENUSETUP); if (event == EVT_ENTRY) { - reusableBuffer.modelSetup.r9mPower = g_model.moduleData[EXTERNAL_MODULE].pxx.power; + reusableBuffer.pxx2Setup.r9mPower = g_model.moduleData[EXTERNAL_MODULE].pxx.power; } uint8_t sub = menuVerticalPosition - HEADER_LINE; @@ -1165,10 +1165,11 @@ void menuModelSetup(event_t event) if (moduleSettings[moduleIdx].mode == MODULE_MODE_NORMAL && s_editMode > 0) { if (menuHorizontalPosition == 1 && event == EVT_KEY_FIRST(KEY_ENTER)) { moduleSettings[moduleIdx].mode = MODULE_MODE_REGISTER; - reusableBuffer.modelSetup.pxx2.registerStep = REGISTER_START; - reusableBuffer.modelSetup.pxx2.registerPopupVerticalPosition = 0; - reusableBuffer.modelSetup.pxx2.registerPopupHorizontalPosition = 0; - reusableBuffer.modelSetup.pxx2.registerPopupEditMode = 0; + reusableBuffer.pxx2Setup.pxx2.registerStep = REGISTER_START; + memcpy(reusableBuffer.pxx2Setup.pxx2.registrationID, g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID); + reusableBuffer.pxx2Setup.pxx2.registerPopupVerticalPosition = 0; + reusableBuffer.pxx2Setup.pxx2.registerPopupHorizontalPosition = 0; + reusableBuffer.pxx2Setup.pxx2.registerPopupEditMode = 0; s_editMode = 0; POPUP_INPUT("", runPopupRegister); } @@ -1266,16 +1267,16 @@ void menuModelSetup(event_t event) if (attr) { if (menuHorizontalPosition == 0) { if (event == EVT_KEY_BREAK(KEY_ENTER)) { - reusableBuffer.modelSetup.pxx2.bindStep = BIND_START; - reusableBuffer.modelSetup.pxx2.bindCandidateReceiversCount = 0; + reusableBuffer.pxx2Setup.pxx2.bindStep = BIND_START; + reusableBuffer.pxx2Setup.pxx2.bindCandidateReceiversCount = 0; moduleSettings[moduleIdx].mode ^= MODULE_MODE_BIND; } if (moduleSettings[moduleIdx].mode == MODULE_MODE_BIND) { s_editMode = 1; - if (reusableBuffer.modelSetup.pxx2.bindStep == BIND_RX_NAME_RECEIVED) { - popupMenuItemsCount = min(reusableBuffer.modelSetup.pxx2.bindCandidateReceiversCount, PXX2_MAX_RECEIVERS_PER_MODULE); + if (reusableBuffer.pxx2Setup.pxx2.bindStep == BIND_RX_NAME_RECEIVED) { + popupMenuItemsCount = min(reusableBuffer.pxx2Setup.pxx2.bindCandidateReceiversCount, PXX2_MAX_RECEIVERS_PER_MODULE); for (uint8_t i=0; i 0) { @@ -1603,11 +1604,11 @@ void menuModelSetup(event_t event) if (attr) { CHECK_INCDEC_MODELVAR_ZERO(event, g_model.moduleData[moduleIdx].pxx.power, R9M_LBT_POWER_MAX); } - if (attr && editMode == 0 && reusableBuffer.modelSetup.r9mPower != g_model.moduleData[moduleIdx].pxx.power) { - if((reusableBuffer.modelSetup.r9mPower + g_model.moduleData[moduleIdx].pxx.power) < 5) { //switching between mode 2 and 3 does not require rebind + if (attr && editMode == 0 && reusableBuffer.pxx2Setup.r9mPower != g_model.moduleData[moduleIdx].pxx.power) { + if((reusableBuffer.pxx2Setup.r9mPower + g_model.moduleData[moduleIdx].pxx.power) < 5) { //switching between mode 2 and 3 does not require rebind POPUP_WARNING(STR_REBIND); } - reusableBuffer.modelSetup.r9mPower = g_model.moduleData[moduleIdx].pxx.power; + reusableBuffer.pxx2Setup.r9mPower = g_model.moduleData[moduleIdx].pxx.power; } } } diff --git a/radio/src/gui/128x64/radio_hardware.cpp b/radio/src/gui/128x64/radio_hardware.cpp index 913cb6d1c..48a416207 100644 --- a/radio/src/gui/128x64/radio_hardware.cpp +++ b/radio/src/gui/128x64/radio_hardware.cpp @@ -158,12 +158,14 @@ enum MenuRadioHardwareItems { #define HW_SETTINGS_COLUMN1 30 #define HW_SETTINGS_COLUMN2 (30 + 5*FW) -void runPopupHWSetupRegister(event_t event) +void runHWPopupRegister(event_t event) { - menuVerticalPosition = reusableBuffer.hardwareSetup.pxx2.registerPopupVerticalPosition; - menuHorizontalPosition = reusableBuffer.hardwareSetup.pxx2.registerPopupHorizontalPosition; - s_editMode = reusableBuffer.hardwareSetup.pxx2.registerPopupEditMode; uint8_t backupVerticalOffset = menuVerticalOffset; + int8_t backupEditMode = s_editMode; + + menuVerticalPosition = reusableBuffer.pxx2Setup.pxx2.registerPopupVerticalPosition; + menuHorizontalPosition = reusableBuffer.pxx2Setup.pxx2.registerPopupHorizontalPosition; + s_editMode = reusableBuffer.pxx2Setup.pxx2.registerPopupEditMode; switch (event) { case EVT_KEY_BREAK(KEY_ENTER): @@ -172,7 +174,8 @@ void runPopupHWSetupRegister(event_t event) } else if (menuHorizontalPosition == 0) { // [Enter] pressed - moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_REGISTER; + reusableBuffer.pxx2Setup.pxx2.registerStep = REGISTER_RX_NAME_SELECTED; + backupEditMode = EDIT_MODIFY_FIELD; // so that the [Register] button blinks and the REGISTER process can continue } // no break @@ -193,24 +196,26 @@ void runPopupHWSetupRegister(event_t event) drawMessageBox(); - lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 3, "Reg. ID"); - editName(WARNING_LINE_X + 8*FW, WARNING_LINE_Y - 3, g_eeGeneral.ownerRegistrationID, PXX2_LEN_REGISTRATION_ID, event, menuVerticalPosition == 0); + lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 3, STR_REG_ID); + editName(WARNING_LINE_X + 8*FW, WARNING_LINE_Y - 3, g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID, event, menuVerticalPosition == 0); - lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 2 + FH, "Rx Name"); - editName(WARNING_LINE_X + 8*FW, WARNING_LINE_Y - 2 + FH, reusableBuffer.hardwareSetup.pxx2.registerRxName, PXX2_LEN_RX_NAME, event, menuVerticalPosition == 1); + if (reusableBuffer.pxx2Setup.pxx2.registerStep >= REGISTER_RX_NAME_RECEIVED) { + lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y - 2 + FH, STR_RX_NAME); + editName(WARNING_LINE_X + 8*FW, WARNING_LINE_Y - 2 + FH, reusableBuffer.pxx2Setup.pxx2.registerRxName, PXX2_LEN_RX_NAME, event, menuVerticalPosition == 1); + } lcdDrawText(WARNING_LINE_X, WARNING_LINE_Y+2*FH + 2, TR_ENTER, menuVerticalPosition == 2 && menuHorizontalPosition == 0 ? INVERS : 0); lcdDrawText(WARNING_LINE_X + 8*FW, WARNING_LINE_Y+2*FH + 2, TR_EXIT, menuVerticalPosition == 2 && menuHorizontalPosition == 1 ? INVERS : 0); - reusableBuffer.hardwareSetup.pxx2.registerPopupVerticalPosition = menuVerticalPosition; - reusableBuffer.hardwareSetup.pxx2.registerPopupHorizontalPosition = menuHorizontalPosition; - reusableBuffer.hardwareSetup.pxx2.registerPopupEditMode = s_editMode; + reusableBuffer.pxx2Setup.pxx2.registerPopupVerticalPosition = menuVerticalPosition; + reusableBuffer.pxx2Setup.pxx2.registerPopupHorizontalPosition = menuHorizontalPosition; + reusableBuffer.pxx2Setup.pxx2.registerPopupEditMode = s_editMode; } - menuVerticalPosition = ITEM_RADIO_REGISTER_RECEIVER + HEADER_LINE; + menuVerticalPosition = ITEM_RADIO_OWNER_ID + HEADER_LINE; menuHorizontalPosition = 1; menuVerticalOffset = backupVerticalOffset; - s_editMode = (moduleSettings[INTERNAL_MODULE].mode == MODULE_MODE_REGISTER ? EDIT_MODIFY_FIELD : 0); + s_editMode = backupEditMode; } void menuRadioHardware(event_t event) @@ -373,17 +378,27 @@ void menuRadioHardware(event_t event) lcdDrawText(HW_SETTINGS_COLUMN2, y, "[Register]", attr ); if (attr) { if (moduleSettings[INTERNAL_MODULE].mode == MODULE_MODE_NORMAL && s_editMode > 0) { - - reusableBuffer.hardwareSetup.pxx2.registerPopupVerticalPosition = 0; - reusableBuffer.hardwareSetup.pxx2.registerPopupHorizontalPosition = 0; - reusableBuffer.hardwareSetup.pxx2.registerPopupEditMode = 0; + if (event == EVT_KEY_FIRST(KEY_ENTER)) { + moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_REGISTER; + reusableBuffer.pxx2Setup.pxx2.registerStep = REGISTER_START; + memcpy(reusableBuffer.pxx2Setup.pxx2.registrationID, g_model.modelRegistrationID, PXX2_LEN_REGISTRATION_ID); + reusableBuffer.pxx2Setup.pxx2.registerPopupVerticalPosition = 0; + reusableBuffer.pxx2Setup.pxx2.registerPopupHorizontalPosition = 0; + reusableBuffer.pxx2Setup.pxx2.registerPopupEditMode = 0; s_editMode = 0; - POPUP_INPUT("", runPopupHWSetupRegister); - + POPUP_INPUT("", runHWPopupRegister); + } + else if (menuHorizontalPosition == 0) { + moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_RANGECHECK; + } } - if (s_editMode == 0) { + if (s_editMode == 0 && !warningText) { moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_NORMAL; } + if (moduleSettings[INTERNAL_MODULE].mode == MODULE_MODE_NORMAL) { + // REGISTER finished + s_editMode = 0; + } } break; diff --git a/radio/src/gui/212x64/model_setup.cpp b/radio/src/gui/212x64/model_setup.cpp index aa9e1e5c8..67c39ce85 100644 --- a/radio/src/gui/212x64/model_setup.cpp +++ b/radio/src/gui/212x64/model_setup.cpp @@ -304,7 +304,7 @@ void menuModelSetup(event_t event) MENU_CHECK(STR_MENUSETUP, menuTabModel, MENU_MODEL_SETUP, ITEM_MODEL_SETUP_MAX); if (event == EVT_ENTRY) { - reusableBuffer.modelSetup.r9mPower = g_model.moduleData[EXTERNAL_MODULE].pxx.power; + reusableBuffer.pxx2Setup.r9mPower = g_model.moduleData[EXTERNAL_MODULE].pxx.power; } #if (defined(DSM2) || defined(PXX)) @@ -1182,10 +1182,10 @@ void menuModelSetup(event_t event) lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_R9M_LBT_POWER_VALUES, g_model.moduleData[moduleIdx].pxx.power, LEFT | attr); if (attr) CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].pxx.power, 0, R9M_LBT_POWER_MAX); - if (attr && s_editMode == 0 && reusableBuffer.modelSetup.r9mPower != g_model.moduleData[moduleIdx].pxx.power) { - if((reusableBuffer.modelSetup.r9mPower + g_model.moduleData[moduleIdx].pxx.power) < 5) //switching between mode 2 and 3 does not require rebind + if (attr && s_editMode == 0 && reusableBuffer.pxx2Setup.r9mPower != g_model.moduleData[moduleIdx].pxx.power) { + if((reusableBuffer.pxx2Setup.r9mPower + g_model.moduleData[moduleIdx].pxx.power) < 5) //switching between mode 2 and 3 does not require rebind POPUP_WARNING(STR_REBIND); - reusableBuffer.modelSetup.r9mPower = g_model.moduleData[moduleIdx].pxx.power; + reusableBuffer.pxx2Setup.r9mPower = g_model.moduleData[moduleIdx].pxx.power; } } } diff --git a/radio/src/gui/480x272/model_setup.cpp b/radio/src/gui/480x272/model_setup.cpp index fd690479b..da66024dd 100644 --- a/radio/src/gui/480x272/model_setup.cpp +++ b/radio/src/gui/480x272/model_setup.cpp @@ -102,14 +102,14 @@ enum MenuModelSetupItems { void checkModelIdUnique(uint8_t moduleIdx) { - char* warn_buf = reusableBuffer.modelSetup.msg; + char* warn_buf = reusableBuffer.pxx2Setup.msg; // cannot rely exactly on WARNING_LINE_LEN so using WARNING_LINE_LEN-2 - size_t warn_buf_len = sizeof(reusableBuffer.modelSetup.msg) - WARNING_LINE_LEN - 2; + size_t warn_buf_len = sizeof(reusableBuffer.pxx2Setup.msg) - WARNING_LINE_LEN - 2; if (!modelslist.isModelIdUnique(moduleIdx,warn_buf,warn_buf_len)) { if (warn_buf[0] != 0) { POPUP_WARNING(STR_MODELIDUSED); - SET_WARNING_INFO(warn_buf, sizeof(reusableBuffer.modelSetup.msg), 0); + SET_WARNING_INFO(warn_buf, sizeof(reusableBuffer.pxx2Setup.msg), 0); } } } @@ -293,7 +293,7 @@ bool menuModelSetup(event_t event) TRAINER_LINE2_ROWS }); if (event == EVT_ENTRY) { - reusableBuffer.modelSetup.r9mPower = g_model.moduleData[EXTERNAL_MODULE].pxx.power; + reusableBuffer.pxx2Setup.r9mPower = g_model.moduleData[EXTERNAL_MODULE].pxx.power; } if (menuEvent) { @@ -1103,12 +1103,12 @@ bool menuModelSetup(event_t event) lcdDrawTextAtIndex(MODEL_SETUP_2ND_COLUMN, y, STR_R9M_LBT_POWER_VALUES, g_model.moduleData[moduleIdx].pxx.power, LEFT | attr); if (attr) CHECK_INCDEC_MODELVAR(event, g_model.moduleData[moduleIdx].pxx.power, 0, R9M_LBT_POWER_MAX); - if (attr && s_editMode == 0 && reusableBuffer.modelSetup.r9mPower != g_model.moduleData[moduleIdx].pxx.power) { - if((reusableBuffer.modelSetup.r9mPower + g_model.moduleData[moduleIdx].pxx.power) < 5) { //switching between mode 2 and 3 does not require rebind + if (attr && s_editMode == 0 && reusableBuffer.pxx2Setup.r9mPower != g_model.moduleData[moduleIdx].pxx.power) { + if((reusableBuffer.pxx2Setup.r9mPower + g_model.moduleData[moduleIdx].pxx.power) < 5) { //switching between mode 2 and 3 does not require rebind POPUP_WARNING(STR_WARNING); SET_WARNING_INFO(STR_REBIND, sizeof(TR_REBIND), 0); } - reusableBuffer.modelSetup.r9mPower = g_model.moduleData[moduleIdx].pxx.power; + reusableBuffer.pxx2Setup.r9mPower = g_model.moduleData[moduleIdx].pxx.power; } } } diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index 0e6429cf0..78fdfbafe 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -368,16 +368,16 @@ void checkModelIdUnique(uint8_t index, uint8_t module) { uint8_t modelId = g_model.header.modelId[module]; uint8_t additionalOnes = 0; - char * name = reusableBuffer.modelSetup.msg; + char * name = reusableBuffer.pxx2Setup.msg; - memset(reusableBuffer.modelSetup.msg, 0, sizeof(reusableBuffer.modelSetup.msg)); + memset(reusableBuffer.pxx2Setup.msg, 0, sizeof(reusableBuffer.pxx2Setup.msg)); if (modelId != 0) { for (uint8_t i = 0; i < MAX_MODELS; i++) { if (i != index) { if (modelId == modelHeaders[i].modelId[module]) { - if ((WARNING_LINE_LEN - 4 - (name - reusableBuffer.modelSetup.msg)) > (signed)(modelHeaders[i].name[0] ? zlen(modelHeaders[i].name, LEN_MODEL_NAME) : sizeof(TR_MODEL) + 2)) { // you cannot rely exactly on WARNING_LINE_LEN so using WARNING_LINE_LEN-2 (-2 for the ",") - if (reusableBuffer.modelSetup.msg[0] != 0) { + if ((WARNING_LINE_LEN - 4 - (name - reusableBuffer.pxx2Setup.msg)) > (signed)(modelHeaders[i].name[0] ? zlen(modelHeaders[i].name, LEN_MODEL_NAME) : sizeof(TR_MODEL) + 2)) { // you cannot rely exactly on WARNING_LINE_LEN so using WARNING_LINE_LEN-2 (-2 for the ",") + if (reusableBuffer.pxx2Setup.msg[0] != 0) { name = strAppend(name, ", "); } if (modelHeaders[i].name[0] == 0) { @@ -402,9 +402,9 @@ void checkModelIdUnique(uint8_t index, uint8_t module) name = strAppend(name, ")"); } - if (reusableBuffer.modelSetup.msg[0] != 0) { + if (reusableBuffer.pxx2Setup.msg[0] != 0) { POPUP_WARNING(STR_MODELIDUSED); - SET_WARNING_INFO(reusableBuffer.modelSetup.msg, sizeof(reusableBuffer.modelSetup.msg), 0); + SET_WARNING_INFO(reusableBuffer.pxx2Setup.msg, sizeof(reusableBuffer.pxx2Setup.msg), 0); } } diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 673b0ab26..ea5a4c218 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1129,12 +1129,13 @@ union ReusableBuffer uint8_t registerPopupHorizontalPosition; int8_t registerPopupEditMode; char registerRxName[PXX2_LEN_RX_NAME]; + char registrationID[PXX2_LEN_REGISTRATION_ID]; char bindCandidateReceiversNames[PXX2_MAX_RECEIVERS_PER_MODULE][PXX2_LEN_RX_NAME]; uint8_t bindCandidateReceiversCount; uint8_t bindSelectedReceiverIndex; } pxx2; }; - } modelSetup, hardwareSetup; + } pxx2Setup; // 103 bytes struct { diff --git a/radio/src/pulses/pxx2.cpp b/radio/src/pulses/pxx2.cpp index 5484f59b4..9280ca445 100644 --- a/radio/src/pulses/pxx2.cpp +++ b/radio/src/pulses/pxx2.cpp @@ -58,13 +58,13 @@ bool Pxx2Pulses::setupRegisterFrame(uint8_t module) { addFrameType(PXX2_TYPE_C_MODULE, PXX2_TYPE_ID_REGISTER); - if (reusableBuffer.modelSetup.pxx2.registerStep == REGISTER_RX_NAME_SELECTED) { + if (reusableBuffer.pxx2Setup.pxx2.registerStep == REGISTER_RX_NAME_SELECTED) { Pxx2Transport::addByte(0x01); for (uint8_t i=0; i reusableBuffer.modelSetup.pxx2.bindWaitTimeout) { + if (reusableBuffer.pxx2Setup.pxx2.bindStep == BIND_WAIT) { + if (get_tmr10ms() > reusableBuffer.pxx2Setup.pxx2.bindWaitTimeout) { moduleSettings[module].mode = MODULE_MODE_NORMAL; - reusableBuffer.modelSetup.pxx2.bindStep = BIND_OK; + reusableBuffer.pxx2Setup.pxx2.bindStep = BIND_OK; POPUP_INFORMATION(STR_BIND_OK); } else { return false; } } - else if (reusableBuffer.modelSetup.pxx2.bindStep == BIND_RX_NAME_SELECTED) { + else if (reusableBuffer.pxx2Setup.pxx2.bindStep == BIND_RX_NAME_SELECTED) { Pxx2Transport::addByte(0x01); for (uint8_t i=0; i