From c6b847c9ac54a71bccf4d32150423a19d3e525bf Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Thu, 28 Oct 2021 11:34:15 +0200 Subject: [PATCH] thrTraceSrc and potsWarnMode --- radio/src/datastructs_private.h | 4 ++-- .../conversions/yaml/yaml_datastructs.cpp | 5 +++-- .../yaml/yaml_datastructs_funcs.cpp | 8 ++++++++ .../yaml/yaml_datastructs_nv14.cpp | 10 ++++++++-- .../conversions/yaml/yaml_datastructs_t12.cpp | 10 ++++++++-- .../conversions/yaml/yaml_datastructs_t8.cpp | 10 ++++++++-- .../yaml/yaml_datastructs_tlite.cpp | 10 ++++++++-- .../yaml/yaml_datastructs_tx12.cpp | 10 ++++++++-- .../conversions/yaml/yaml_datastructs_x10.cpp | 10 ++++++++-- .../yaml/yaml_datastructs_x12s.cpp | 10 ++++++++-- .../conversions/yaml/yaml_datastructs_x7.cpp | 10 ++++++++-- .../conversions/yaml/yaml_datastructs_x9d.cpp | 10 ++++++++-- .../conversions/yaml/yaml_datastructs_x9e.cpp | 10 ++++++++-- .../yaml/yaml_datastructs_x9lite.cpp | 10 ++++++++-- .../yaml/yaml_datastructs_x9lites.cpp | 10 ++++++++-- .../yaml/yaml_datastructs_xlite.cpp | 10 ++++++++-- .../yaml/yaml_datastructs_xlites.cpp | 10 ++++++++-- .../storage/yaml/yaml_datastructs_funcs.cpp | 20 +++++++++++++++++++ .../storage/yaml/yaml_datastructs_nv14.cpp | 10 ++++++++-- .../src/storage/yaml/yaml_datastructs_t12.cpp | 10 ++++++++-- .../src/storage/yaml/yaml_datastructs_t8.cpp | 10 ++++++++-- .../storage/yaml/yaml_datastructs_tlite.cpp | 10 ++++++++-- .../storage/yaml/yaml_datastructs_tx12.cpp | 10 ++++++++-- .../src/storage/yaml/yaml_datastructs_x10.cpp | 10 ++++++++-- .../storage/yaml/yaml_datastructs_x12s.cpp | 10 ++++++++-- .../src/storage/yaml/yaml_datastructs_x7.cpp | 10 ++++++++-- .../src/storage/yaml/yaml_datastructs_x9d.cpp | 10 ++++++++-- .../src/storage/yaml/yaml_datastructs_x9e.cpp | 10 ++++++++-- .../storage/yaml/yaml_datastructs_x9lite.cpp | 10 ++++++++-- .../storage/yaml/yaml_datastructs_x9lites.cpp | 10 ++++++++-- .../storage/yaml/yaml_datastructs_xlite.cpp | 10 ++++++++-- .../storage/yaml/yaml_datastructs_xlites.cpp | 10 ++++++++-- 32 files changed, 257 insertions(+), 60 deletions(-) diff --git a/radio/src/datastructs_private.h b/radio/src/datastructs_private.h index 88efd2731..7470aecd1 100644 --- a/radio/src/datastructs_private.h +++ b/radio/src/datastructs_private.h @@ -662,7 +662,7 @@ PACK(struct ModelData { SwashRingData swashR FUNC(swash_is_active); FlightModeData flightModeData[MAX_FLIGHT_MODES] FUNC(fmd_is_active); - NOBACKUP(uint8_t thrTraceSrc); + NOBACKUP(uint8_t thrTraceSrc CUST(r_thrSrc,w_thrSrc)); SWITCHES_WARNING_DATA @@ -677,7 +677,7 @@ PACK(struct ModelData { uint8_t spare1:3 SKIP; uint8_t thrTrimSw:3; - uint8_t potsWarnMode:2; + uint8_t potsWarnMode:2 ENUM(PotsWarnMode); ModuleData moduleData[NUM_MODULES]; int16_t failsafeChannels[MAX_OUTPUT_CHANNELS]; diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs.cpp index 37c7cb5c4..ba1c834fe 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs.cpp @@ -28,8 +28,9 @@ #include #include -#include "strhelpers.h" -#include "switches.h" +#include "../../../strhelpers.h" +#include "../../../switches.h" +#include "../../../timers.h" namespace yaml_conv_220 { diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp index 1dd2dcfc7..a4ad63050 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp @@ -912,3 +912,11 @@ bool w_logicSw(void* user, uint8_t* data, uint32_t bitoffs, return true; } + +#define r_thrSrc nullptr + +bool w_thrSrc(const YamlNode* node, uint32_t val, yaml_writer_func wf, void* opaque) +{ + auto src = throttleSource2Source(val); + return w_mixSrcRaw(nullptr, src, wf, opaque); +} diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_nv14.cpp index 4143fdc10..1a29bffd9 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_nv14.cpp @@ -228,6 +228,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -834,7 +840,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 320, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 32, r_swtchWarn, w_swtchWarn ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -842,7 +848,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_t12.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_t12.cpp index f40f25d6e..fb4c187ed 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_t12.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_t12.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_t8.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_t8.cpp index f40f25d6e..fb4c187ed 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_t8.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_t8.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_tlite.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_tlite.cpp index f40f25d6e..fb4c187ed 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_tlite.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_tlite.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_tx12.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_tx12.cpp index b35ec6ef2..4ba734556 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_tx12.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_tx12.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x10.cpp index 7a8f14fbe..0645456fa 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x10.cpp @@ -249,6 +249,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -851,7 +857,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 352, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 32, r_swtchWarn, w_swtchWarn ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -859,7 +865,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x12s.cpp index 1bc3b82e3..95321db53 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x12s.cpp @@ -249,6 +249,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -851,7 +857,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 352, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 32, r_swtchWarn, w_swtchWarn ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -859,7 +865,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x7.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x7.cpp index f40f25d6e..fb4c187ed 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x7.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x7.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x9d.cpp index 49084757c..345a01600 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x9d.cpp @@ -225,6 +225,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -815,7 +821,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 320, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 32, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 16 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -826,7 +832,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x9e.cpp index ca024b019..b1b82a9f4 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x9e.cpp @@ -264,6 +264,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -854,7 +860,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 320, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 64, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 32 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -865,7 +871,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x9lite.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x9lite.cpp index de87dd052..2c71c10ea 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x9lite.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x9lite.cpp @@ -205,6 +205,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -787,7 +793,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -796,7 +802,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x9lites.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x9lites.cpp index 6e1beb9a6..818015977 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x9lites.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x9lites.cpp @@ -213,6 +213,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -797,7 +803,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -806,7 +812,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_xlite.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_xlite.cpp index 75e7f7ca8..a770fcda7 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_xlite.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_xlite.cpp @@ -210,6 +210,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -794,7 +800,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -803,7 +809,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_xlites.cpp index c2299506a..ee6855638 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_xlites.cpp @@ -212,6 +212,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -798,7 +804,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -807,7 +813,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp index b1144b278..8661ddb38 100644 --- a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp @@ -76,6 +76,9 @@ namespace yaml_conv_220 { bool w_zov_color(void* user, uint8_t* data, uint32_t bitoffs, yaml_writer_func wf, void* opaque); + + bool w_thrSrc(const YamlNode* node, uint32_t val, yaml_writer_func wf, + void* opaque); }; // @@ -1179,3 +1182,20 @@ static bool w_logicSw(void* user, uint8_t* data, uint32_t bitoffs, { return yaml_conv_220::w_logicSw(user, data, bitoffs, wf, opaque); } + +static uint32_t r_thrSrc(const YamlNode* node, const char* val, uint8_t val_len) +{ + auto src = r_mixSrcRaw(nullptr, val, val_len); + auto thrSrc = source2ThrottleSource(src); + + if (thrSrc < 0) + return 0; + + return thrSrc; +} + +static bool w_thrSrc(const YamlNode* node, uint32_t val, yaml_writer_func wf, + void* opaque) +{ + return yaml_conv_220::w_thrSrc(node, val, wf, opaque); +} diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index 4143fdc10..1a29bffd9 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -228,6 +228,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -834,7 +840,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 320, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 32, r_swtchWarn, w_swtchWarn ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -842,7 +848,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_t12.cpp b/radio/src/storage/yaml/yaml_datastructs_t12.cpp index f40f25d6e..fb4c187ed 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t12.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_t8.cpp b/radio/src/storage/yaml/yaml_datastructs_t8.cpp index f40f25d6e..fb4c187ed 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t8.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t8.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp index f40f25d6e..fb4c187ed 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp index b35ec6ef2..4ba734556 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index 7a8f14fbe..0645456fa 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -249,6 +249,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -851,7 +857,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 352, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 32, r_swtchWarn, w_swtchWarn ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -859,7 +865,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp index 1bc3b82e3..95321db53 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp @@ -249,6 +249,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -851,7 +857,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 352, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 32, r_swtchWarn, w_swtchWarn ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -859,7 +865,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_x7.cpp b/radio/src/storage/yaml/yaml_datastructs_x7.cpp index f40f25d6e..fb4c187ed 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x7.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x7.cpp @@ -218,6 +218,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -802,7 +808,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -811,7 +817,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index 49084757c..345a01600 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -225,6 +225,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -815,7 +821,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 320, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 32, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 16 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -826,7 +832,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index ca024b019..b1b82a9f4 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -264,6 +264,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -854,7 +860,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 320, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 64, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 32 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -865,7 +871,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp index de87dd052..2c71c10ea 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp @@ -205,6 +205,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -787,7 +793,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -796,7 +802,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp index 6e1beb9a6..818015977 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp @@ -213,6 +213,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -797,7 +803,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -806,7 +812,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp index 75e7f7ca8..a770fcda7 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp @@ -210,6 +210,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -794,7 +800,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -803,7 +809,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL), diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index c2299506a..ee6855638 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -212,6 +212,12 @@ const struct YamlIdStr enum_SwitchSources[] = { { SWSRC_OFF, "OFF" }, { 0, NULL } }; +const struct YamlIdStr enum_PotsWarnMode[] = { + { POTS_WARN_OFF, "WARN_OFF" }, + { POTS_WARN_MANUAL, "WARN_MANUAL" }, + { POTS_WARN_AUTO, "WARN_AUTO" }, + { 0, NULL } +}; const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_NONE, "TYPE_NONE" }, { MODULE_TYPE_PPM, "TYPE_PPM" }, @@ -798,7 +804,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), YAML_STRUCT("swashR", 64, struct_SwashRingData, swash_is_active), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), - YAML_UNSIGNED( "thrTraceSrc", 8 ), + YAML_UNSIGNED_CUST( "thrTraceSrc", 8, r_thrSrc, w_thrSrc ), YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), @@ -807,7 +813,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("rssiAlarms", 16, struct_RssiAlarmData, NULL), YAML_PADDING( 3 ), YAML_UNSIGNED( "thrTrimSw", 3 ), - YAML_UNSIGNED( "potsWarnMode", 2 ), + YAML_ENUM("potsWarnMode", 2, enum_PotsWarnMode), YAML_ARRAY("moduleData", 232, 2, struct_ModuleData, NULL), YAML_ARRAY("failsafeChannels", 16, 32, struct_signed_16, NULL), YAML_STRUCT("trainerData", 40, struct_TrainerModuleData, NULL),