Many small ui updates

tinySA-v0.2
erikkaashoek 6 years ago
parent 7f0efbfdf9
commit 77f8938edd

@ -1728,27 +1728,14 @@ VNA_SHELL_FUNCTION(cmd_trace)
return;
}
if (strcmp(argv[0], "all") == 0 &&
argc > 1 && strcmp(argv[1], "off") == 0) {
for (t = 0; t < TRACES_MAX; t++)
set_trace_type(t, TRC_OFF);
goto exit;
}
if ('0' <= argv[0][0] && argv[0][0] <= '9') {
t = my_atoi(argv[0]);
if (t < 0 || t >= TRACES_MAX)
if (argc != 1 || t < 0 || t >= TRACES_MAX)
goto usage;
if (argc == 1) {
const char *type = get_trace_typename(t);
const char *channel = trc_channel_name[trace[t].channel];
shell_printf("%d %s %s\r\n", t, type, channel);
return;
}
if (argc > 1 && strcmp(argv[1], "off") == 0)
set_trace_type(t, TRC_OFF);
if (argc > 1 && strcmp(argv[1], "on") == 0)
set_trace_type(t, TRC_LOGMAG);
goto exit;
const char *type = get_trace_typename(t);
const char *channel = trc_channel_name[trace[t].channel];
shell_printf("%d %s %s\r\n", t, type, channel);
return;
}
#if MAX_UNIT_TYPE != 4
#error "Unit type enum possibly changed, check cmd_trace function"
@ -1758,31 +1745,59 @@ VNA_SHELL_FUNCTION(cmd_trace)
int type = get_str_index(argv[0], cmd_type_list);
if (type >= 0) {
set_unit(type);
return;
goto update;
}
goto usage;
}
static const char cmd_store_list[] = "store|clear|subtract";
if (argc == 1) {
int type = get_str_index(argv[0], cmd_store_list);
if (type >= 0) {
switch(type) {
case 0:
set_storage();
goto update;
case 1:
set_clear_storage();
goto update;
case 2:
set_subtract_storage();
goto update;
}
}
goto usage;
}
// 0 1
static const char cmd_scale_ref_list[] = "scale|reflevel";
if (argc == 2) {
switch (get_str_index(argv[0], cmd_scale_ref_list)) {
case 0:
//trace[t].scale = my_atof(argv[2]);
if (UNIT_IS_LINEAR(setting.unit))
set_auto_reflevel(false);
set_scale(my_atof(argv[1]));
goto exit;
if (UNIT_IS_LINEAR(setting.unit) && setting.reflevel < setting.scale*NGRIDY)
set_reflevel(setting.scale*NGRIDY);
goto update;
case 1:
//trace[t].refpos = my_atof(argv[2]);
set_reflevel(my_atof(argv[1]));
goto exit;
default:
goto usage;
if (strcmp(argv[1],"auto") == 0) {
set_auto_reflevel(true);
} else {
set_auto_reflevel(false);
set_reflevel(my_atof(argv[1]));
}
goto update;
}
goto usage;
}
exit:
update:
redraw_request |= REDRAW_CAL_STATUS;
exit:
return;
usage:
shell_printf("trace {0|1|2|all} [{on|off]\r\n"\
shell_printf("trace {%s}\r\n"\
"trace {%s}\r\n"\
"trace {%s} {value}\r\n", cmd_type_list, cmd_scale_ref_list);
"trace {%s} {value|auto}\r\n", cmd_store_list, cmd_type_list, cmd_scale_ref_list);
}
@ -2286,7 +2301,6 @@ static const VNAShellCommand commands[] =
{ "leveloffset", cmd_leveloffset, 0 },
{ "levelsweep", cmd_levelsweep, 0 },
{ "modulation", cmd_modulation, 0 },
{ "reflevel", cmd_reflevel, 0 },
{ "rbw", cmd_rbw, 0 },
{ "mode", cmd_mode, 0 },
{ "spur", cmd_spur, 0 },

