diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 756fc386d..10ca7e3be 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -1060,6 +1060,7 @@ class CustomScreenData { }; #else typedef char CustomScreenData[610+1]; +typedef char TopbarData[216+1]; #endif class ModelData { @@ -1131,6 +1132,8 @@ class ModelData { CustomScreenData customScreenData[5]; + TopbarData topbarData; + void clear(); bool isEmpty() const; void setDefaultInputs(const GeneralSettings & settings); diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index 0e4be85da..fbbee11cf 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -3396,6 +3396,8 @@ OpenTxModelData::OpenTxModelData(ModelData & modelData, BoardEnum board, unsigne for (int i = 0; i < 5; i++) { internalField.Append(new CharField<610>(modelData.customScreenData[i], true, "Custom screen blob")); } + internalField.Append(new CharField<216>(modelData.topbarData, true, "Top bar blob")); + internalField.Append(new SpareBitsField<8>()); // current view } } diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index b01e547df..21423d526 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -1101,6 +1101,7 @@ static inline void check_struct() CHKSIZE(RadioData, 847); CHKSIZE(ModelData, 9380); CHKSIZE(CustomScreenData, 610); + CHKSIZE(Topbar::PersistentData, 216); #elif defined(PCBSKY9X) CHKSIZE(MixData, 20); CHKSIZE(ExpoData, 17);