From 0fc8a30e3154d7805c2d8e1b72743b5367e4ee50 Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Fri, 24 May 2019 14:08:29 +0200 Subject: [PATCH] Companion import fix --- .../src/firmwares/opentx/opentxeeprom.cpp | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 51daecd68..405fb3fd4 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -1938,15 +1938,29 @@ class SensorField: public TransformedField { internalField.Append(new UnsignedField<16>(this, _id, "id/persistentValue")); internalField.Append(new UnsignedField<8>(this, _instance, "instance/formula")); internalField.Append(new ZCharField<4>(this, sensor.label)); - internalField.Append(new UnsignedField<1>(this, sensor.type, "type")); - internalField.Append(new UnsignedField<5>(this, sensor.unit, "unit")); - internalField.Append(new UnsignedField<2>(this, sensor.prec, "prec")); - internalField.Append(new BoolField<1>(this, sensor.autoOffset)); - internalField.Append(new BoolField<1>(this, sensor.filter)); - internalField.Append(new BoolField<1>(this, sensor.logs)); - internalField.Append(new BoolField<1>(this, sensor.persistent)); - internalField.Append(new BoolField<1>(this, sensor.onlyPositive)); - internalField.Append(new UnsignedField<3>(this, _subid, "subid")); + if (version >= 219) { + internalField.Append(new UnsignedField<8>(this, _subid, "subid")); + internalField.Append(new UnsignedField<2>(this, sensor.type, "type")); + internalField.Append(new UnsignedField<6>(this, sensor.unit, "unit")); + internalField.Append(new UnsignedField<2>(this, sensor.prec, "prec")); + internalField.Append(new BoolField<1>(this, sensor.autoOffset)); + internalField.Append(new BoolField<1>(this, sensor.filter)); + internalField.Append(new BoolField<1>(this, sensor.logs)); + internalField.Append(new BoolField<1>(this, sensor.persistent)); + internalField.Append(new BoolField<1>(this, sensor.onlyPositive)); + internalField.Append(new SpareBitsField<1>(this)); + } + else { + internalField.Append(new UnsignedField<1>(this, sensor.type, "type")); + internalField.Append(new UnsignedField<5>(this, sensor.unit, "unit")); + internalField.Append(new UnsignedField<2>(this, sensor.prec, "prec")); + internalField.Append(new BoolField<1>(this, sensor.autoOffset)); + internalField.Append(new BoolField<1>(this, sensor.filter)); + internalField.Append(new BoolField<1>(this, sensor.logs)); + internalField.Append(new BoolField<1>(this, sensor.persistent)); + internalField.Append(new BoolField<1>(this, sensor.onlyPositive)); + internalField.Append(new UnsignedField<3>(this, _subid, "subid")); + } internalField.Append(new UnsignedField<32>(this, _param, "param")); }