From a4ad8154eb997cc0018c874f08844edbb89eb407 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sat, 18 Dec 2021 17:26:04 +0100 Subject: [PATCH] Add function switches --- .../src/firmwares/edgetx/yaml_modeldata.cpp | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/companion/src/firmwares/edgetx/yaml_modeldata.cpp b/companion/src/firmwares/edgetx/yaml_modeldata.cpp index ec4af1e8c..e758eeaf6 100644 --- a/companion/src/firmwares/edgetx/yaml_modeldata.cpp +++ b/companion/src/firmwares/edgetx/yaml_modeldata.cpp @@ -538,6 +538,20 @@ Node convert::encode(const ModelData& rhs) node["view"] = rhs.view; node["modelRegistrationID"] = rhs.registrationId; + if (getCurrentFirmware()->getCapability(FunctionSwitches)) { + node["functionSwitchConfig"] = rhs.functionSwitchConfig; + node["functionSwitchGroup"] = rhs.functionSwitchGroup; + node["functionSwitchStartConfig"] = rhs.functionSwitchStartConfig; + node["functionSwitchLogicalState"] = rhs.functionSwitchLogicalState; + + for (int i = 0; i < CPN_MAX_FUNCTION_SWITCHES; i++) { + if (strlen(rhs.functionSwitchNames[i]) > 0) { + node["functionSwitchNames"][std::to_string(i)] = + rhs.functionSwitchNames[i]; + } + } + } + return node; } @@ -627,6 +641,12 @@ bool convert::decode(const Node& node, ModelData& rhs) node["view"] >> rhs.view; node["modelRegistrationID"] >> rhs.registrationId; + node["functionSwitchConfig"] >> rhs.functionSwitchConfig; + node["functionSwitchGroup"] >> rhs.functionSwitchGroup; + node["functionSwitchStartConfig"] >> rhs.functionSwitchStartConfig; + node["functionSwitchLogicalState"] >> rhs.functionSwitchLogicalState; + node["functionSwitchNames"] >> rhs.functionSwitchNames; + return true; }