From 94764d8fa97e156eac7e20f37420eaa5f5611d0a Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sun, 18 Apr 2021 15:00:24 +0200 Subject: [PATCH] Updated X10 generated structs --- radio/src/gui/colorlcd/layout.h | 7 ++ radio/src/gui/colorlcd/widgets_container.h | 7 ++ .../storage/yaml/yaml_datastructs_funcs.cpp | 2 +- .../src/storage/yaml/yaml_datastructs_x10.cpp | 88 +++++++++++-------- 4 files changed, 67 insertions(+), 37 deletions(-) diff --git a/radio/src/gui/colorlcd/layout.h b/radio/src/gui/colorlcd/layout.h index 080cae4ad..226e38b72 100644 --- a/radio/src/gui/colorlcd/layout.h +++ b/radio/src/gui/colorlcd/layout.h @@ -33,7 +33,14 @@ constexpr uint32_t LAYOUT_REFRESH = 1000 / 2; // 2 Hz class BitmapBuffer; +#if !defined(YAML_GENERATOR) typedef WidgetsContainerPersistentData LayoutPersistentData; +#else +struct LayoutPersistentData { + ZonePersistentData zones[MAX_LAYOUT_ZONES]; + ZoneOptionValueTyped options[MAX_LAYOUT_OPTIONS]; +}; +#endif class LayoutFactory { diff --git a/radio/src/gui/colorlcd/widgets_container.h b/radio/src/gui/colorlcd/widgets_container.h index 31ea3f352..56b1f854e 100644 --- a/radio/src/gui/colorlcd/widgets_container.h +++ b/radio/src/gui/colorlcd/widgets_container.h @@ -67,7 +67,14 @@ struct WidgetsContainerPersistentData { ZoneOptionValueTyped options[O]; }; +#if !defined(YAML_GENERATOR) typedef WidgetsContainerPersistentData TopBarPersistentData; +#else +struct TopBarPersistentData { + ZonePersistentData zones[MAX_TOPBAR_ZONES]; + ZoneOptionValueTyped options[MAX_TOPBAR_OPTIONS]; +}; +#endif class WidgetsContainer: public FormGroup { diff --git a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp index 0781764c2..385a61d32 100644 --- a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp @@ -150,7 +150,7 @@ static uint8_t select_mod_type(uint8_t* data, uint32_t bitoffs) case MODULE_TYPE_XJT_PXX1: case MODULE_TYPE_R9M_PXX1: case MODULE_TYPE_R9M_LITE_PXX1: - case MODULE_TYPE_R9M_LITE_PRO_PXX1: + //case MODULE_TYPE_R9M_LITE_PRO_PXX1: return 3; case MODULE_TYPE_SBUS: return 4; diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index 7d2c14d72..5710beab0 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -189,11 +189,11 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_R9M_PXX2, "TYPE_R9M_PXX2" }, { MODULE_TYPE_R9M_LITE_PXX1, "TYPE_R9M_LITE_PXX1" }, { MODULE_TYPE_R9M_LITE_PXX2, "TYPE_R9M_LITE_PXX2" }, - { MODULE_TYPE_R9M_LITE_PRO_PXX1, "TYPE_R9M_LITE_PRO_PXX1" }, + { MODULE_TYPE_GHOST, "TYPE_GHOST" }, { MODULE_TYPE_R9M_LITE_PRO_PXX2, "TYPE_R9M_LITE_PRO_PXX2" }, { MODULE_TYPE_SBUS, "TYPE_SBUS" }, { MODULE_TYPE_XJT_LITE_PXX2, "TYPE_XJT_LITE_PXX2" }, - { MODULE_TYPE_FLYSKY, "TYPE_FLYSKY" }, + { MODULE_TYPE_AFHDS3, "TYPE_AFHDS3" }, { MODULE_TYPE_COUNT, "TYPE_COUNT" }, { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } @@ -275,7 +275,7 @@ static const struct YamlNode struct_ZoneOptionValueTyped[] = { YAML_UNION("value", 64, union_ZoneOptionValue_elmts, select_zov), YAML_END }; -static const struct YamlNode struct_ThemeBase__PersistentData[] = { +static const struct YamlNode struct_OpenTxTheme__PersistentData[] = { YAML_ARRAY("options", 96, 5, struct_ZoneOptionValueTyped, NULL), YAML_END }; @@ -289,7 +289,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightMode", 3 ), YAML_SIGNED( "antennaMode", 2 ), YAML_UNSIGNED( "disableRtcWarning", 1 ), - YAML_PADDING( 2 ), + YAML_UNSIGNED( "keysBacklight", 1 ), + YAML_PADDING( 1 ), YAML_STRUCT("trainer", 128, struct_TrainerData, NULL), YAML_UNSIGNED( "view", 8 ), YAML_PADDING( 2 ), @@ -340,7 +341,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED( "varioRange", 8 ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 8 ), + YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_UNSIGNED( "aux2SerialMode", 4 ), YAML_ARRAY("switchConfig", 2, 16, struct_switchConfig, nullptr), YAML_ARRAY("potsConfig", 2, 8, struct_potConfig, nullptr), YAML_ARRAY("slidersConfig", 1, 8, struct_sliderConfig, nullptr), @@ -351,7 +353,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "blOffBright", 7 ), YAML_STRING("bluetoothName", 10), YAML_STRING("themeName", 8), - YAML_STRUCT("themeData", 480, struct_ThemeBase__PersistentData, NULL), + YAML_STRUCT("themeData", 480, struct_OpenTxTheme__PersistentData, NULL), YAML_STRING("ownerRegistrationID", 8), YAML_END }; @@ -523,12 +525,16 @@ static const struct YamlNode struct_anonymous_5[] = { YAML_END }; static const struct YamlNode struct_anonymous_6[] = { - YAML_UNSIGNED( "rfProtocolExtra", 2 ), - YAML_PADDING( 3 ), + YAML_UNSIGNED( "rfProtocolExtra", 3 ), + YAML_UNSIGNED( "disableTelemetry", 1 ), + YAML_UNSIGNED( "disableMapping", 1 ), YAML_UNSIGNED( "customProto", 1 ), YAML_UNSIGNED( "autoBindMode", 1 ), YAML_UNSIGNED( "lowPowerMode", 1 ), YAML_SIGNED( "optionValue", 8 ), + YAML_UNSIGNED( "receiverTelemetryOff", 1 ), + YAML_UNSIGNED( "receiverHigherChannels", 1 ), + YAML_UNSIGNED( "spare", 6 ), YAML_END }; static const struct YamlNode struct_anonymous_7[] = { @@ -557,13 +563,23 @@ static const struct YamlNode struct_anonymous_9[] = { YAML_ARRAY("receiverName", 64, 3, struct_string_64, NULL), YAML_END }; +static const struct YamlNode struct_anonymous_10[] = { + YAML_UNSIGNED( "bindPower", 3 ), + YAML_UNSIGNED( "runPower", 3 ), + YAML_UNSIGNED( "emi", 1 ), + YAML_UNSIGNED( "telemetry", 1 ), + YAML_UNSIGNED( "failsafeTimeout", 16 ), + YAML_ARRAY("rx_freq", 8, 2, struct_unsigned_8, NULL), + YAML_END +}; static const struct YamlNode union_anonymous_4_elmts[] = { YAML_ARRAY("raw", 8, 25, struct_unsigned_8, NULL), YAML_STRUCT("ppm", 16, struct_anonymous_5, NULL), - YAML_STRUCT("multi", 16, struct_anonymous_6, NULL), + YAML_STRUCT("multi", 24, struct_anonymous_6, NULL), YAML_STRUCT("pxx", 16, struct_anonymous_7, NULL), YAML_STRUCT("sbus", 16, struct_anonymous_8, NULL), YAML_STRUCT("pxx2", 200, struct_anonymous_9, NULL), + YAML_STRUCT("afhds3", 48, struct_anonymous_10, NULL), YAML_END }; static const struct YamlNode struct_ModuleData[] = { @@ -579,8 +595,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 3 ), - YAML_PADDING( 5 ), + YAML_UNSIGNED( "mode", 8 ), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -611,61 +626,61 @@ static const struct YamlNode struct_string_32[] = { YAML_STRING("val", 4), YAML_END }; -static const struct YamlNode union_anonymous_10_elmts[] = { +static const struct YamlNode union_anonymous_11_elmts[] = { YAML_UNSIGNED( "id", 16 ), YAML_UNSIGNED( "persistentValue", 16 ), YAML_END }; -static const struct YamlNode struct_anonymous_12[] = { +static const struct YamlNode struct_anonymous_13[] = { YAML_UNSIGNED( "physID", 5 ), YAML_UNSIGNED( "rxIndex", 3 ), YAML_END }; -static const struct YamlNode union_anonymous_11_elmts[] = { - YAML_STRUCT("frskyInstance", 8, struct_anonymous_12, NULL), +static const struct YamlNode union_anonymous_12_elmts[] = { + YAML_STRUCT("frskyInstance", 8, struct_anonymous_13, NULL), YAML_UNSIGNED( "instance", 8 ), YAML_UNSIGNED( "formula", 8 ), YAML_END }; -static const struct YamlNode struct_anonymous_14[] = { +static const struct YamlNode struct_anonymous_15[] = { YAML_UNSIGNED( "ratio", 16 ), YAML_SIGNED( "offset", 16 ), YAML_END }; -static const struct YamlNode struct_anonymous_15[] = { +static const struct YamlNode struct_anonymous_16[] = { YAML_UNSIGNED( "source", 8 ), YAML_UNSIGNED( "index", 8 ), YAML_PADDING( 16 ), YAML_END }; -static const struct YamlNode struct_anonymous_16[] = { +static const struct YamlNode struct_anonymous_17[] = { YAML_ARRAY("sources", 8, 4, struct_signed_8, NULL), YAML_END }; -static const struct YamlNode struct_anonymous_17[] = { +static const struct YamlNode struct_anonymous_18[] = { YAML_UNSIGNED( "source", 8 ), YAML_PADDING( 24 ), YAML_END }; -static const struct YamlNode struct_anonymous_18[] = { +static const struct YamlNode struct_anonymous_19[] = { YAML_UNSIGNED( "gps", 8 ), YAML_UNSIGNED( "alt", 8 ), YAML_PADDING( 16 ), YAML_END }; -static const struct YamlNode union_anonymous_13_elmts[] = { - YAML_STRUCT("custom", 32, struct_anonymous_14, NULL), - YAML_STRUCT("cell", 32, struct_anonymous_15, NULL), - YAML_STRUCT("calc", 32, struct_anonymous_16, NULL), - YAML_STRUCT("consumption", 32, struct_anonymous_17, NULL), - YAML_STRUCT("dist", 32, struct_anonymous_18, NULL), +static const struct YamlNode union_anonymous_14_elmts[] = { + YAML_STRUCT("custom", 32, struct_anonymous_15, NULL), + YAML_STRUCT("cell", 32, struct_anonymous_16, NULL), + YAML_STRUCT("calc", 32, struct_anonymous_17, NULL), + YAML_STRUCT("consumption", 32, struct_anonymous_18, NULL), + YAML_STRUCT("dist", 32, struct_anonymous_19, NULL), YAML_UNSIGNED( "param", 32 ), YAML_END }; static const struct YamlNode struct_TelemetrySensor[] = { YAML_IDX, - YAML_UNION("id1", 16, union_anonymous_10_elmts, select_id1), - YAML_UNION("id2", 8, union_anonymous_11_elmts, select_id2), + YAML_UNION("id1", 16, union_anonymous_11_elmts, select_id1), + YAML_UNION("id2", 8, union_anonymous_12_elmts, select_id2), YAML_STRING("label", 4), YAML_UNSIGNED( "subId", 8 ), YAML_UNSIGNED( "type", 1 ), @@ -678,20 +693,20 @@ static const struct YamlNode struct_TelemetrySensor[] = { YAML_UNSIGNED( "persistent", 1 ), YAML_UNSIGNED( "onlyPositive", 1 ), YAML_PADDING( 1 ), - YAML_UNION("cfg", 32, union_anonymous_13_elmts, select_sensor_cfg), + YAML_UNION("cfg", 32, union_anonymous_14_elmts, select_sensor_cfg), YAML_END }; -static const struct YamlNode struct_Widget__PersistentData[] = { +static const struct YamlNode struct_WidgetPersistentData[] = { YAML_ARRAY("options", 96, 5, struct_ZoneOptionValueTyped, NULL), YAML_END }; static const struct YamlNode struct_ZonePersistentData[] = { YAML_IDX, YAML_STRING("widgetName", 10), - YAML_STRUCT("widgetData", 480, struct_Widget__PersistentData, NULL), + YAML_STRUCT("widgetData", 480, struct_WidgetPersistentData, NULL), YAML_END }; -static const struct YamlNode struct_Layout__PersistentData[] = { +static const struct YamlNode struct_LayoutPersistentData[] = { YAML_ARRAY("zones", 576, 10, struct_ZonePersistentData, NULL), YAML_ARRAY("options", 96, 10, struct_ZoneOptionValueTyped, NULL), YAML_END @@ -699,10 +714,10 @@ static const struct YamlNode struct_Layout__PersistentData[] = { static const struct YamlNode struct_CustomScreenData[] = { YAML_IDX, YAML_STRING("LayoutId", 10), - YAML_STRUCT("layoutData", 6720, struct_Layout__PersistentData, NULL), + YAML_STRUCT("layoutData", 6720, struct_LayoutPersistentData, NULL), YAML_END }; -static const struct YamlNode struct_Topbar__PersistentData[] = { +static const struct YamlNode struct_TopBarPersistentData[] = { YAML_ARRAY("zones", 576, 4, struct_ZonePersistentData, NULL), YAML_ARRAY("options", 96, 1, struct_ZoneOptionValueTyped, NULL), YAML_END @@ -737,7 +752,8 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("varioData", 40, struct_VarioData, NULL), YAML_UNSIGNED( "rssiSource", 8 ), YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), - YAML_PADDING( 6 ), + YAML_UNSIGNED( "spare1", 3 ), + YAML_UNSIGNED( "thrTrimSw", 3 ), YAML_UNSIGNED( "potsWarnMode", 2 ), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), @@ -748,7 +764,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("potsWarnPosition", 8, 9, struct_signed_8, NULL), YAML_ARRAY("telemetrySensors", 112, 60, struct_TelemetrySensor, NULL), YAML_ARRAY("screenData", 6800, 5, struct_CustomScreenData, NULL), - YAML_STRUCT("topbarData", 2400, struct_Topbar__PersistentData, NULL), + YAML_STRUCT("topbarData", 2400, struct_TopBarPersistentData, NULL), YAML_UNSIGNED( "view", 8 ), YAML_STRING("modelRegistrationID", 8), YAML_END