From ce6e9fa4a9a792ae1a6c4b929987f05634a2246c Mon Sep 17 00:00:00 2001 From: Bertrand Songis Date: Mon, 10 Feb 2014 14:47:33 +0100 Subject: [PATCH] Lua EEPROM support in Companion added --- companion/src/eeprominterface.h | 13 +++++++++++++ companion/src/firmwares/opentx/opentxeeprom.cpp | 13 ++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/companion/src/eeprominterface.h b/companion/src/eeprominterface.h index 06c9ec13f..368354cd4 100644 --- a/companion/src/eeprominterface.h +++ b/companion/src/eeprominterface.h @@ -853,6 +853,17 @@ class ModuleData { void clear() { memset(this, 0, sizeof(ModuleData)); } }; +#define C9X_MAX_SCRIPTS 3 +#define C9X_MAX_SCRIPT_INPUTS 10 +class ScriptData { + public: + ScriptData() { clear(); } + char filename[10+1]; + char name[10+1]; + int inputs[C9X_MAX_SCRIPT_INPUTS]; + void clear() { memset(this, 0, sizeof(ScriptData)); } +}; + class ModelData { public: ModelData(); @@ -903,6 +914,8 @@ class ModelData { ModuleData moduleData[C9X_NUM_MODULES+1/*trainer*/]; + ScriptData scriptData[C9X_MAX_SCRIPTS]; + void clear(); bool isempty(); void setDefault(uint8_t id); diff --git a/companion/src/firmwares/opentx/opentxeeprom.cpp b/companion/src/firmwares/opentx/opentxeeprom.cpp index b36ed2c50..23942d3e8 100644 --- a/companion/src/firmwares/opentx/opentxeeprom.cpp +++ b/companion/src/firmwares/opentx/opentxeeprom.cpp @@ -2185,10 +2185,17 @@ Open9xModelDataNew::Open9xModelDataNew(ModelData & modelData, BoardEnum board, u } if (IS_TARANIS(board) && version >= 216) { - // TODO ScriptData scriptsData[MAX_SCRIPTS]; - internalField.Append(new SpareBitsField<720>()); - for (int i=0; i<32; i++) + for (int i=0; i<3; i++) { + ScriptData & script = modelData.scriptData[i]; + internalField.Append(new ZCharField<10>(script.filename)); + internalField.Append(new ZCharField<10>(script.name)); + for (int j=0; j<10; j++) { + internalField.Append(new SignedField<8>(script.inputs[j])); + } + } + for (int i=0; i<32; i++) { internalField.Append(new ZCharField<4>(modelData.inputNames[i])); + } } }