diff --git a/nanovna.h b/nanovna.h index 8ba4f67..625bb3b 100644 --- a/nanovna.h +++ b/nanovna.h @@ -122,7 +122,7 @@ void cal_done(void); #endif #define MAX_FREQ_TYPE 5 enum stimulus_type { - ST_START=0, ST_STOP, ST_CENTER, ST_SPAN, ST_CW + ST_START=0, ST_STOP, ST_CENTER, ST_SPAN, ST_CW, ST_DUMMY // Last is used in marker ops }; void set_sweep_points(uint16_t points); diff --git a/ui.c b/ui.c index 1296526..840693c 100644 --- a/ui.c +++ b/ui.c @@ -796,6 +796,13 @@ static UI_FUNCTION_CALLBACK(menu_marker_op_cb) } } break; + case 4: // marker -> ref level + { + float l = actual_t[markers[active_marker].index]; + float s_max = value(l)/setting.scale; + user_set_reflevel(setting.scale*(floor(s_max)+2)); + } + break; #ifdef __VNA__ case 4: /* MARKERS->EDELAY */ { diff --git a/ui_sa.c b/ui_sa.c index 376144f..26f32a8 100644 --- a/ui_sa.c +++ b/ui_sa.c @@ -1588,20 +1588,19 @@ const menuitem_t menu_marker_select[] = { const menuitem_t menu_marker_ops[] = { - { MT_CALLBACK, ST_START, S_RARROW" START", menu_marker_op_cb }, - { MT_CALLBACK, ST_STOP, S_RARROW" STOP", menu_marker_op_cb }, - { MT_CALLBACK, ST_CENTER, S_RARROW" CENTER", menu_marker_op_cb }, - { MT_CALLBACK, ST_SPAN, S_RARROW" SPAN", menu_marker_op_cb }, + { MT_CALLBACK, ST_START, S_RARROW" START", menu_marker_op_cb }, + { MT_CALLBACK, ST_STOP, S_RARROW" STOP", menu_marker_op_cb }, + { MT_CALLBACK, ST_CENTER, S_RARROW" CENTER", menu_marker_op_cb }, + { MT_CALLBACK, ST_SPAN, S_RARROW" SPAN", menu_marker_op_cb }, + { MT_CALLBACK, 4, S_RARROW" REF LEVEL",menu_marker_op_cb }, { MT_CANCEL, 0, S_LARROW" BACK", NULL }, { MT_NONE, 0, NULL, NULL } // sentinel }; - - static const menuitem_t menu_marker[] = { // { MT_SUBMENU, 0, "SELECT\nMARKER", menu_marker_sel}, { MT_SUBMENU, 0, "MODIFY\nMARKERS", menu_marker_select}, - { MT_SUBMENU, 0, "MARKER OPS", menu_marker_ops}, + { MT_SUBMENU, 0, "MARKER\nOPS", menu_marker_ops}, { MT_SUBMENU, 0, "SEARCH\nMARKER", menu_marker_search}, { MT_CANCEL, 0, S_LARROW" BACK", NULL }, { MT_NONE, 0, NULL, NULL } // sentinel