From ed1d01e33ae4938cf5959652ff0062f332bb5ba5 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Wed, 6 Feb 2019 09:13:31 +0100 Subject: [PATCH] 1 byte flash saved :) --- radio/src/gui/128x64/model_setup.cpp | 6 +++--- radio/src/pulses/pxx2.h | 2 ++ radio/src/telemetry/telemetry.cpp | 6 ++++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 07714f02e..4cb5cc698 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -1040,13 +1040,13 @@ void menuModelSetup(event_t event) lcdDrawTextAlignedLeft(y, "Receiver"); lcdDrawText(MODEL_SETUP_2ND_COLUMN, y, "[Add]", attr); if (attr && s_editMode>0) { - if(g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[0].enabled) { + if (g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[0].enabled) { g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[1].enabled = 0x01; - memcpy(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[1].channelMapping, "\x01\x23\x45\x67\x89\xAB\xCD\xEF", 8); //default map 1-1 16-16 + memcpy(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[1].channelMapping, DEFAULT_CHANNEL_MAPPING, sizeof(uint64_t)); } else { g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[0].enabled = 0x01; - memcpy(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[0].channelMapping, "\x01\x23\x45\x67\x89\xAB\xCD\xEF", 8); //default map 1-1 16-16 + memcpy(&g_model.moduleData[INTERNAL_MODULE].pxx2.receivers[0].channelMapping, DEFAULT_CHANNEL_MAPPING, sizeof(uint64_t)); } s_editMode = 0; } diff --git a/radio/src/pulses/pxx2.h b/radio/src/pulses/pxx2.h index 06a996554..077bac050 100644 --- a/radio/src/pulses/pxx2.h +++ b/radio/src/pulses/pxx2.h @@ -38,6 +38,8 @@ #define PXX2_FLAG0_FAILSAFE (1 << 6) +const uint8_t DEFAULT_CHANNEL_MAPPING[] = {0x12, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF}; + class ModuleFifo : public Fifo { public: bool getFrame(uint8_t * frame) diff --git a/radio/src/telemetry/telemetry.cpp b/radio/src/telemetry/telemetry.cpp index 377be5f98..04bb108e8 100644 --- a/radio/src/telemetry/telemetry.cpp +++ b/radio/src/telemetry/telemetry.cpp @@ -77,6 +77,12 @@ void processRegisterFrame(uint8_t module, uint8_t * frame) // RX_ID follows, we discard it for now moduleSettings[module].counter = REGISTER_COUNTER_ID_RECEIVED; } + else if (frame[3] == 0x01) { + // PASSWORD follows, we check it is good + if (memcmp(&frame[4], g_model.modelRegistrationID, LEN_REGISTRATION_ID) == 0) { + moduleSettings[module].counter = REGISTER_COUNTER_PASSWORD_RECEIVED; + } + } } void processRadioFrame(uint8_t module, uint8_t * frame)