From 9bbc595eb113c45c1ff9bc3ff6ab57be466e7ab4 Mon Sep 17 00:00:00 2001 From: Andre Bernet Date: Sun, 22 Jan 2017 13:19:20 +0100 Subject: [PATCH] Fix Horus haptic mode (#4224) --- companion/src/firmwares/opentx/opentxeeprom.cpp | 8 ++++++-- radio/src/datastructs.h | 1 + 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 373b288c3..2926f7518 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -3595,12 +3595,16 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, BoardEnum bo } if (version >= 216 && IS_TARANIS(board)) internalField.Append(new SignedField<3>(generalData.splashDuration)); - else if (version >= 213 || (!IS_ARM(board) && version >= 212)) + else if ((version >= 213 && !IS_HORUS(board)) || (!IS_ARM(board) && version >= 212)) internalField.Append(new UnsignedField<3>(generalData.splashMode)); // TODO - else + else if (!IS_HORUS(board)) internalField.Append(new SpareBitsField<3>()); + internalField.Append(new SignedField<2>((int &)generalData.hapticMode)); + if (IS_HORUS(board)) + internalField.Append(new SpareBitsField<3>()); + if (IS_ARM(board)) internalField.Append(new SignedField<8>(generalData.switchesDelay)); else diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index bd1f03e2d..8b8f0c53d 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -999,6 +999,7 @@ PACK(struct RadioData { NOBACKUP(uint8_t mavbaud:3); SPLASH_MODE; /* 3bits */ NOBACKUP(int8_t hapticMode:2); // -2=quiet, -1=only alarms, 0=no keys, 1=all + HORUS_FIELD(int8_t splashSpares:3); AVR_FIELD(uint8_t blOffBright:4) AVR_FIELD(uint8_t blOnBright:4) ARM_FIELD(int8_t switchesDelay)