From 69c017091a247b8e89bd676167e231e49c3b15ed Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Fri, 15 Oct 2021 15:34:52 +0200 Subject: [PATCH] More stringified values --- radio/src/datastructs.h | 14 +++--- radio/src/lua/api_general.cpp | 2 +- radio/src/mixer.cpp | 8 ++-- radio/src/myeeprom.h | 12 +++-- radio/src/storage/yaml/yaml_datastructs.cpp | 2 + .../storage/yaml/yaml_datastructs_nv14.cpp | 48 ++++++++++++++++--- .../src/storage/yaml/yaml_datastructs_t12.cpp | 48 ++++++++++++++++--- .../src/storage/yaml/yaml_datastructs_t8.cpp | 48 ++++++++++++++++--- .../storage/yaml/yaml_datastructs_tlite.cpp | 48 ++++++++++++++++--- .../storage/yaml/yaml_datastructs_tx12.cpp | 48 ++++++++++++++++--- .../src/storage/yaml/yaml_datastructs_x10.cpp | 46 +++++++++++++++--- .../storage/yaml/yaml_datastructs_x12s.cpp | 43 ++++++++++++++--- .../src/storage/yaml/yaml_datastructs_x7.cpp | 48 ++++++++++++++++--- .../src/storage/yaml/yaml_datastructs_x9d.cpp | 48 ++++++++++++++++--- .../src/storage/yaml/yaml_datastructs_x9e.cpp | 48 ++++++++++++++++--- .../storage/yaml/yaml_datastructs_x9lite.cpp | 48 ++++++++++++++++--- .../storage/yaml/yaml_datastructs_x9lites.cpp | 48 ++++++++++++++++--- .../storage/yaml/yaml_datastructs_xlite.cpp | 48 ++++++++++++++++--- .../storage/yaml/yaml_datastructs_xlites.cpp | 48 ++++++++++++++++--- radio/src/tests/mixer.cpp | 6 +-- 20 files changed, 594 insertions(+), 115 deletions(-) diff --git a/radio/src/datastructs.h b/radio/src/datastructs.h index 514ed0c2d..6b1eb90ae 100644 --- a/radio/src/datastructs.h +++ b/radio/src/datastructs.h @@ -396,7 +396,7 @@ PACK(struct TelemetrySensor { */ PACK(struct TrainerModuleData { - uint8_t mode; + uint8_t mode ENUM(TrainerMode); uint8_t channelsStart; int8_t channelsCount; // 0=8 channels int8_t frameLength; @@ -558,7 +558,7 @@ typedef uint8_t swarnenable_t; NOBACKUP(swarnstate_t switchWarningState CUST(r_swtchWarn,w_swtchWarn)); #else #define SWITCHES_WARNING_DATA \ - swarnstate_t switchWarningState; \ + swarnstate_t switchWarningState CUST(r_swtchWarn,w_swtchWarn); \ swarnenable_t switchWarningEnable; // TODO remove it in 2.4 #endif @@ -723,7 +723,7 @@ PACK(struct CalibData { PACK(struct TrainerMix { uint8_t srcChn:6; // 0-7 = ch1-8 - uint8_t mode:2; // off,add-mode,subst-mode + uint8_t mode:2 ENUM(TrainerMultiplex); // off,add-mode,subst-mode int8_t studWeight; }); @@ -748,8 +748,8 @@ PACK(struct TrainerData { #if defined(PCBHORUS) || defined(PCBNV14) #define EXTRA_GENERAL_FIELDS \ - NOBACKUP(uint8_t auxSerialMode:4); \ - NOBACKUP(uint8_t aux2SerialMode:4); \ + NOBACKUP(uint8_t auxSerialMode:4 ENUM(UartModes)); \ + NOBACKUP(uint8_t aux2SerialMode:4 ENUM(UartModes)); \ CUST_ARRAY(sticksConfig, struct_sticksConfig, stick_name_valid); \ swconfig_t switchConfig ARRAY(2,struct_switchConfig,nullptr); \ uint16_t potsConfig ARRAY(2,struct_potConfig,nullptr); /* two bits per pot */ \ @@ -769,7 +769,7 @@ PACK(struct TrainerData { #define BLUETOOTH_FIELDS #endif #define EXTRA_GENERAL_FIELDS \ - uint8_t auxSerialMode:4; \ + uint8_t auxSerialMode:4 ENUM(UartModes); \ uint8_t slidersConfig:4 ARRAY(1,struct_sliderConfig,nullptr); \ uint8_t potsConfig ARRAY(2,struct_potConfig,nullptr); /* two bits per pot */\ uint8_t backlightColor; \ @@ -849,7 +849,7 @@ PACK(struct RadioData { NOBACKUP(uint8_t backlightBright); NOBACKUP(uint32_t globalTimer); NOBACKUP(uint8_t bluetoothBaudrate:4); - NOBACKUP(uint8_t bluetoothMode:4); + NOBACKUP(uint8_t bluetoothMode:4 ENUM(BluetoothModes)); NOBACKUP(uint8_t countryCode:2); NOBACKUP(int8_t pwrOnSpeed:3); NOBACKUP(int8_t pwrOffSpeed:3); diff --git a/radio/src/lua/api_general.cpp b/radio/src/lua/api_general.cpp index 607d5f657..4f17b96ff 100644 --- a/radio/src/lua/api_general.cpp +++ b/radio/src/lua/api_general.cpp @@ -1878,7 +1878,7 @@ const luaR_value_entry opentxConstants[] = { { "PREC2", PREC2 }, { "VALUE", INPUT_TYPE_VALUE }, { "SOURCE", INPUT_TYPE_SOURCE }, - { "REPLACE", MLTPX_REP }, + { "REPLACE", MLTPX_REPL }, { "MIXSRC_MAX", MIXSRC_MAX }, { "MIXSRC_FIRST_INPUT", MIXSRC_FIRST_INPUT }, { "MIXSRC_Rud", MIXSRC_Rud }, diff --git a/radio/src/mixer.cpp b/radio/src/mixer.cpp index dc9fcb572..e19cc6637 100644 --- a/radio/src/mixer.cpp +++ b/radio/src/mixer.cpp @@ -480,11 +480,11 @@ void evalInputs(uint8_t mode) vStud *= td->studWeight; vStud /= 50; switch (td->mode) { - case 1: + case TRAINER_ADD: // add-mode v = limit(-RESX, v+vStud, RESX); break; - case 2: + case TRAINER_REPL: // subst-mode v = vStud; break; @@ -732,7 +732,7 @@ void evalFlightModeMixes(uint8_t mode, uint8_t tick10ms) swOn[i].now = swOn[i].prev = mixEnabled; } if (!mixEnabled) { - if ((md->speedDown || md->speedUp) && md->mltpx!=MLTPX_REP) { + if ((md->speedDown || md->speedUp) && md->mltpx!=MLTPX_REPL) { if (mixCondition) { v = (md->mltpx == MLTPX_ADD ? 0 : RESX); applyOffsetAndCurve = false; @@ -829,7 +829,7 @@ void evalFlightModeMixes(uint8_t mode, uint8_t tick10ms) int32_t * ptr = &chans[md->destCh]; // Save calculating address several times switch (md->mltpx) { - case MLTPX_REP: + case MLTPX_REPL: *ptr = dv; if (mode == e_perout_mode_normal) { for (uint8_t m=i-1; mdestCh==md->destCh; m--) diff --git a/radio/src/myeeprom.h b/radio/src/myeeprom.h index fda84317a..c100995c1 100644 --- a/radio/src/myeeprom.h +++ b/radio/src/myeeprom.h @@ -158,9 +158,15 @@ enum CurveRefType { #endif enum MixerMultiplex { - MLTPX_ADD = 0, - MLTPX_MUL = 1, - MLTPX_REP = 2, + MLTPX_ADD = 0, + MLTPX_MUL = 1, + MLTPX_REPL = 2, +}; + +enum TrainerMultiplex { + TRAINER_OFF = 0, + TRAINER_ADD = 1, + TRAINER_REPL = 2, }; #define GV1_SMALL 128 diff --git a/radio/src/storage/yaml/yaml_datastructs.cpp b/radio/src/storage/yaml/yaml_datastructs.cpp index c5cfeced6..2d4f6ca6c 100644 --- a/radio/src/storage/yaml/yaml_datastructs.cpp +++ b/radio/src/storage/yaml/yaml_datastructs.cpp @@ -60,3 +60,5 @@ #else #error "Board not supported by YAML storage" #endif + +static_assert(MAX_STR > MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN); diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index a4b57d5af..0b6d15f1f 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_ZoneOptionValueEnum[] = { { ZOV_Unsigned, "Unsigned" }, { ZOV_Signed, "Signed" }, @@ -78,7 +101,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -219,6 +242,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_OFF, "MODE_OFF" }, + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -239,7 +273,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -347,7 +381,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -366,8 +400,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), - YAML_UNSIGNED( "aux2SerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), + YAML_ENUM("aux2SerialMode", 4, enum_UartModes), YAML_ARRAY("sticksConfig", 0, 4, struct_sticksConfig, stick_name_valid), YAML_ARRAY("switchConfig", 2, 16, struct_switchConfig, nullptr), YAML_ARRAY("potsConfig", 2, 8, struct_potConfig, nullptr), @@ -632,7 +666,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -812,7 +846,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_t12.cpp b/radio/src/storage/yaml/yaml_datastructs_t12.cpp index 925ddfeb3..5b2029772 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t12.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -212,6 +235,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -232,7 +266,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -321,7 +355,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -340,7 +374,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -602,7 +636,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -756,7 +790,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 16 ), + YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -785,7 +819,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_t8.cpp b/radio/src/storage/yaml/yaml_datastructs_t8.cpp index 925ddfeb3..5b2029772 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t8.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t8.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -212,6 +235,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -232,7 +266,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -321,7 +355,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -340,7 +374,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -602,7 +636,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -756,7 +790,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 16 ), + YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -785,7 +819,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp index 925ddfeb3..5b2029772 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -212,6 +235,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -232,7 +266,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -321,7 +355,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -340,7 +374,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -602,7 +636,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -756,7 +790,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 16 ), + YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -785,7 +819,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp index 10339f3ad..ece1ae5d4 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -212,6 +235,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -232,7 +266,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -321,7 +355,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -340,7 +374,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -602,7 +636,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -756,7 +790,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 16 ), + YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -785,7 +819,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index 57c58c304..f933b73ed 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_ZoneOptionValueEnum[] = { { ZOV_Unsigned, "Unsigned" }, { ZOV_Signed, "Signed" }, @@ -78,7 +101,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -240,6 +263,15 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -260,7 +292,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -364,7 +396,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -383,8 +415,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), - YAML_UNSIGNED( "aux2SerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), + YAML_ENUM("aux2SerialMode", 4, enum_UartModes), YAML_ARRAY("sticksConfig", 0, 4, struct_sticksConfig, stick_name_valid), YAML_ARRAY("switchConfig", 2, 16, struct_switchConfig, nullptr), YAML_ARRAY("potsConfig", 2, 8, struct_potConfig, nullptr), @@ -649,7 +681,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -829,7 +861,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 31 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp index d31960c8e..7b7f4ed86 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_ZoneOptionValueEnum[] = { { ZOV_Unsigned, "Unsigned" }, { ZOV_Signed, "Signed" }, @@ -78,7 +101,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -240,6 +263,14 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -260,7 +291,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -364,7 +395,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -383,8 +414,8 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 72, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), - YAML_UNSIGNED( "aux2SerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), + YAML_ENUM("aux2SerialMode", 4, enum_UartModes), YAML_ARRAY("sticksConfig", 0, 4, struct_sticksConfig, stick_name_valid), YAML_ARRAY("switchConfig", 2, 16, struct_switchConfig, nullptr), YAML_ARRAY("potsConfig", 2, 8, struct_potConfig, nullptr), @@ -649,7 +680,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x7.cpp b/radio/src/storage/yaml/yaml_datastructs_x7.cpp index 925ddfeb3..5b2029772 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x7.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x7.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -212,6 +235,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -232,7 +266,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -321,7 +355,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -340,7 +374,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -602,7 +636,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -756,7 +790,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 16 ), + YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -785,7 +819,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index 3c6ad7cf4..82f115868 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -219,6 +242,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -239,7 +273,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -328,7 +362,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -347,7 +381,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -610,7 +644,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -769,7 +803,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 320, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 32 ), + YAML_UNSIGNED_CUST( "switchWarningState", 32, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 16 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -800,7 +834,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index 6fc3341ec..7f473974a 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -258,6 +281,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -278,7 +312,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -367,7 +401,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -386,7 +420,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -649,7 +683,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -808,7 +842,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 320, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 64 ), + YAML_UNSIGNED_CUST( "switchWarningState", 64, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 32 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -840,7 +874,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp index ee0e08ad5..0bef6d72f 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -199,6 +222,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -219,7 +253,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -308,7 +342,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -327,7 +361,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -587,7 +621,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -741,7 +775,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 16 ), + YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -770,7 +804,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp index 953e8576c..54b2c4e6d 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -207,6 +230,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -227,7 +261,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -316,7 +350,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -335,7 +369,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -597,7 +631,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -751,7 +785,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 16 ), + YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -780,7 +814,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp index e874be5a2..d0fc9e196 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -204,6 +227,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -224,7 +258,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -313,7 +347,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -332,7 +366,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -594,7 +628,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -748,7 +782,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 16 ), + YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -777,7 +811,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index b93615484..793a1f216 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -21,6 +21,12 @@ const struct YamlIdStr enum_AntennaModes[] = { { ANTENNA_MODE_LAST, "MODE_LAST" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMultiplex[] = { + { TRAINER_OFF, "OFF" }, + { TRAINER_ADD, "ADD" }, + { TRAINER_REPL, "REPL" }, + { 0, NULL } +}; const struct YamlIdStr enum_BeeperMode[] = { { e_mode_quiet, "mode_quiet" }, { e_mode_alarms, "mode_alarms" }, @@ -28,6 +34,13 @@ const struct YamlIdStr enum_BeeperMode[] = { { e_mode_all, "mode_all" }, { 0, NULL } }; +const struct YamlIdStr enum_BluetoothModes[] = { + { BLUETOOTH_OFF, "OFF" }, + { BLUETOOTH_TELEMETRY, "TELEMETRY" }, + { BLUETOOTH_TRAINER, "TRAINER" }, + { BLUETOOTH_MAX, "MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_Functions[] = { { FUNC_OVERRIDE_CHANNEL, "OVERRIDE_CHANNEL" }, { FUNC_TRAINER, "TRAINER" }, @@ -57,6 +70,16 @@ const struct YamlIdStr enum_Functions[] = { { FUNC_MAX, "MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_UartModes[] = { + { UART_MODE_NONE, "MODE_NONE" }, + { UART_MODE_TELEMETRY_MIRROR, "MODE_TELEMETRY_MIRROR" }, + { UART_MODE_TELEMETRY, "MODE_TELEMETRY" }, + { UART_MODE_SBUS_TRAINER, "MODE_SBUS_TRAINER" }, + { UART_MODE_LUA, "MODE_LUA" }, + { UART_MODE_COUNT, "MODE_COUNT" }, + { UART_MODE_MAX, "MODE_MAX" }, + { 0, NULL } +}; const struct YamlIdStr enum_TimerModes[] = { { TMRMODE_OFF, "OFF" }, { TMRMODE_ON, "ON" }, @@ -71,7 +94,7 @@ const struct YamlIdStr enum_TimerModes[] = { const struct YamlIdStr enum_MixerMultiplex[] = { { MLTPX_ADD, "ADD" }, { MLTPX_MUL, "MUL" }, - { MLTPX_REP, "REP" }, + { MLTPX_REPL, "REPL" }, { 0, NULL } }; const struct YamlIdStr enum_MixSources[] = { @@ -206,6 +229,17 @@ const struct YamlIdStr enum_ModuleType[] = { { MODULE_TYPE_MAX, "TYPE_MAX" }, { 0, NULL } }; +const struct YamlIdStr enum_TrainerMode[] = { + { TRAINER_MODE_MASTER_TRAINER_JACK, "MODE_MASTER_TRAINER_JACK" }, + { TRAINER_MODE_SLAVE, "MODE_SLAVE" }, + { TRAINER_MODE_MASTER_SBUS_EXTERNAL_MODULE, "MODE_MASTER_SBUS_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_CPPM_EXTERNAL_MODULE, "MODE_MASTER_CPPM_EXTERNAL_MODULE" }, + { TRAINER_MODE_MASTER_BATTERY_COMPARTMENT, "MODE_MASTER_BATTERY_COMPARTMENT" }, + { TRAINER_MODE_MASTER_BLUETOOTH, "MODE_MASTER_BLUETOOTH" }, + { TRAINER_MODE_SLAVE_BLUETOOTH, "MODE_SLAVE_BLUETOOTH" }, + { TRAINER_MODE_MULTI, "MODE_MULTI" }, + { 0, NULL } +}; // // Structs last @@ -226,7 +260,7 @@ static const struct YamlNode struct_signed_16[] = { static const struct YamlNode struct_TrainerMix[] = { YAML_IDX, YAML_UNSIGNED( "srcChn", 6 ), - YAML_UNSIGNED( "mode", 2 ), + YAML_ENUM("mode", 2, enum_TrainerMultiplex), YAML_SIGNED( "studWeight", 8 ), YAML_END }; @@ -315,7 +349,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_UNSIGNED( "backlightBright", 8 ), YAML_UNSIGNED( "globalTimer", 32 ), YAML_UNSIGNED( "bluetoothBaudrate", 4 ), - YAML_UNSIGNED( "bluetoothMode", 4 ), + YAML_ENUM("bluetoothMode", 4, enum_BluetoothModes), YAML_UNSIGNED( "countryCode", 2 ), YAML_SIGNED( "pwrOnSpeed", 3 ), YAML_SIGNED( "pwrOffSpeed", 3 ), @@ -334,7 +368,7 @@ static const struct YamlNode struct_RadioData[] = { YAML_SIGNED_CUST( "varioRange", 8, r_vPitch, w_vPitch ), YAML_SIGNED( "varioRepeat", 8 ), YAML_ARRAY("customFn", 88, 64, struct_CustomFunctionData, cfn_is_active), - YAML_UNSIGNED( "auxSerialMode", 4 ), + YAML_ENUM("auxSerialMode", 4, enum_UartModes), YAML_ARRAY("slidersConfig", 1, 4, struct_sliderConfig, nullptr), YAML_ARRAY("potsConfig", 2, 4, struct_potConfig, nullptr), YAML_UNSIGNED( "backlightColor", 8 ), @@ -598,7 +632,7 @@ static const struct YamlNode struct_ModuleData[] = { YAML_END }; static const struct YamlNode struct_TrainerModuleData[] = { - YAML_UNSIGNED( "mode", 8 ), + YAML_ENUM("mode", 8, enum_TrainerMode), YAML_UNSIGNED( "channelsStart", 8 ), YAML_SIGNED( "channelsCount", 8 ), YAML_SIGNED( "frameLength", 8 ), @@ -752,7 +786,7 @@ static const struct YamlNode struct_ModelData[] = { YAML_STRUCT("swashR", 64, struct_SwashRingData, NULL), YAML_ARRAY("flightModeData", 288, 9, struct_FlightModeData, fmd_is_active), YAML_UNSIGNED( "thrTraceSrc", 8 ), - YAML_UNSIGNED( "switchWarningState", 16 ), + YAML_UNSIGNED_CUST( "switchWarningState", 16, r_swtchWarn, w_swtchWarn ), YAML_UNSIGNED( "switchWarningEnable", 8 ), YAML_ARRAY("gvars", 56, 9, struct_GVarData, NULL), YAML_STRUCT("varioData", 40, struct_VarioData, NULL), @@ -781,7 +815,7 @@ static const struct YamlNode struct_PartialModel[] = { YAML_END }; -#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 24 +#define MAX_RADIODATA_MODELDATA_PARTIALMODEL_STR_LEN 32 static const struct YamlNode __RadioData_root_node = YAML_ROOT( struct_RadioData ); diff --git a/radio/src/tests/mixer.cpp b/radio/src/tests/mixer.cpp index 0bbd0c935..765f68aeb 100644 --- a/radio/src/tests/mixer.cpp +++ b/radio/src/tests/mixer.cpp @@ -789,12 +789,12 @@ TEST_F(MixerTest, flightModeTransition) g_model.flightModeData[1].fadeIn = 100; g_model.flightModeData[1].fadeOut = 100; g_model.mixData[0].destCh = 0; - g_model.mixData[0].mltpx = MLTPX_REP; + g_model.mixData[0].mltpx = MLTPX_REPL; g_model.mixData[0].srcRaw = MIXSRC_MAX; g_model.mixData[0].flightModes = 0b11110; g_model.mixData[0].weight = 100; g_model.mixData[1].destCh = 0; - g_model.mixData[1].mltpx = MLTPX_REP; + g_model.mixData[1].mltpx = MLTPX_REPL; g_model.mixData[1].srcRaw = MIXSRC_MAX; g_model.mixData[1].flightModes = 0b11101; g_model.mixData[1].weight = -10; @@ -813,7 +813,7 @@ TEST_F(MixerTest, flightModeOverflow) g_model.flightModeData[0].fadeIn = 100; g_model.flightModeData[0].fadeOut = 100; g_model.mixData[0].destCh = 0; - g_model.mixData[0].mltpx = MLTPX_REP; + g_model.mixData[0].mltpx = MLTPX_REPL; g_model.mixData[0].srcRaw = MIXSRC_MAX; g_model.mixData[0].flightModes = 0; g_model.mixData[0].weight = 250;