From f3adc00de0fd8ab581a0cdd88027a83156feeb9a Mon Sep 17 00:00:00 2001 From: Phil Mitchell Date: Mon, 26 Jun 2023 22:27:15 +1000 Subject: [PATCH] Add mapping for all old trim switch names. --- .../storage/yaml/yaml_datastructs_funcs.cpp | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp index 75b75b91e..72e37e1da 100644 --- a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp @@ -835,13 +835,24 @@ static uint32_t r_swtchSrc(const YamlNode* node, const char* val, uint8_t val_le ival = (val[2] - '0') * XPOTS_MULTIPOS_COUNT + (val[3] - '0') + SWSRC_FIRST_MULTIPOS_SWITCH; } - else if (val_len > 6 - && val[0] == 'T' && val[1] == 'r' && val[2] == 'i' && val[3] == 'm' && val[4] == 'T' - && val[5] >= '1' && val[5] <= '9') { + else if (val_len > 5 + && val[0] == 'T' && val[1] == 'r' && val[2] == 'i' && val[3] == 'm') { // Old Trim names - ival = SWSRC_FIRST_TRIM + (yaml_str2int(val + 5, val_len - 6) - 1) * 2; - if (val[val_len - 1] == 'p') ival++; // Check for TrimTxUp + static const char* oldTrimNames[] = { + "TrimRudLeft", "TrimRudRight", "TrimEleDown", "TrimEleUp", "TrimThrDown", "TrimThrUp", "TrimAilLeft", "TrimAilRight", + "TrimT5Down", "TrimT5Up", "TrimT6Down", "TrimT6Up" + }; + + int i; + for (i = 0; i < sizeof(oldTrimNames)/sizeof(const char*); i += 1) { + if (strncmp(val, oldTrimNames[i], val_len) == 0) + break; + } + + if (i < sizeof(oldTrimNames)/sizeof(const char*)) { + ival = SWSRC_FIRST_TRIM + i; + } } else if (val_len > 3