From 1bd94029e7a708f800ee489f2a15e2e55c0890ce Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Thu, 28 Mar 2019 19:07:50 +0100 Subject: [PATCH] Simplification --- radio/src/dataconstants.h | 2 -- radio/src/datastructs.h | 21 +++++++++------------ radio/src/gui/128x64/model_setup.cpp | 24 ++++++++++++++++++------ radio/src/gui/128x64/radio_version.cpp | 4 ++-- 4 files changed, 29 insertions(+), 22 deletions(-) diff --git a/radio/src/dataconstants.h b/radio/src/dataconstants.h index b3854cbe0..173461f0a 100644 --- a/radio/src/dataconstants.h +++ b/radio/src/dataconstants.h @@ -126,10 +126,8 @@ enum CurveType { #if defined(PCBHORUS) #define NUM_RECEIVERS 10 - #define MAX_RECEIVERS_PER_MODULE 5 #else #define NUM_RECEIVERS 4 - #define MAX_RECEIVERS_PER_MODULE 4 #endif #if defined(PCBTARANIS) || defined(PCBSKY9X) || defined(PCBHORUS) diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index f097f90c2..08b8f9388 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -416,10 +416,7 @@ PACK(struct TrainerModuleData { */ PACK(struct ReceiverData { - uint8_t used:1; - uint8_t telemetry:1; - uint8_t dirty:6; - char name[PXX2_LEN_RX_NAME]; + char name[PXX2_LEN_RX_NAME]; }); /* @@ -930,25 +927,25 @@ static inline void check_struct() #if defined(PCBXLITES) CHKSIZE(RadioData, 858); - CHKSIZE(ModelData, 5940); + CHKSIZE(ModelData, 5936); #elif defined(PCBXLITE) CHKSIZE(RadioData, 852); - CHKSIZE(ModelData, 5940); + CHKSIZE(ModelData, 5936); #elif defined(PCBX7) CHKSIZE(RadioData, 858); - CHKSIZE(ModelData, 5940); + CHKSIZE(ModelData, 5936); #elif defined(PCBX9E) CHKSIZE(RadioData, 960); - CHKSIZE(ModelData, 6435); -#elif defined(PCBX9D) + CHKSIZE(ModelData, 6431); +#elif defined(PCBX9D) || defined(PCBX9DP) CHKSIZE(RadioData, 880); - CHKSIZE(ModelData, 6422); + CHKSIZE(ModelData, 6418); #elif defined(PCBSKY9X) CHKSIZE(RadioData, 735); - CHKSIZE(ModelData, 5101); + CHKSIZE(ModelData, 5097); #elif defined(PCBHORUS) CHKSIZE(RadioData, 855); - CHKSIZE(ModelData, 9771); + CHKSIZE(ModelData, 9761); #endif #undef CHKSIZE diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index e26dd2cc9..b23ce9e05 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -400,9 +400,23 @@ inline bool isDefaultModelRegistrationID() uint8_t findEmptyReceiverSlot() { - for (uint8_t slot=0; slot 0) { - g_model.moduleData[moduleIdx].pxx2.receivers = (g_model.moduleData[moduleIdx].pxx2.receivers & BF_MASK(0, receiverIdx * 3)) | ((g_model.moduleData[moduleIdx].pxx2.receivers & BF_MASK((receiverIdx + 1) * 3, (MAX_RECEIVERS_PER_MODULE - 1 - receiverIdx) * 3)) >> 3); + g_model.moduleData[moduleIdx].pxx2.receivers = (g_model.moduleData[moduleIdx].pxx2.receivers & BF_MASK(0, receiverIdx * 3)) | ((g_model.moduleData[moduleIdx].pxx2.receivers & BF_MASK((receiverIdx + 1) * 3, (PXX2_MAX_RECEIVERS_PER_MODULE - 1 - receiverIdx) * 3)) >> 3); memclear(&g_model.receiverData[receiverSlot - 1], sizeof(ReceiverData)); s_editMode = 0; killEvents(event); @@ -1288,8 +1302,6 @@ void menuModelSetup(event_t event) uint8_t slot = findEmptyReceiverSlot(); if (slot > 0) { g_model.moduleData[moduleIdx].pxx2.receivers |= (slot << (receiverIdx * 3)); - --slot; - g_model.receiverData[slot].used = 1; storageDirty(EE_MODEL); } } diff --git a/radio/src/gui/128x64/radio_version.cpp b/radio/src/gui/128x64/radio_version.cpp index 5e1c8052c..509967071 100644 --- a/radio/src/gui/128x64/radio_version.cpp +++ b/radio/src/gui/128x64/radio_version.cpp @@ -67,13 +67,13 @@ void menuRadioModulesVersion(event_t event) if (isModulePXX2(INTERNAL_MODULE) && IS_INTERNAL_MODULE_ON()) { reusableBuffer.hardwareAndSettings.modules[INTERNAL_MODULE].current = PXX2_HW_INFO_TX_ID; - reusableBuffer.hardwareAndSettings.modules[INTERNAL_MODULE].maximum = MAX_RECEIVERS_PER_MODULE - 1; + reusableBuffer.hardwareAndSettings.modules[INTERNAL_MODULE].maximum = PXX2_MAX_RECEIVERS_PER_MODULE - 1; moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_GET_HARDWARE_INFO; } if (isModulePXX2(EXTERNAL_MODULE) && IS_EXTERNAL_MODULE_ON()) { reusableBuffer.hardwareAndSettings.modules[EXTERNAL_MODULE].current = PXX2_HW_INFO_TX_ID; - reusableBuffer.hardwareAndSettings.modules[EXTERNAL_MODULE].maximum = MAX_RECEIVERS_PER_MODULE - 1; + reusableBuffer.hardwareAndSettings.modules[EXTERNAL_MODULE].maximum = PXX2_MAX_RECEIVERS_PER_MODULE - 1; moduleSettings[EXTERNAL_MODULE].mode = MODULE_MODE_GET_HARDWARE_INFO; }