From dc660d4adecbdc8789533a3d3f283cc16fcfd87f Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Sun, 9 Feb 2014 23:45:31 +0100 Subject: [PATCH] Switch/pot warnings were duplicated in companion structure for Taranis nPotsToWarn relocated out of MODELDATA_EXTRA Only bug left is ID2 on stock appearing as RUD in the states --- companion/src/firmwares/opentx/opentxeeprom.cpp | 10 ++++++---- radio/src/myeeprom.h | 7 ++++--- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 010d785ae..2d327d71b 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -1913,6 +1913,10 @@ Open9xModelDataNew::Open9xModelDataNew(ModelData & modelData, BoardEnum board, u else internalField.Append(new SwitchesWarningField<8>(modelData.switchWarningStates, board, version)); + if (version >= 216) { + internalField.Append(new UnsignedField<8>(modelData.nSwToWarn)); + } + if ((board == BOARD_STOCK || (board == BOARD_M128 && version >= 215)) && (variant & GVARS_VARIANT)) { for (int i=0; i= 216) { - internalField.Append(new UnsignedField<8>(modelData.nSwToWarn)); + if (board==BOARD_SKY9X && version >= 216) { internalField.Append(new UnsignedField<8>(modelData.nPotsToWarn)); for (int i=0; i < GetEepromInterface()->getCapability(Pots); i++) { internalField.Append(new SignedField<8>(modelData.potPosition[i])); - } + } } if (IS_TARANIS(board)) { @@ -1986,7 +1989,6 @@ Open9xModelDataNew::Open9xModelDataNew(ModelData & modelData, BoardEnum board, u internalField.Append(new SpareBitsField<720>()); for (int i=0; i<32; i++) internalField.Append(new ZCharField<4>(modelData.inputNames[i])); - internalField.Append(new UnsignedField<8>(modelData.nSwToWarn)); internalField.Append(new UnsignedField<8>(modelData.nPotsToWarn)); for (int i=0; i < GetEepromInterface()->getCapability(Pots); i++) { internalField.Append(new SignedField<8>(modelData.potPosition[i])); diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index 9cbdce1e9..29518f446 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -294,17 +294,17 @@ PACK(typedef struct t_ScriptData { TRAINER_MODULE }; #define MODELDATA_BITMAP char bitmap[LEN_BITMAP_NAME]; - #define MODELDATA_EXTRA uint8_t externalModule; uint8_t trainerMode; ModuleData moduleData[NUM_MODULES+1]; char curveNames[MAX_CURVES][6]; ScriptData scriptsData[MAX_SCRIPTS]; char inputNames[MAX_INPUTS][4]; uint8_t nSwToWarn; uint8_t nPotsToWarn; int8_t potPosition[NUM_POTS]; + #define MODELDATA_EXTRA uint8_t externalModule; uint8_t trainerMode; ModuleData moduleData[NUM_MODULES+1]; char curveNames[MAX_CURVES][6]; ScriptData scriptsData[MAX_SCRIPTS]; char inputNames[MAX_INPUTS][4]; uint8_t nPotsToWarn; int8_t potPosition[NUM_POTS]; #define LIMITDATA_EXTRA char name[LEN_CHANNEL_NAME]; int8_t curve; #define swstate_t uint16_t #elif defined(PCBSKY9X) #define MODELDATA_BITMAP - #define MODELDATA_EXTRA ModuleData moduleData[NUM_MODULES]; uint8_t nSwToWarn; uint8_t nPotsToWarn; int8_t potPosition[NUM_POTS]; + #define MODELDATA_EXTRA ModuleData moduleData[NUM_MODULES]; uint8_t nPotsToWarn; int8_t potPosition[NUM_POTS]; #define LIMITDATA_EXTRA #define swstate_t uint8_t #else #define MODELDATA_BITMAP - #define MODELDATA_EXTRA uint8_t nSwToWarn; + #define MODELDATA_EXTRA #define LIMITDATA_EXTRA #define swstate_t uint8_t #endif @@ -1494,6 +1494,7 @@ PACK(typedef struct t_ModelData { uint8_t thrTraceSrc; swstate_t switchWarningStates; + uint8_t nSwToWarn; MODEL_GVARS_DATA