diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 4d50dd1f4..1752e5f3e 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -226,7 +226,7 @@ enum MenuModelSetupItems { void onPXX2BindMenu(const char * result) { - reusableBuffer.modelsetup.pxx2_bind_receiver_index = (result - reusableBuffer.modelsetup.pxx2_bind_candidate_receivers_names[0]) / sizeof(reusableBuffer.modelsetup.pxx2_bind_candidate_receivers_names[0]); + reusableBuffer.modelsetup.pxx2_bind_selected_receiver_index = (result - reusableBuffer.modelsetup.pxx2_bind_candidate_receivers_names[0]) / sizeof(reusableBuffer.modelsetup.pxx2_bind_candidate_receivers_names[0]); reusableBuffer.modelsetup.pxx2_register_or_bind_step = BIND_RX_ID_SELECTED; TRACE("RECEIVER SELECTED : %d", reusableBuffer.modelsetup.pxx2_bind_receiver_index); } @@ -1134,7 +1134,6 @@ void menuModelSetup(event_t event) if (menuHorizontalPosition == 0) { if (event == EVT_KEY_BREAK(KEY_ENTER)) { reusableBuffer.modelsetup.pxx2_register_or_bind_step = BIND_START; - reusableBuffer.modelsetup.pxx2_bind_receiver_index = receiverIdx; reusableBuffer.modelsetup.pxx2_bind_candidate_receivers_count = 0; moduleSettings[INTERNAL_MODULE].mode ^= MODULE_MODE_BIND; } @@ -1151,8 +1150,8 @@ void menuModelSetup(event_t event) else { s_editMode = 0; } - if(reusableBuffer.modelsetup.pxx2_register_or_bind_step == BIND_OK) { - memcpy(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[receiverIdx].rxID, reusableBuffer.modelsetup.pxx2_bind_candidate_receivers_ids[reusableBuffer.modelsetup.pxx2_bind_receiver_index], PXX2_LEN_RX_ID); + if (reusableBuffer.modelsetup.pxx2_register_or_bind_step == BIND_OK) { + memcpy(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[receiverIdx].rxID, reusableBuffer.modelsetup.pxx2_bind_candidate_receivers_ids[reusableBuffer.modelsetup.pxx2_bind_selected_receiver_index], PXX2_LEN_RX_ID); } } else if (menuHorizontalPosition == 1 && s_editMode > 0) { diff --git a/radio/src/opentx.h b/radio/src/opentx.h index 8a3d842bd..3edd95155 100644 --- a/radio/src/opentx.h +++ b/radio/src/opentx.h @@ -1121,7 +1121,7 @@ union ReusableBuffer char pxx2_bind_candidate_receivers_ids[PXX2_MAX_RECEIVERS_PER_MODULE][PXX2_LEN_RX_ID]; char pxx2_bind_candidate_receivers_names[PXX2_MAX_RECEIVERS_PER_MODULE][3*PXX2_LEN_RX_ID+1]; uint8_t pxx2_bind_candidate_receivers_count; - uint8_t pxx2_bind_receiver_index; + uint8_t pxx2_bind_selected_receiver_index; } modelsetup; // 103 bytes diff --git a/radio/src/pulses/pxx2.cpp b/radio/src/pulses/pxx2.cpp index 67c9a11c1..f77299ecf 100644 --- a/radio/src/pulses/pxx2.cpp +++ b/radio/src/pulses/pxx2.cpp @@ -77,8 +77,9 @@ void Pxx2Pulses::setupBindFrame(uint8_t module) if (reusableBuffer.modelsetup.pxx2_register_or_bind_step == BIND_RX_ID_SELECTED) { Pxx2Transport::addByte(0x01); for (uint8_t i=0; i