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
This commit is contained in:
Andre Bernet
2014-02-09 23:45:31 +01:00
parent 30d13baeab
commit dc660d4ade
2 changed files with 10 additions and 7 deletions
@@ -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<MAX_GVARS(board, version); i++) {
// on M64 GVARS are common to all phases, and there is no name
@@ -1967,12 +1971,11 @@ Open9xModelDataNew::Open9xModelDataNew(ModelData & modelData, BoardEnum board, u
}
}
if (IS_ARM(board) && version >= 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]));
+4 -3
View File
@@ -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