Fixed YAML GVAR based values
This commit is contained in:
@@ -23,7 +23,6 @@
|
||||
#include "datastructs_220.h"
|
||||
#include "myeeprom_220.h"
|
||||
|
||||
#define GVAR_SMALL 128
|
||||
#define VOLUME_LEVEL_DEF 12
|
||||
|
||||
bool w_board(void* user, uint8_t* data, uint32_t bitoffs,
|
||||
@@ -38,12 +37,13 @@ bool in_write_weight(const YamlNode* node, uint32_t val, yaml_writer_func wf,
|
||||
void* opaque)
|
||||
{
|
||||
int32_t sval = yaml_to_signed(val, node->size);
|
||||
int32_t gvar = (node->size > 8 ? GV1_LARGE : GV1_SMALL);
|
||||
|
||||
if (sval > GVAR_SMALL - 11 && sval < GVAR_SMALL - 1) {
|
||||
char n = GVAR_SMALL - sval + '0';
|
||||
if (sval >= gvar - 10 && sval <= gvar) {
|
||||
char n = gvar - sval + '0';
|
||||
return wf(opaque, "-GV", 3) && wf(opaque, &n, 1);
|
||||
} else if (sval < -GVAR_SMALL + 11 && sval > -GVAR_SMALL + 1) {
|
||||
char n = val - GVAR_SMALL + '1';
|
||||
} else if (sval <= -gvar + 10 && sval >= -gvar) {
|
||||
char n = val - gvar + '1';
|
||||
return wf(opaque, "GV", 2) && wf(opaque, &n, 1);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user