Small ui corrections

tinySA-v0.2
erikkaashoek 6 years ago
parent cb9fc904c8
commit 3493e82d83

@ -2267,6 +2267,7 @@ static const VNAShellCommand commands[] =
#endif #endif
{ "if", cmd_if, 0 }, { "if", cmd_if, 0 },
{ "attenuate", cmd_attenuate, 0 }, { "attenuate", cmd_attenuate, 0 },
{ "reflevel", cmd_reflevel, 0 },
{ "rbw", cmd_rbw, 0 }, { "rbw", cmd_rbw, 0 },
{ "mode", cmd_mode, 0 }, { "mode", cmd_mode, 0 },
{ "spur", cmd_spur, 0 }, { "spur", cmd_spur, 0 },
@ -2637,10 +2638,9 @@ int main(void)
//Initialize graph plotting //Initialize graph plotting
plot_init(); plot_init();
if (setting.mode != -1) { // if (setting.mode != -1) {
menu_mode_cb(setting.mode,0); // menu_mode_cb(setting.mode,0);
ui_mode_normal(); // Do not show menu when autostarting mode // }
}
redraw_frame(); redraw_frame();
set_mode(M_HIGH); set_mode(M_HIGH);
@ -2650,6 +2650,7 @@ int main(void)
set_mode(M_LOW); set_mode(M_LOW);
sweep(true); sweep(true);
ui_mode_menu(); // Show menu when autostarting mode
chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO-1, Thread1, NULL); chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO-1, Thread1, NULL);

@ -174,7 +174,7 @@ void set_harmonic(int);
//extern int setting.harmonic; //extern int setting.harmonic;
int search_is_greater(void); int search_is_greater(void);
void set_auto_attenuation(void); void set_auto_attenuation(void);
void set_auto_reflevel(void); void set_auto_reflevel(int);
int is_paused(void); int is_paused(void);
void set_actual_power(float); void set_actual_power(float);
void SetGenerate(int); void SetGenerate(int);
@ -698,6 +698,7 @@ int current_menu_is_form(void);
void menu_mode_cb(int, uint8_t); void menu_mode_cb(int, uint8_t);
void ui_mode_normal(void); void ui_mode_normal(void);
void ui_mode_menu(void);
// Irq operation process set // Irq operation process set
#define OP_NONE 0x00 #define OP_NONE 0x00

@ -63,6 +63,24 @@ VNA_SHELL_FUNCTION(cmd_attenuate)
} }
} }
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_rbw) VNA_SHELL_FUNCTION(cmd_rbw)
{ {
if (argc != 1) { if (argc != 1) {

@ -229,9 +229,9 @@ void set_auto_attenuation(void)
setting.attenuate = 30; setting.attenuate = 30;
} }
void set_auto_reflevel(void) void set_auto_reflevel(int v)
{ {
setting.auto_reflevel = true; setting.auto_reflevel = v;
} }
void set_attenuation(int a) void set_attenuation(int a)
@ -269,6 +269,7 @@ void set_attenuation(int a)
a=31; a=31;
// if (setting.attenuate == a) // if (setting.attenuate == a)
// return; // return;
setting.auto_attenuation = false;
setting.attenuate = a; setting.attenuate = a;
dirty = true; dirty = true;
} }

14
ui.c

