From fb9e52ca9a9213c89151329781ffc4c2376bb54a Mon Sep 17 00:00:00 2001 From: erikkaashoek Date: Sat, 25 Jul 2020 12:32:28 +0200 Subject: [PATCH] Small UI update and improved trigger status display --- sa_core.c | 23 +++++++++++++++++------ ui_sa.c | 11 +++++++---- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/sa_core.c b/sa_core.c index 051e59c..f17c005 100644 --- a/sa_core.c +++ b/sa_core.c @@ -760,9 +760,13 @@ void set_trigger(int trigger) { if (trigger == T_UP || trigger == T_DOWN){ setting.trigger_direction = trigger; - } else { + } else if (trigger == T_DONE) { + pause_sweep(); // Trigger once so pause after this sweep has completed!!!!!!! + redraw_request |= REDRAW_CAL_STATUS; // Show status change setting.trigger = trigger; setting.trigger = trigger; + } else { sweep_mode = SWEEP_ENABLE; + setting.trigger = trigger; } redraw_request|=REDRAW_TRIGGER | REDRAW_CAL_STATUS; //dirty = true; // No HW update required, only status panel refresh @@ -1685,8 +1689,9 @@ pureRSSI_t perform(bool break_on_operation, int i, uint32_t f, int tracking) SI4432_Fill(MODE_SELECT(setting.mode), 1); // fast mode possible to pre-fill RSSI buffer } #endif - if (setting.trigger == T_SINGLE) - pause_sweep(); // Trigger once so pause after this sweep has completed!!!!!!! + if (setting.trigger == T_SINGLE) { + set_trigger(T_DONE); + } start_of_sweep_timestamp = chVTGetSystemTimeX(); } else @@ -1892,8 +1897,9 @@ sweep_again: // stay in sweep loop when output mo if (actual_t[max_index[0]] < setting.trigger_level) { goto again; // not yet, sweep again } else { - if (setting.trigger == T_SINGLE) - pause_sweep(); // Stop scanning after completing this sweep if above trigger + if (setting.trigger == T_SINGLE) { + set_trigger(T_DONE); + } } // scandirty = true; // To show trigger happened } @@ -2382,7 +2388,12 @@ void draw_cal_status(void) ili9341_set_foreground(color); y += YSTEP + YSTEP/2 ; ili9341_drawstring("PAUSED", x, y); - + } + if (setting.trigger == T_SINGLE || setting.trigger == T_NORMAL ) { + color = BRIGHT_COLOR_GREEN; + ili9341_set_foreground(color); + y += YSTEP + YSTEP/2 ; + ili9341_drawstring("ARMED", x, y); } // if (setting.mode == M_LOW) { diff --git a/ui_sa.c b/ui_sa.c index 6ba6e08..dab9935 100644 --- a/ui_sa.c +++ b/ui_sa.c @@ -1040,10 +1040,12 @@ static UI_FUNCTION_ADV_CALLBACK(menu_trigger_acb) b->icon = setting.trigger == data ? BUTTON_ICON_GROUP_CHECKED : BUTTON_ICON_GROUP; return; } - set_trigger(data); + if (data != T_DONE) { + set_trigger(data); // menu_move_back(); - ui_mode_normal(); - completed = true; + ui_mode_normal(); + completed = true; + } } #if 0 @@ -1566,7 +1568,7 @@ static const menuitem_t menu_measure[] = { static const menuitem_t menu_calibrate[] = { - { MT_FORM | MT_TITLE, 0, "Connect IN and OUT", NULL}, + { 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 CALBRATION", menu_calibrate_cb}, { MT_FORM | MT_CANCEL, 0, S_LARROW" BACK", NULL }, @@ -1616,6 +1618,7 @@ static const menuitem_t menu_trigger[] = { { MT_ADV_CALLBACK, T_AUTO, "AUTO", menu_trigger_acb}, { MT_ADV_CALLBACK, T_NORMAL, "NORMAL", menu_trigger_acb}, { MT_ADV_CALLBACK, T_SINGLE, "SINGLE", menu_trigger_acb}, +// { MT_ADV_CALLBACK, T_DONE, "READY", menu_trigger_acb}, { MT_KEYPAD, KM_TRIGGER, "TRIGGER\nLEVEL", NULL}, { MT_ADV_CALLBACK, T_UP, "UP\nEDGE", menu_trigger_acb}, { MT_ADV_CALLBACK, T_DOWN, "DOWN\nEDGE", menu_trigger_acb},