diff --git a/radio/src/datastructs_private.h b/radio/src/datastructs_private.h index 82025d0a4..e8c4e5419 100644 --- a/radio/src/datastructs_private.h +++ b/radio/src/datastructs_private.h @@ -749,6 +749,7 @@ PACK(struct StepsCalibData { #endif PACK(struct CalibData { + CUST_IDX(calib, r_calib, w_calib); int16_t mid; int16_t spanNeg; int16_t spanPos; @@ -837,7 +838,7 @@ PACK(struct RadioData { // Real attributes NOBACKUP(uint8_t version); NOBACKUP(uint16_t variant SKIP); - CalibData calib[NUM_STICKS + STORAGE_NUM_POTS + STORAGE_NUM_SLIDERS + STORAGE_NUM_MOUSE_ANALOGS]; + CalibData calib[NUM_STICKS + STORAGE_NUM_POTS + STORAGE_NUM_SLIDERS + STORAGE_NUM_MOUSE_ANALOGS] NO_IDX; NOBACKUP(uint16_t chkSum SKIP); N_HORUS_FIELD(int8_t currModel); N_HORUS_FIELD(uint8_t contrast); diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp index ba9164672..1da071392 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp @@ -262,6 +262,18 @@ uint8_t select_sensor_cfg(void* user, uint8_t* data, uint32_t bitoffs) return 5; } +#define r_calib nullptr + +static bool w_calib(void* user, yaml_writer_func wf, void* opaque) +{ + auto tw = reinterpret_cast(user); + uint16_t idx = tw->getElmts(); + + const char* str = + yaml_output_enum(idx + MIXSRC_Rud, enum_MixSources); + return str ? wf(opaque, str, strlen(str)) : true; +} + bool sw_write(void* user, yaml_writer_func wf, void* opaque) { auto tw = reinterpret_cast(user); diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_nv14.cpp index 940b5a3da..50cca5960 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_nv14.cpp @@ -286,7 +286,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_t12.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_t12.cpp index aa600ddd4..4c83f6ca7 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_t12.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_t12.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_t8.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_t8.cpp index aa600ddd4..4c83f6ca7 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_t8.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_t8.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_tlite.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_tlite.cpp index aa600ddd4..4c83f6ca7 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_tlite.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_tlite.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_tx12.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_tx12.cpp index 8603219d8..3ca25ac59 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_tx12.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_tx12.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x10.cpp index f7d199a5c..8e16a09d7 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x10.cpp @@ -307,7 +307,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x12s.cpp index 82c6bad7d..c181173ed 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x12s.cpp @@ -307,7 +307,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x7.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x7.cpp index aa600ddd4..4c83f6ca7 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x7.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x7.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x9d.cpp index e5a64dadb..f2360da6e 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x9d.cpp @@ -283,7 +283,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x9e.cpp index 23fdb4339..ec7c90672 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x9e.cpp @@ -322,7 +322,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x9lite.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x9lite.cpp index bb18434b3..b907b94f2 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x9lite.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x9lite.cpp @@ -263,7 +263,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_x9lites.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_x9lites.cpp index 56641780a..08b21279b 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_x9lites.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_x9lites.cpp @@ -271,7 +271,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_xlite.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_xlite.cpp index ba53ebcc7..09a40757f 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_xlite.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_xlite.cpp @@ -268,7 +268,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_xlites.cpp index 491f7e014..8de74acaa 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_xlites.cpp @@ -270,7 +270,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp index 5b67ef0d1..d50fcea39 100644 --- a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp @@ -451,6 +451,26 @@ static uint8_t select_sensor_cfg(void* user, uint8_t* data, uint32_t bitoffs) return yaml_conv_220::select_sensor_cfg(user, data, bitoffs); } +static uint32_t r_calib(void* user, const char* val, uint8_t val_len) +{ + (void)user; + + uint32_t sw = yaml_parse_enum(enum_MixSources, val, val_len); + if (sw >= MIXSRC_Rud) return sw - MIXSRC_Rud; + + return (uint32_t)yaml_str2int(val, val_len); +} + +static bool w_calib(void* user, yaml_writer_func wf, void* opaque) +{ + auto tw = reinterpret_cast(user); + uint16_t idx = tw->getElmts(); + + const char* str = + yaml_output_enum(idx + MIXSRC_Rud, enum_MixSources); + return str ? wf(opaque, str, strlen(str)) : true; +} + static uint32_t sw_read(void* user, const char* val, uint8_t val_len) { (void)user; diff --git a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp index 28a32ad4e..c4a2f4757 100644 --- a/radio/src/storage/yaml/yaml_datastructs_nv14.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_nv14.cpp @@ -286,7 +286,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_t12.cpp b/radio/src/storage/yaml/yaml_datastructs_t12.cpp index 35622e44d..68eb593a3 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t12.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_t8.cpp b/radio/src/storage/yaml/yaml_datastructs_t8.cpp index 35622e44d..68eb593a3 100644 --- a/radio/src/storage/yaml/yaml_datastructs_t8.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_t8.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp index 35622e44d..68eb593a3 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tlite.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp index 25357a3a4..9b8a1c83a 100644 --- a/radio/src/storage/yaml/yaml_datastructs_tx12.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_tx12.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x10.cpp b/radio/src/storage/yaml/yaml_datastructs_x10.cpp index c1fdd5cb3..f1d906645 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x10.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x10.cpp @@ -309,7 +309,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp index 8574486e8..deb37890c 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x12s.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x12s.cpp @@ -307,7 +307,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x7.cpp b/radio/src/storage/yaml/yaml_datastructs_x7.cpp index 35622e44d..68eb593a3 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x7.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x7.cpp @@ -276,7 +276,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp index 0be048a3f..c1e27bfc0 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9d.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9d.cpp @@ -283,7 +283,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp index 6a811f5a0..7672ec929 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9e.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9e.cpp @@ -322,7 +322,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp index bda4c59c6..8deb84a22 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lite.cpp @@ -263,7 +263,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp index d16c3bd75..2705097a3 100644 --- a/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_x9lites.cpp @@ -271,7 +271,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp index fc4795fb4..521e3600f 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlite.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlite.cpp @@ -268,7 +268,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp index 9fba51c9c..016ead533 100644 --- a/radio/src/storage/yaml/yaml_datastructs_xlites.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_xlites.cpp @@ -270,7 +270,7 @@ const struct YamlIdStr enum_TelemetrySensorType[] = { // static const struct YamlNode struct_CalibData[] = { - YAML_IDX, + YAML_IDX_CUST("calib",r_calib,w_calib), YAML_SIGNED( "mid", 16 ), YAML_SIGNED( "spanNeg", 16 ), YAML_SIGNED( "spanPos", 16 ), diff --git a/radio/src/storage/yaml/yaml_defs.h b/radio/src/storage/yaml/yaml_defs.h index 2f5c0e874..54c275745 100644 --- a/radio/src/storage/yaml/yaml_defs.h +++ b/radio/src/storage/yaml/yaml_defs.h @@ -52,6 +52,10 @@ int _dummy_##tag[0] _yaml_attribute("raw:YAML_ARRAY(" _yaml_note( \ #tag) ", 0, 4, " _yaml_note(elmt_type) ", " _yaml_note(fcn) ")") +#define CUST_IDX(tag, read, write) \ + int _dummy_##tag[0] _yaml_attribute("raw:YAML_IDX_CUST(" _yaml_note( \ + #tag) "," _yaml_note(read) "," _yaml_note(write) ")") + #else #define ENUM(label) @@ -64,6 +68,7 @@ #define ARRAY(elmt_size, elmt_type, fcn) #define CUST_ATTR(tag, read, write) #define CUST_ARRAY(tag, elmt_type, fcn) +#define CUST_IDX(tag, read, write) #endif