From fd53c06bae5c209b915650c4414ae456f309f253 Mon Sep 17 00:00:00 2001 From: erikkaashoek Date: Tue, 6 Jul 2021 10:50:32 +0200 Subject: [PATCH] Various small bug fixes --- nanovna.h | 1 + sa_core.c | 26 +++++++++++++------------- ui_sa.c | 34 +++++++++++++++++----------------- 3 files changed, 31 insertions(+), 30 deletions(-) diff --git a/nanovna.h b/nanovna.h index 24d9108..139c688 100644 --- a/nanovna.h +++ b/nanovna.h @@ -1235,6 +1235,7 @@ int invoke_quick_menu(int); bool ui_process_listen_lever(void); void refresh_sweep_menu(int i); void save_to_sd(int mask); +void drawMessageBox(char *header, char *text, uint32_t delay); // Irq operation process set #define OP_NONE 0x00 diff --git a/sa_core.c b/sa_core.c index 533a43e..5a79dcc 100644 --- a/sa_core.c +++ b/sa_core.c @@ -242,6 +242,8 @@ void reset_settings(int m) setting.stored[t] = false; setting.subtract[t] = 0; // Disabled } + for (int l=0;l=0) { - float old_level = stored_t[j-1]; while (j < sweep_points) - stored_t[j++] = old_level; + stored_t[j++] = setting.limits[prev].level; setting.show_stored = true; TRACE_ENABLE(TRACE_STORED_FLAG); } else { @@ -1181,13 +1182,12 @@ void set_average(int t, int v) && (v != AV_QUASI) #endif ); -#ifndef __TRACES_MENU__ if (enable && !IS_TRACES_ENABLED(TRACE_TEMP_FLAG)) { enableTracesAtComplete(TRACE_TEMP_FLAG); scan_after_dirty = 0; - } else - TRACE_DISABLE(TRACE_TEMP_FLAG); -#endif + } +// else +// TRACE_DISABLE(TRACE_TEMP_FLAG); //dirty = true; // No HW update required, only status panel refresh } diff --git a/ui_sa.c b/ui_sa.c index 1265556..8ea6f1d 100644 --- a/ui_sa.c +++ b/ui_sa.c @@ -1580,15 +1580,13 @@ static UI_FUNCTION_ADV_CALLBACK(menu_subtract_trace_acb) static UI_FUNCTION_ADV_CALLBACK(menu_traces_acb) { (void)item; + int count = 0; if(b){ if (data == 0) { // Select trace b->param_1.i = current_trace+1; b->bg = LCD_TRACE_1_COLOR+current_trace; } else if (data == 1) { // View - if (current_trace) - b->icon = IS_TRACE_ENABLE(current_trace) ? BUTTON_ICON_CHECK : BUTTON_ICON_NOCHECK; - else - b->fg = LCD_DARK_GREY; + b->icon = IS_TRACE_ENABLE(current_trace) ? BUTTON_ICON_CHECK : BUTTON_ICON_NOCHECK; } else if (data == 2) // freeze b->icon = setting.stored[current_trace] ? BUTTON_ICON_CHECK : BUTTON_ICON_NOCHECK; @@ -1605,9 +1603,16 @@ static UI_FUNCTION_ADV_CALLBACK(menu_traces_acb) menu_push_submenu(menu_trace); return; case 1: + for (int i=0;i 1) { // Always 1 trace enabled TRACE_DISABLE(1<text, sizeof(b->text), "%.6FHz\n%.1fdBm", (float)setting.limits[data-1].frequency, setting.limits[data-1].level); - b->icon = BUTTON_ICON_CHECK; - } else { - plot_printf(b->text, sizeof(b->text), "EMPTY"); - b->icon = BUTTON_ICON_NOCHECK; - } + plot_printf(b->text, sizeof(b->text), "%.6FHz\n%.2F%s", (float)setting.limits[data-1].frequency, value(setting.limits[data-1].level),unit_string[setting.unit]); + b->icon = (setting.limits[data-1].enabled?BUTTON_ICON_CHECK:BUTTON_ICON_NOCHECK) ; return; } active_limit = data -1; @@ -2791,7 +2791,7 @@ static const menuitem_t menu_trace[] = static const menuitem_t menu_marker_trace[] = { - { MT_ADV_CALLBACK|MT_REPEATS,DATA_STARTS_REPEATS(0,TRACES_MAX), MT_CUSTOM_LABEL, menu_marker_trace_acb}, + { MT_ADV_CALLBACK|MT_REPEATS,DATA_STARTS_REPEATS(0,TRACES_MAX), "TRACE %d", menu_marker_trace_acb}, { MT_NONE, 0, NULL, menu_back} // next-> menu_back }; @@ -2803,8 +2803,8 @@ static const menuitem_t menu_store_trace[] = static const menuitem_t menu_subtract_trace[] = { - { MT_ADV_CALLBACK|MT_REPEATS,DATA_STARTS_REPEATS(0,TRACES_MAX), MT_CUSTOM_LABEL, menu_subtract_trace_acb}, - { MT_NONE, 0, NULL, menu_back} // next-> menu_back + { MT_ADV_CALLBACK|MT_REPEATS,DATA_STARTS_REPEATS(0,TRACES_MAX+1), MT_CUSTOM_LABEL, menu_subtract_trace_acb}, + { MT_NONE, 0, NULL, menu_back} // next-> menu_back }; static const menuitem_t menu_traces[] = @@ -3054,7 +3054,7 @@ static void fetch_numeric_target(uint8_t mode) plot_printf(uistat.text, sizeof uistat.text, "%3.6fMHz", uistat.freq_value / 1000000.0); break; case KM_LIMIT_LEVEL: - uistat.value = setting.limits[active_limit].level; + uistat.value = value(setting.limits[active_limit].level); plot_printf(uistat.text, sizeof uistat.text, "%.1f", uistat.value); break; #endif @@ -3218,7 +3218,7 @@ set_numeric_value(void) limits_update(); break; case KM_LIMIT_LEVEL: - setting.limits[active_limit].level = uistat.value; + setting.limits[active_limit].level = to_dBm(uistat.value); limits_update(); break; #endif