diff --git a/nanovna.h b/nanovna.h index 8bfa53b..52eec7b 100644 --- a/nanovna.h +++ b/nanovna.h @@ -442,8 +442,8 @@ typedef struct config { uint32_t harmonic_freq_threshold; #endif uint16_t vbat_offset; - int16_t low_level_offset; - int16_t high_level_offset; + float low_level_offset; + float high_level_offset; uint32_t correction_frequency[CORRECTION_POINTS]; float correction_value[CORRECTION_POINTS]; uint32_t deviceid; @@ -453,7 +453,7 @@ typedef struct config { extern config_t config; //#define settingLevelOffset config.level_offset -int get_level_offset(void); +float get_level_offset(void); void set_trace_type(int t, int type); void set_trace_channel(int t, int channel); diff --git a/sa_cmd.c b/sa_cmd.c index d012b3d..e172c05 100644 --- a/sa_cmd.c +++ b/sa_cmd.c @@ -175,8 +175,8 @@ VNA_SHELL_FUNCTION(cmd_levelchange) VNA_SHELL_FUNCTION(cmd_leveloffset) { if (argc == 0) { - shell_printf("leveloffset low %.1f\r\n", (float) config.low_level_offset); - shell_printf("leveloffset high %.1f\r\n", (float)config.high_level_offset); + shell_printf("leveloffset low %.1f\r\n", config.low_level_offset); + shell_printf("leveloffset high %.1f\r\n", config.high_level_offset); return; } else if (argc == 2) { float v = my_atof(argv[1]); diff --git a/sa_core.c b/sa_core.c index a354ff4..1708913 100644 --- a/sa_core.c +++ b/sa_core.c @@ -491,11 +491,12 @@ void set_actual_power(float o) // Set peak level to known value config.low_level_offset = new_offset; #endif } + dirty = true; config_save(); // dirty = true; // No HW update required, only status panel refresh } -int get_level_offset(void) +float get_level_offset(void) { if (setting.mode == M_HIGH) { if (config.high_level_offset == 100) // Offset of 100 means not calibrated