From 87103accffd3b0c50f1c587da8fc57003db2b0bf Mon Sep 17 00:00:00 2001 From: erikkaashoek Date: Thu, 25 Aug 2022 09:46:34 +0200 Subject: [PATCH] Harmonic message and leveloffset sign swap --- nanovna.h | 1 + sa_cmd.c | 2 ++ sa_core.c | 5 +++-- ui_sa.c | 13 ++++++++++++- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/nanovna.h b/nanovna.h index fb499ca..dabbfac 100644 --- a/nanovna.h +++ b/nanovna.h @@ -744,6 +744,7 @@ typedef struct config { float direct_lna_level_offset; float ultra_lna_level_offset; float adf_level_offset; + float direct_level_output_offset; #endif #ifdef __NOISE_FIGURE__ float noise_figure; diff --git a/sa_cmd.c b/sa_cmd.c index 231e0aa..d6a77bd 100644 --- a/sa_cmd.c +++ b/sa_cmd.c @@ -403,6 +403,7 @@ VNA_SHELL_FUNCTION(cmd_leveloffset) shell_printf(p, "ultra", config.ultra_level_offset); shell_printf(p, "ultra_lna", config.ultra_lna_level_offset); shell_printf(p, "adf", config.adf_level_offset); + shell_printf(p, "direct output",config.direct_level_output_offset); #endif return; } @@ -450,6 +451,7 @@ VNA_SHELL_FUNCTION(cmd_leveloffset) switch (mode){ case 0: config.low_level_output_offset = v; break; case 1: config.high_level_output_offset = v; break; + case 12: config.direct_level_output_offset = v; break; default: goto usage; } dirty = true; diff --git a/sa_core.c b/sa_core.c index eb996b6..ed78ddf 100644 --- a/sa_core.c +++ b/sa_core.c @@ -1187,7 +1187,7 @@ float low_out_offset(void) else return - config.low_level_offset; } else - return config.low_level_output_offset; + return - config.low_level_output_offset; } float high_out_offset(void) @@ -2213,10 +2213,11 @@ pureRSSI_t get_frequency_correction(freq_t f) // Frequency dependent RSSI c break; case PATH_DIRECT: c = CORRECTION_LOW_OUT_DIRECT; + cv += float_TO_PURE_RSSI(config.direct_level_output_offset); break; case PATH_LEAKAGE: c = CORRECTION_LOW_OUT_ADF; - cv += float_TO_PURE_RSSI(-config.adf_level_offset); + cv += float_TO_PURE_RSSI(config.adf_level_offset); break; } } diff --git a/ui_sa.c b/ui_sa.c index 8c61fd1..86e538e 100644 --- a/ui_sa.c +++ b/ui_sa.c @@ -3084,13 +3084,24 @@ static const menuitem_t menu_measure[] = { }; #ifdef __CALIBRATE__ +#ifdef TINYSA4 +static const menuitem_t menu_calibrate_harmonic[] = +{ + { MT_FORM | MT_TITLE, 0, "Connect 5.34GHz at -50 to -10dBm", NULL}, +#ifdef TINYSA4 + { MT_FORM | MT_CALLBACK, 0, "CALIBRATE", menu_calibrate_cb}, +#endif + { MT_FORM | MT_NONE, 0, NULL, menu_back} // next-> menu_back +}; +#endif + static const menuitem_t menu_calibrate[] = { { MT_FORM | MT_TITLE, 0, "Connect HIGH and LOW", NULL}, { MT_FORM | MT_CALLBACK, 0, "CALIBRATE", menu_calibrate_cb}, { MT_FORM | MT_CALLBACK, 0, "RESET CALIBRATION", menu_calibrate_cb}, #ifdef TINYSA4 - { MT_FORM | MT_CALLBACK, 0, "CALIBRATE HARMONIC", menu_calibrate_cb}, + { MT_FORM | MT_SUBMENU, 0, "CALIBRATE HARMONIC", menu_calibrate_harmonic}, #endif { MT_FORM | MT_NONE, 0, NULL, menu_back} // next-> menu_back };