From eb1e3078c8f2f5c2e4d5f593facad9e1be029755 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sat, 1 Jan 2022 12:35:29 +0100 Subject: [PATCH] Fix index for negative GVARs --- radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp | 2 +- radio/src/storage/yaml/yaml_datastructs_funcs.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp index d4c0ccf60..6d66fcf45 100644 --- a/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/conversions/yaml/yaml_datastructs_funcs.cpp @@ -40,7 +40,7 @@ bool in_write_weight(const YamlNode* node, uint32_t val, yaml_writer_func wf, int32_t gvar = (node->size > 8 ? GV1_LARGE : GV1_SMALL); if (sval >= gvar - 10 && sval <= gvar) { - char n = gvar - sval + '0'; + char n = gvar - sval + '1'; return wf(opaque, "-GV", 3) && wf(opaque, &n, 1); } else if (sval <= -gvar + 10 && sval >= -gvar) { char n = val - gvar + '1'; diff --git a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp index 26adf40bf..b51017eaf 100644 --- a/radio/src/storage/yaml/yaml_datastructs_funcs.cpp +++ b/radio/src/storage/yaml/yaml_datastructs_funcs.cpp @@ -155,7 +155,7 @@ static uint32_t in_read_weight(const YamlNode* node, const char* val, uint8_t va && (val[3] <= '9')) { TRACE("%.*s -> %i\n", val_len, val, gvar - (val[3] - '0')); - return gvar - (val[3] - '0'); // -GVx => 128 - x + return gvar - (val[3] - '1'); // -GVx => 128 - x } if ((val_len == 3)