From 8afd24b8797fe8b72fd4531781ded03d314eb061 Mon Sep 17 00:00:00 2001 From: erikkaashoek Date: Tue, 16 Jan 2024 14:39:01 +0100 Subject: [PATCH] Draw line in multiband mode repaired --- plot.c | 2 +- sa_core.c | 9 +++++++-- ui.c | 7 ++++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/plot.c b/plot.c index 9e23deb..271f4ca 100644 --- a/plot.c +++ b/plot.c @@ -596,7 +596,7 @@ static uint16_t get_trigger_level( setting.trigger_level = measured[setting.trigger_trace][x]; #endif #ifdef __BANDS__ - else if (setting.multi_band && !setting.multi_trace) { + else if (!setting.draw_line && setting.multi_band && !setting.multi_trace) { int b = getBand(x); setting.trigger_level = setting.bands[b].level; } diff --git a/sa_core.c b/sa_core.c index d928316..986dd17 100644 --- a/sa_core.c +++ b/sa_core.c @@ -2058,6 +2058,8 @@ void set_trigger(int trigger) setting.trigger = trigger; } else { sweep_mode = SWEEP_ENABLE; + if (trigger != T_AUTO) + setting.draw_line = false; setting.trigger = trigger; } redraw_request|=REDRAW_TRIGGER | REDRAW_CAL_STATUS; @@ -5010,7 +5012,8 @@ static bool sweep(bool break_on_operation) set_frequencies(0,0,sweep_points); update_rbw(); current_band = getBand(0); - setting.trigger_level = setting.bands[current_band].level; + if (setting.trigger != T_AUTO) + setting.trigger_level = setting.bands[current_band].level; } #endif sweep_counter = 0; @@ -5060,7 +5063,8 @@ static bool sweep(bool break_on_operation) // set_step_delay(SD_FAST); // set_rbw(8000); // set_sweep_points((setting.bands[current_band].end - setting.bands[current_band].start) / 800000); - setting.trigger_level = setting.bands[current_band].level; + if (setting.trigger != T_AUTO) + setting.trigger_level = setting.bands[current_band].level; setting.auto_attenuation = false; } } else { @@ -5111,6 +5115,7 @@ static bool sweep(bool break_on_operation) int new_band = getBand(i); if (current_band != new_band) { current_band = new_band; + if (setting.trigger != T_AUTO) setting.trigger_level = setting.bands[current_band].level; } } diff --git a/ui.c b/ui.c index 0bde2f6..c69dd9f 100644 --- a/ui.c +++ b/ui.c @@ -3175,7 +3175,7 @@ static UI_FUNCTION_ADV_CALLBACK(menu_trigger_level_acb) setting.trigger_trace = data; if (!setting.multi_band) ui_mode_keypad(KM_TRIGGER); - return; +// return; } else { if (IS_TRACE_ENABLE(data) && data != setting.trigger_trace) return; @@ -3908,6 +3908,7 @@ static UI_FUNCTION_ADV_CALLBACK(menu_settings_draw_line_acb){ if (setting.draw_line) { kp_help_text = "Level"; ui_mode_keypad(KM_TRIGGER); + setting.draw_line = true; set_trigger(T_AUTO); } } @@ -5779,8 +5780,8 @@ set_numeric_value(void) update_grid(); break; case KM_TRIGGER: - if (setting.trigger == T_AUTO ) - set_trigger(T_NORMAL); +// if (setting.trigger == T_AUTO) +// set_trigger(T_NORMAL); set_trigger_level(to_dBm(uistat.value)); completed = true; break;