diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index c520ff872..ef1d86698 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -1361,11 +1361,10 @@ void menuModelSetup(event_t event) } else { if (event == EVT_KEY_BREAK(KEY_ENTER)) { - moduleSettings[moduleIdx].mode ^= MODULE_MODE_SHARE; + moduleSettings[moduleIdx].mode = MODULE_MODE_SHARE; reusableBuffer.moduleSetup.pxx2.shareReceiverIndex = receiverIdx; - } - if (moduleSettings[moduleIdx].mode == MODULE_MODE_NORMAL) { s_editMode = 0; + POPUP_INFORMATION("Model shared"); } } } @@ -1373,7 +1372,7 @@ void menuModelSetup(event_t event) break; #endif #if defined(PCBSKY9X) - case ITEM_MODEL_EXTRA_MODULE_BIND: + case ITEM_MODEL_EXTRA_MODULE_BIND: #endif #if defined(PCBTARANIS) case ITEM_MODEL_INTERNAL_MODULE_NPXX2_BIND: diff --git a/radio/src/pulses/pxx2.cpp b/radio/src/pulses/pxx2.cpp index 7e1050ac7..faebbf759 100644 --- a/radio/src/pulses/pxx2.cpp +++ b/radio/src/pulses/pxx2.cpp @@ -224,13 +224,8 @@ void Pxx2Pulses::setupShareMode(uint8_t module) { addFrameType(PXX2_TYPE_C_MODULE, PXX2_TYPE_ID_RX_SETTINGS); - Pxx2Transport::addByte(0xC0); - - Pxx2Transport::addByte(0x40); - - for(uint8_t i=0; i < 24 ; i++) { - Pxx2Transport::addByte(i); - } + Pxx2Transport::addByte(PXX2_RX_SETTINGS_FLAG0_WRITE + reusableBuffer.moduleSetup.pxx2.shareReceiverIndex); + Pxx2Transport::addByte(PXX2_RX_SETTINGS_FLAG1_SHARE); moduleSettings[module].mode = MODULE_MODE_NORMAL; } diff --git a/radio/src/pulses/pxx2.h b/radio/src/pulses/pxx2.h index a5683a235..e1587c26f 100644 --- a/radio/src/pulses/pxx2.h +++ b/radio/src/pulses/pxx2.h @@ -43,10 +43,11 @@ #define PXX2_CHANNELS_FLAG0_FAILSAFE (1 << 6) #define PXX2_CHANNELS_FLAG0_RANGECHECK (1 << 7) +#define PXX2_RX_SETTINGS_FLAG0_WRITE (1 << 6) +#define PXX2_RX_SETTINGS_FLAG1_SHARE (1 << 6) #define PXX2_RX_SETTINGS_FLAG1_FASTPWM (1 << 4) #define PXX2_RECV_OPTION_MASK_TELEMETRY 0x00 // TODO : update when defined - enum PXX2RegisterSteps { REGISTER_START, REGISTER_RX_NAME_RECEIVED, @@ -64,7 +65,7 @@ enum PXX2BindSteps { enum PXX2ReceiverStatus { RECEIVER_SETTINGS_READ = 0x00, RECEIVER_SETTINGS_OK, - RECEIVER_SETTINGS_WRITE = 0x40 + RECEIVER_SETTINGS_WRITE = PXX2_RX_SETTINGS_FLAG0_WRITE }; extern ModuleFifo intmoduleFifo;