@ -124,26 +124,6 @@ VNA_SHELL_FUNCTION(cmd_levelsweep)
set_level_sweep(f);
}
VNA_SHELL_FUNCTION(cmd_reflevel)
{
if (argc != 1) {
usage:
shell_printf("usage: reflevel <level>|auto\r\n");
return;
}
if (strcmp(argv[0],"auto") == 0) {
set_auto_reflevel(true);
} else {
float r = my_atof(argv[0]);
if (r < -150.0 || r>100.0)
goto usage;
set_auto_reflevel(false);
set_reflevel(r);
}
}
VNA_SHELL_FUNCTION(cmd_leveloffset)
{
if (argc == 0) {

@ -450,7 +450,8 @@ void set_harmonic(int h)
void set_step_delay(int d)
{
if (d < 300 || d > 30000)
if ((2 <= d && d < 300) || d > 30000)
return;
setting.step_delay = d;
dirty = true;
@ -1538,7 +1539,7 @@ again:
if (scandirty) {
scandirty = false;
draw_cal_status();
redraw_request |= REDRAW_CAL_STATUS;
}
if (!in_selftest && setting.mode == M_LOW && setting.auto_attenuation && max_index[0] > 0) { // Auto attenuate
@ -1939,7 +1940,7 @@ void draw_cal_status(void)
while (i < sizeof(scale_value)/sizeof(float)) {
float t = (setting.scale/setting.unit_scale) / scale_value[i];;
if (t > 0.9 && t < 1.1){
plot_printf(buf, BLEN, "%s/",scale_vtext[i]);
plot_printf(buf, BLEN, "%s%s/",scale_vtext[i],unit_scale_text[setting.unit_scale_index]);
break;
}
i++;

@ -774,7 +774,7 @@ menu_marker_op_cb(int item, uint8_t data)
}
menu_move_back();
ui_mode_normal();
draw_cal_status();
redraw_request |= REDRAW_CAL_STATUS;
//redraw_all();
}
@ -1222,7 +1222,7 @@ menu_invoke(int item)
return;
(*cb)(item, menu->data);
// if (!(menu->type & MT_FORM))
draw_cal_status();
redraw_request |= REDRAW_CAL_STATUS;
break;
}
@ -1243,7 +1243,7 @@ menu_invoke(int item)
ui_mode_keypad(menu->data);
ui_process_keypad();
}
draw_cal_status();
redraw_request |= REDRAW_CAL_STATUS;
break;
}
}
@ -1362,7 +1362,7 @@ static const char * const keypad_mode_label[] = {
#endif
static const char * const keypad_scale_text[] = { "1", "2", "5", "10", "20" , "50", "100", "200", "500"};
static const int keypad_scale_value[] = { 1, 2, 5, 10, 20 , 50, 100, 200, 500};
//static const int keypad_scale_value[] = { 1, 2, 5, 10, 20 , 50, 100, 200, 500};
static void
@ -1877,6 +1877,7 @@ ui_mode_keypad(int _keypad_mode)
draw_menu();
draw_keypad();
draw_numeric_area_frame();
fetch_numeric_target();
draw_numeric_input("");
}

