|
|
|
@ -647,6 +647,7 @@ static void menu_measure_cb(int item, uint8_t data)
|
|
|
|
markers[i].mtype = M_DELTA | M_TRACKING;
|
|
|
|
markers[i].mtype = M_DELTA | M_TRACKING;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
markers[0].mtype = M_REFERENCE | M_TRACKING;
|
|
|
|
markers[0].mtype = M_REFERENCE | M_TRACKING;
|
|
|
|
|
|
|
|
kp_help_text = "Frequency of fundamental";
|
|
|
|
ui_mode_keypad(KM_CENTER);
|
|
|
|
ui_mode_keypad(KM_CENTER);
|
|
|
|
ui_process_keypad();
|
|
|
|
ui_process_keypad();
|
|
|
|
set_sweep_frequency(ST_START, 0);
|
|
|
|
set_sweep_frequency(ST_START, 0);
|
|
|
|
@ -660,11 +661,16 @@ static void menu_measure_cb(int item, uint8_t data)
|
|
|
|
markers[i].mtype = M_DELTA | M_TRACKING;
|
|
|
|
markers[i].mtype = M_DELTA | M_TRACKING;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
markers[0].mtype = M_REFERENCE | M_TRACKING;
|
|
|
|
markers[0].mtype = M_REFERENCE | M_TRACKING;
|
|
|
|
|
|
|
|
kp_help_text = "Frequency of left signal";
|
|
|
|
ui_mode_keypad(KM_CENTER);
|
|
|
|
ui_mode_keypad(KM_CENTER);
|
|
|
|
ui_process_keypad();
|
|
|
|
ui_process_keypad();
|
|
|
|
ui_mode_keypad(KM_SPAN);
|
|
|
|
int left = uistat.value;
|
|
|
|
|
|
|
|
kp_help_text = "Right signal";
|
|
|
|
|
|
|
|
ui_mode_keypad(KM_CENTER);
|
|
|
|
ui_process_keypad();
|
|
|
|
ui_process_keypad();
|
|
|
|
set_sweep_frequency(ST_SPAN, uistat.value*4);
|
|
|
|
int right = uistat.value;
|
|
|
|
|
|
|
|
set_sweep_frequency(ST_CENTER, (left+right)/2);
|
|
|
|
|
|
|
|
set_sweep_frequency(ST_SPAN, (right - left)*4);
|
|
|
|
set_measurement(M_OIP3);
|
|
|
|
set_measurement(M_OIP3);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case M_PHASE_NOISE: // Phase noise
|
|
|
|
case M_PHASE_NOISE: // Phase noise
|
|
|
|
@ -677,16 +683,53 @@ static void menu_measure_cb(int item, uint8_t data)
|
|
|
|
markers[0].mtype = M_REFERENCE | M_TRACKING;
|
|
|
|
markers[0].mtype = M_REFERENCE | M_TRACKING;
|
|
|
|
markers[1].enabled = M_ENABLED;
|
|
|
|
markers[1].enabled = M_ENABLED;
|
|
|
|
markers[1].mtype = M_DELTA | M_NOISE;
|
|
|
|
markers[1].mtype = M_DELTA | M_NOISE;
|
|
|
|
|
|
|
|
kp_help_text = "Frequency of signal";
|
|
|
|
ui_mode_keypad(KM_CENTER);
|
|
|
|
ui_mode_keypad(KM_CENTER);
|
|
|
|
ui_process_keypad();
|
|
|
|
ui_process_keypad();
|
|
|
|
|
|
|
|
kp_help_text = "Frequency offset";
|
|
|
|
ui_mode_keypad(KM_SPAN);
|
|
|
|
ui_mode_keypad(KM_SPAN);
|
|
|
|
ui_process_keypad();
|
|
|
|
ui_process_keypad();
|
|
|
|
set_sweep_frequency(ST_SPAN, uistat.value*4);
|
|
|
|
set_sweep_frequency(ST_SPAN, uistat.value*4);
|
|
|
|
set_measurement(M_PHASE_NOISE);
|
|
|
|
set_measurement(M_PHASE_NOISE);
|
|
|
|
SetAverage(4);
|
|
|
|
SetAverage(4);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case M_STOP_BAND: // STop band measurement
|
|
|
|
|
|
|
|
reset_settings(GetMode());
|
|
|
|
|
|
|
|
markers[1].enabled = M_ENABLED;
|
|
|
|
|
|
|
|
markers[1].mtype = M_DELTA;
|
|
|
|
|
|
|
|
markers[2].enabled = M_ENABLED;
|
|
|
|
|
|
|
|
markers[2].mtype = M_DELTA;
|
|
|
|
|
|
|
|
kp_help_text = "Frequency of signal";
|
|
|
|
|
|
|
|
ui_mode_keypad(KM_CENTER);
|
|
|
|
|
|
|
|
ui_process_keypad();
|
|
|
|
|
|
|
|
kp_help_text = "Width of signal";
|
|
|
|
|
|
|
|
ui_mode_keypad(KM_SPAN);
|
|
|
|
|
|
|
|
ui_process_keypad();
|
|
|
|
|
|
|
|
set_sweep_frequency(ST_SPAN, uistat.value*4);
|
|
|
|
|
|
|
|
set_measurement(M_STOP_BAND);
|
|
|
|
|
|
|
|
// SetAverage(4);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case M_PASS_BAND: // STop band measurement
|
|
|
|
|
|
|
|
reset_settings(GetMode());
|
|
|
|
|
|
|
|
markers[1].enabled = M_ENABLED;
|
|
|
|
|
|
|
|
markers[1].mtype = M_DELTA;
|
|
|
|
|
|
|
|
markers[2].enabled = M_ENABLED;
|
|
|
|
|
|
|
|
markers[2].mtype = M_DELTA;
|
|
|
|
|
|
|
|
kp_help_text = "Frequency of signal";
|
|
|
|
|
|
|
|
ui_mode_keypad(KM_CENTER);
|
|
|
|
|
|
|
|
ui_process_keypad();
|
|
|
|
|
|
|
|
kp_help_text = "Width of signal";
|
|
|
|
|
|
|
|
ui_mode_keypad(KM_SPAN);
|
|
|
|
|
|
|
|
ui_process_keypad();
|
|
|
|
|
|
|
|
set_sweep_frequency(ST_SPAN, uistat.value*2);
|
|
|
|
|
|
|
|
set_measurement(M_PASS_BAND);
|
|
|
|
|
|
|
|
// SetAverage(4);
|
|
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
kp_help_text = NULL;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
// selection = -1;
|
|
|
|
// selection = -1;
|
|
|
|
ui_mode_normal();
|
|
|
|
ui_mode_normal();
|
|
|
|
@ -1014,10 +1057,10 @@ static const menuitem_t menu_marker_type[] = {
|
|
|
|
|
|
|
|
|
|
|
|
const menuitem_t menu_marker_search[] = {
|
|
|
|
const menuitem_t menu_marker_search[] = {
|
|
|
|
//{ MT_CALLBACK, "OFF", menu_marker_search_cb },
|
|
|
|
//{ MT_CALLBACK, "OFF", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 0, "MAXIMUM", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 0, "\2MIN\0" S_LARROW" LEFT", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 1, "MINIMUM", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 1, "\2MIN\0" S_RARROW" RIGHT", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 2, "\2SEARCH\0" S_LARROW" LEFT", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 2, "\2MAX\0" S_LARROW" LEFT", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 3, "\2SEARCH\0" S_RARROW" RIGHT", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 3, "\2MAX\0" S_RARROW" RIGHT", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 4, "TRACKING", menu_marker_search_cb },
|
|
|
|
{ MT_CALLBACK, 4, "TRACKING", menu_marker_search_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
|
|
|
|
@ -1104,9 +1147,11 @@ static const menuitem_t menu_settings[] =
|
|
|
|
|
|
|
|
|
|
|
|
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, "IMD", menu_measure_cb},
|
|
|
|
{ MT_CALLBACK, M_IMD, "MARMONICS",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_PASS_BAND, "\2PASS\0BAND",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
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|