@ -120,7 +120,7 @@ static int16_t last_touch_y;
#define KP_CANCEL 2 #define KP_CANCEL 2
void ui_mode_normal(void); void ui_mode_normal(void);
static void ui_mode_menu(void); //static void ui_mode_menu(void);
static void ui_mode_numeric(int _keypad_mode); static void ui_mode_numeric(int _keypad_mode);
static void ui_mode_keypad(int _keypad_mode); static void ui_mode_keypad(int _keypad_mode);
static void draw_menu(void); static void draw_menu(void);
@ -1145,6 +1145,16 @@ menu_move_back(void)
if (selection >= 0) if (selection >= 0)
selection = 0; selection = 0;
ensure_selection(); ensure_selection();
if (current_menu_is_form()) {
redraw_frame();
area_width = 0;
} else {
redraw_frame();
request_to_redraw_grid();
area_width = AREA_WIDTH_NORMAL - MENU_BUTTON_WIDTH;
}
draw_menu(); draw_menu();
} }
@ -1802,7 +1812,7 @@ draw_numeric_area(void)
draw_numeric_input(buf); draw_numeric_input(buf);
} }
static void void
ui_mode_menu(void) ui_mode_menu(void)
{ {
if (ui_mode == UI_MENU) if (ui_mode == UI_MENU)

@ -748,7 +748,7 @@ static void menu_reflevel_cb(int item, uint8_t data)
{ {
(void)item; (void)item;
(void)data; (void)data;
set_auto_reflevel(); set_auto_reflevel(true);
menu_move_back(); menu_move_back();
ui_mode_normal(); ui_mode_normal();
} }
@ -978,7 +978,7 @@ static const menuitem_t menu_load_preset_high[] =
static const menuitem_t menu_store_preset[] = static const menuitem_t menu_store_preset[] =
{ {
{ MT_CALLBACK, 0, "\2STORE\0STARTUP",menu_store_preset_cb}, { MT_CALLBACK, 0, "\2STORE AS\0STARTUP",menu_store_preset_cb},
{ MT_CALLBACK, 1, "STORE 1" , menu_store_preset_cb}, { MT_CALLBACK, 1, "STORE 1" , menu_store_preset_cb},
{ MT_CALLBACK, 2, "STORE 2" , menu_store_preset_cb}, { MT_CALLBACK, 2, "STORE 2" , menu_store_preset_cb},
{ MT_CALLBACK, 3, "STORE 3" , menu_store_preset_cb}, { MT_CALLBACK, 3, "STORE 3" , menu_store_preset_cb},
@ -1138,7 +1138,9 @@ static const menuitem_t menu_reffer[] = {
{ MT_FORM | MT_CALLBACK, 2, "15MHz", menu_reffer_cb}, { MT_FORM | MT_CALLBACK, 2, "15MHz", menu_reffer_cb},
{ MT_FORM | MT_CALLBACK, 3, "10MHz", menu_reffer_cb}, { MT_FORM | MT_CALLBACK, 3, "10MHz", menu_reffer_cb},
{ MT_FORM | MT_CALLBACK, 4, "4MHz" , menu_reffer_cb}, { MT_FORM | MT_CALLBACK, 4, "4MHz" , menu_reffer_cb},
{ MT_FORM | MT_SUBMENU, 0, S_RARROW" MORE", menu_reffer2}, { MT_FORM | MT_CALLBACK, 6, "2MHz" , menu_reffer_cb},
{ MT_FORM | MT_CALLBACK, 7, "1MHz" , menu_reffer_cb},
// { MT_FORM | MT_SUBMENU, 0, S_RARROW" MORE", menu_reffer2},
{ MT_FORM | MT_CANCEL, 0, S_LARROW" BACK", NULL }, { MT_FORM | MT_CANCEL, 0, S_LARROW" BACK", NULL },
{ MT_FORM | MT_NONE, 0, NULL, NULL } // sentinel { MT_FORM | MT_NONE, 0, NULL, NULL } // sentinel
}; };
@ -1170,7 +1172,7 @@ const menuitem_t menu_marker_search[] = {
}; };
const menuitem_t menu_marker_modify[] = { const menuitem_t menu_marker_modify[] = {
{ MT_CALLBACK, M_REFERENCE, "REFERENCE", menu_marker_modify_cb}, { MT_CALLBACK, M_REFERENCE, "REFER", menu_marker_modify_cb},
{ MT_CALLBACK, M_DELTA, "DELTA", menu_marker_modify_cb}, { MT_CALLBACK, M_DELTA, "DELTA", menu_marker_modify_cb},
{ MT_CALLBACK, M_NOISE, "NOISE", menu_marker_modify_cb}, { MT_CALLBACK, M_NOISE, "NOISE", menu_marker_modify_cb},
{ MT_CALLBACK, M_TRACKING, "TRACKING", menu_marker_modify_cb}, { MT_CALLBACK, M_TRACKING, "TRACKING", menu_marker_modify_cb},
@ -1304,12 +1306,12 @@ static const menuitem_t menu_settingshigh[] =
static const menuitem_t menu_measure[] = { static const menuitem_t menu_measure[] = {
{ MT_CALLBACK, M_OFF, "OFF", menu_measure_cb}, { MT_CALLBACK, M_OFF, "OFF", menu_measure_cb},
{ MT_CALLBACK, M_IMD, "MARMONICS", menu_measure_cb}, { MT_CALLBACK, M_IMD, "HARMONIC", menu_measure_cb},
{ MT_CALLBACK, M_OIP3, "OIP3", menu_measure_cb}, { MT_CALLBACK, M_OIP3, "OIP3", menu_measure_cb},
{ MT_CALLBACK, M_PHASE_NOISE,"\2PHASE\0NOISE", menu_measure_cb}, { MT_CALLBACK, M_PHASE_NOISE,"\2PHASE\0NOISE", menu_measure_cb},
{ MT_CALLBACK, M_STOP_BAND, "\2STOP\0BAND", menu_measure_cb}, { MT_CALLBACK, M_STOP_BAND, "\2STOP\0BAND", menu_measure_cb},
{ MT_CALLBACK, M_PASS_BAND, "\2PASS\0BAND", menu_measure_cb}, { MT_CALLBACK, M_PASS_BAND, "\2PASS\0BAND", menu_measure_cb},
{ MT_CALLBACK | MT_LOW, M_LINEARITY, "LINEARITY", menu_measure_cb}, { MT_CALLBACK | MT_LOW, M_LINEARITY, "LINEAR", menu_measure_cb},
{ MT_CANCEL, 0, S_LARROW" BACK", NULL }, { MT_CANCEL, 0, S_LARROW" BACK", NULL },
{ MT_NONE, 0, NULL, NULL } // sentinel { MT_NONE, 0, NULL, NULL } // sentinel
}; };
@ -1337,9 +1339,9 @@ static const menuitem_t menu_config[] = {
static const menuitem_t menu_display[] = { static const menuitem_t menu_display[] = {
{ MT_CALLBACK,0, "\2PAUSE\0SWEEP", menu_pause_cb}, { MT_CALLBACK,0, "\2PAUSE\0SWEEP", menu_pause_cb},
{ MT_CALLBACK,0, "STORE", menu_storage_cb}, { MT_CALLBACK,0, "\2STORE\0TRACE", menu_storage_cb},
{ MT_CALLBACK,1, "CLEAR", menu_storage_cb}, { MT_CALLBACK,1, "\2CLEAR\0STORED", menu_storage_cb},
{ MT_CALLBACK,2, "SUBTRACT", menu_storage_cb}, { MT_CALLBACK,2, "\2SUBTRACT\0STORED",menu_storage_cb},
{ MT_CALLBACK,3, "WATERFALL", menu_storage_cb}, { MT_CALLBACK,3, "WATERFALL", menu_storage_cb},
{ MT_CANCEL, 0, S_LARROW" BACK", NULL }, { MT_CANCEL, 0, S_LARROW" BACK", NULL },
{ MT_NONE, 0, NULL, NULL } // sentinel { MT_NONE, 0, NULL, NULL } // sentinel
@ -1424,10 +1426,10 @@ static const menuitem_t menu_stimulus[] = {
static const menuitem_t menu_mode[] = { static const menuitem_t menu_mode[] = {
// { MT_FORM | MT_TITLE, 0, "tinySA MODE", NULL}, // { MT_FORM | MT_TITLE, 0, "tinySA MODE", NULL},
{ MT_FORM | MT_CALLBACK | MT_ICON, I_LOW_INPUT+I_SA, "LOW INPUT", menu_mode_cb}, { MT_FORM | MT_CALLBACK | MT_ICON, I_LOW_INPUT+I_SA, "%s TO LOW INPUT", menu_mode_cb},
{ MT_FORM | MT_CALLBACK | MT_ICON, I_HIGH_INPUT+I_SA, "HIGH INPUT", menu_mode_cb}, { MT_FORM | MT_CALLBACK | MT_ICON, I_HIGH_INPUT+I_SA, "%s TO HIGH INPUT", menu_mode_cb},
{ MT_FORM | MT_CALLBACK | MT_ICON, I_LOW_OUTPUT+I_SINUS, "LOW OUTPUT", menu_mode_cb}, { MT_FORM | MT_CALLBACK | MT_ICON, I_LOW_OUTPUT+I_SINUS, "%s TO LOW OUTPUT", menu_mode_cb},
{ MT_FORM | MT_CALLBACK | MT_ICON, I_HIGH_OUTPUT+I_GEN, "HIGH OUTPUT", menu_mode_cb}, { MT_FORM | MT_CALLBACK | MT_ICON, I_HIGH_OUTPUT+I_GEN, "%s TO HIGH OUTPUT", menu_mode_cb},
{ MT_FORM | MT_SUBMENU | MT_ICON, I_CONNECT+I_GEN, "CAL OUTPUT: %s", menu_reffer}, { MT_FORM | MT_SUBMENU | MT_ICON, I_CONNECT+I_GEN, "CAL OUTPUT: %s", menu_reffer},
#ifdef __ULTRA__ #ifdef __ULTRA__
{ MT_FORM | MT_CALLBACK | MT_ICON, I_LOW_INPUT+I_SA, "ULTRA HIGH INPUT",menu_mode_cb}, { MT_FORM | MT_CALLBACK | MT_ICON, I_LOW_INPUT+I_SA, "ULTRA HIGH INPUT",menu_mode_cb},
@ -1502,8 +1504,11 @@ static void menu_item_modify_attribute(
int data = menu[item].data; int data = menu[item].data;
if (menu == menu_mode) { if (menu == menu_mode) {
if (item == GetMode()) { if (item == GetMode()) {
plot_printf(uistat.text, sizeof uistat.text, "RETURN");
mark = true; mark = true;
} else if (item == 4) { } else if (item < 4){
plot_printf(uistat.text, sizeof uistat.text, "SWITCH");
} else if (item == 4) {
plot_printf(uistat.text, sizeof uistat.text, menu_reffer_text[get_refer_output()+1]); plot_printf(uistat.text, sizeof uistat.text, menu_reffer_text[get_refer_output()+1]);
} }
} else if (menu == menu_highoutputmode && item == 2) { } else if (menu == menu_highoutputmode && item == 2) {
@ -1755,7 +1760,7 @@ set_numeric_value(void)
set_scale(uistat.value); set_scale(uistat.value);
break; break;
case KM_REFPOS: case KM_REFPOS:
setting.auto_reflevel = false; set_auto_reflevel(false);
set_reflevel(uistat.value); set_reflevel(uistat.value);
break; break;
case KM_ATTENUATION: case KM_ATTENUATION:

Loading…
Cancel
Save

Powered by TurnKey Linux.