@ -350,12 +350,12 @@ static const keypads_t keypads_freq[] = {
{ 0, 0, -1 }
};
// 7 8 9 n
// 4 5 6 u
// 1 2 3 m
// 7 8 9
// 4 5 6
// 1 2 3
// 0 . < x
static const keypads_t keypads_scale[] = {
static const keypads_t keypads_positive[] = {
{ 1, 3, KP_PERIOD },
{ 0, 3, 0 },
{ 0, 2, 1 },
@ -367,15 +367,17 @@ static const keypads_t keypads_scale[] = {
{ 0, 0, 7 },
{ 1, 0, 8 },
{ 2, 0, 9 },
{ 3, 0, KP_n },
{ 3, 1, KP_u },
{ 3, 2, KP_m },
{ 3, 3, KP_X1 },
{ 2, 3, KP_BS },
{ 0, 0, -1 }
};
static const keypads_t keypads_newscale[] = {
// 100 200 500 n
// 10 20 50 u
// 1 2 5 m
// 0 . < x
static const keypads_t keypads_pos_unit[] = {
{ 1, 3, KP_PERIOD },
{ 0, 3, 0 },
{ 0, 2, KP_1 },
@ -400,7 +402,31 @@ static const keypads_t keypads_newscale[] = {
// 1 2 3 -
// 0 . < x
static const keypads_t keypads_level[] = {
static const keypads_t keypads_plusmin_unit[] = {
{ 1, 3, KP_PERIOD },
{ 0, 3, 0 },
{ 0, 2, 1 },
{ 1, 2, 2 },
{ 2, 2, 3 },
{ 0, 1, 4 },
{ 1, 1, 5 },
{ 2, 1, 6 },
{ 0, 0, 7 },
{ 1, 0, 8 },
{ 2, 0, 9 },
{ 3, 0, KP_u},
{ 3, 1, KP_m},
{ 3, 2, KP_MINUS },
{ 3, 3, KP_X1 },
{ 2, 3, KP_BS },
{ 0, 0, -1 }
};
// 7 8 9
// 4 5 6
// 1 2 3 -
// 0 . < x
static const keypads_t keypads_plusmin[] = {
{ 1, 3, KP_PERIOD },
{ 0, 3, 0 },
{ 0, 2, 1 },
@ -446,22 +472,22 @@ static const keypads_t * const keypads_mode_tbl[] = {
keypads_freq, // center
keypads_freq, // span
keypads_freq, // cw freq
keypads_level, // refpos
keypads_newscale, // scale
keypads_scale, // attenuation
keypads_level, // actual power
keypads_plusmin_unit, // reflevel
keypads_pos_unit, // scale
keypads_positive, // attenuation
keypads_plusmin_unit, // actual power
keypads_freq, // IF
keypads_level, // sample time
keypads_scale, // drive
keypads_level, // KM_LOWOUTLEVEL
keypads_level, // KM_DECAY
keypads_level, // KM_NOISE
keypads_level, // KM_10MHz
keypads_level, // KM_REPEA
keypads_level, // KM_OFFSET
keypads_level, // KM_TRIGGER
keypads_level, // KM_LEVELSWEEP
keypads_level, // KM_SWEEP_TIME
keypads_positive, // sample delay
keypads_positive, // drive
keypads_plusmin, // KM_LOWOUTLEVEL
keypads_positive, // KM_DECAY
keypads_positive, // KM_NOISE
keypads_plusmin, // KM_10MHz
keypads_positive, // KM_REPEA
keypads_plusmin, // KM_OFFSET
keypads_plusmin_unit, // KM_TRIGGER
keypads_plusmin, // KM_LEVELSWEEP
keypads_positive, // KM_SWEEP_TIME
};
#ifdef __VNA__
@ -471,7 +497,7 @@ static const char * const keypad_mode_label[] = {
#endif
#ifdef __SA__
static const char * const keypad_mode_label[] = {
"error", "START", "STOP", "CENTER", "SPAN", "FREQ", "REFPOS", "SCALE", // 0-7
"error", "START", "STOP", "CENTER", "SPAN", "FREQ", "\2REF\0LEVEL", "SCALE", // 0-7
"\2ATTENUATE\0 0-31dB", "\2ACTUAL\0POWER", "IF", "\2SAMPLE\0DELAY", "DRIVE", "LEVEL", "SCANS", "LEVEL", // 8-15
"OFFSET" , "\2SAMPLE\0REPEAT", "OFFSET", "\2TRIGGER\0LEVEL", "\2LEVEL\0SWEEP", "\2SWEEP\0SECONDS"// 16-
};
@ -520,7 +546,7 @@ extern const menuitem_t menu_topultra[];
break;
#endif
}
draw_cal_status();
redraw_request |= REDRAW_CAL_STATUS;
}
void menu_load_preset_cb(int item, uint8_t data)
@ -695,7 +721,7 @@ static void menu_spur_cb(int item, uint8_t data)
SetSpur(1); // must be 0 or 1 !!!!
// menu_move_back();
ui_mode_normal();
draw_cal_status();
redraw_request |= REDRAW_CAL_STATUS;
}
#endif
@ -856,7 +882,7 @@ static void menu_average_cb(int item, uint8_t data)
set_average(item);
menu_move_back();
ui_mode_normal();
draw_cal_status();
redraw_request |= REDRAW_CAL_STATUS;
}
static void
@ -947,7 +973,7 @@ static void menu_trigger_cb(int item, uint8_t data)
set_trigger(data);
// menu_move_back();
ui_mode_normal();
draw_cal_status();
redraw_request |= REDRAW_CAL_STATUS;
}
#if 0
@ -1684,6 +1710,8 @@ static void menu_item_modify_attribute(
} else if (menu == menu_scanning_speed) {
if (item == setting.step_delay){
mark = true;
} else if (item == 2 && setting.step_delay > 1) {
mark = true;
}
#ifdef __ULTRA__
} else if (MT_MASK(menu[item].type) == MT_CALLBACK && menu == menu_harmonic) {
@ -1777,6 +1805,7 @@ static void fetch_numeric_target(void)
break;
case KM_ATTENUATION:
uistat.value = get_attenuation();
kp_help_text = "0..30";
plot_printf(uistat.text, sizeof uistat.text, "%ddB", ((int32_t)uistat.value));
break;
case KM_ACTUALPOWER:
@ -1789,10 +1818,12 @@ static void fetch_numeric_target(void)
break;
case KM_SAMPLETIME:
uistat.value = setting.step_delay;
kp_help_text = "300..30000";
plot_printf(uistat.text, sizeof uistat.text, "%3duS", ((int32_t)uistat.value));
break;
case KM_REPEAT:
uistat.value = setting.repeat;
kp_help_text = "1..100";
plot_printf(uistat.text, sizeof uistat.text, "%2d", ((int32_t)uistat.value));
break;
case KM_DRIVE:
@ -1801,14 +1832,17 @@ static void fetch_numeric_target(void)
break;
case KM_LOWOUTLEVEL:
uistat.value = get_attenuation(); // compensation for dB offset during low output mode
kp_help_text = "-76..-6";
plot_printf(uistat.text, sizeof uistat.text, "%ddB", ((int32_t)uistat.value));
break;
case KM_DECAY:
uistat.value = setting.decay;
kp_help_text = "1-1000";
plot_printf(uistat.text, sizeof uistat.text, "%3d", ((int32_t)uistat.value));
break;
case KM_NOISE:
uistat.value = setting.noise;
kp_help_text = "2..20";
plot_printf(uistat.text, sizeof uistat.text, "%3d", ((int32_t)uistat.value));
break;
case KM_10MHZ:
@ -1829,6 +1863,7 @@ static void fetch_numeric_target(void)
else
uistat.value = setting.sweep_time;
uistat.value /= 1000.0;
kp_help_text = "15mS..600S";
plot_printf(uistat.text, sizeof uistat.text, "%.1fS", uistat.value);
break;
case KM_TRIGGER:

Loading…
Cancel
Save

Powered by TurnKey Linux.