Added 3 measurements

pull/8/head
erikkaashoek 5 years ago
parent fb47362d88
commit cafe2b7a47

@ -959,7 +959,7 @@ uint32_t calc_min_sweep_time_us(void);
pureRSSI_t perform(bool b, int i, uint32_t f, int e);
enum {
M_OFF, M_IMD, M_OIP3, M_PHASE_NOISE, M_STOP_BAND, M_PASS_BAND, M_LINEARITY
M_OFF, M_IMD, M_OIP3, M_PHASE_NOISE, M_STOP_BAND, M_PASS_BAND, M_LINEARITY, M_AM, M_FM
};
enum {

@ -17,7 +17,7 @@
*/
#ifdef __SI4432__
#include "SI4432.h" // comment out for simulation
#include "si4432.h" // comment out for simulation
#endif
#include "stdlib.h"
@ -2317,6 +2317,20 @@ sweep_again: // stay in sweep loop when output mo
t ++;
if (t < setting._sweep_points - 1 )
markers[2].index = t;
} else if (setting.measurement == M_AM) { // ----------------AM measurement
if (S_IS_AUTO(setting.agc )) {
if (actual_t[max_index[0]] - get_attenuation() > -20 ) {
setting.agc = S_AUTO_OFF;
setting.lna = S_AUTO_OFF;
} else if (actual_t[max_index[0]] - get_attenuation() < -45 ) {
setting.agc = S_AUTO_ON;
setting.lna = S_AUTO_ON;
} else {
setting.agc = S_AUTO_OFF;
setting.lna = S_AUTO_ON;
}
set_AGC_LNA();
}
}
#endif

@ -834,6 +834,35 @@ static UI_FUNCTION_ADV_CALLBACK(menu_measure_acb)
set_measurement(M_LINEARITY);
ui_mode_normal();
break;
case M_AM: // OIP3
reset_settings(setting.mode);
for (int i = 0; i< 3; i++) {
markers[i].enabled = M_ENABLED;
markers[i].mtype = M_DELTA | M_TRACKING;
}
markers[0].mtype = M_REFERENCE | M_TRACKING;
kp_help_text = "Frequency of signal";
ui_mode_keypad(KM_CENTER);
ui_process_keypad();
set_sweep_frequency(ST_SPAN, 100000); // 100kHz
set_measurement(M_AM);
break;
case M_FM: // OIP3
reset_settings(setting.mode);
for (int i = 0; i< 3; i++) {
markers[i].enabled = M_ENABLED;
markers[i].mtype = M_DELTA | M_TRACKING;
}
markers[0].mtype = M_REFERENCE | M_TRACKING;
kp_help_text = "Frequency of signal";
ui_mode_keypad(KM_CENTER);
ui_process_keypad();
kp_help_text = "Frequency deviation";
ui_mode_keypad(KM_SPAN);
ui_process_keypad();
set_sweep_frequency(ST_SPAN, uistat.value*30);
set_measurement(M_FM);
break;
}
#endif
// selection = -1;
@ -1572,13 +1601,15 @@ static const menuitem_t menu_settings[] =
};
static const menuitem_t menu_measure[] = {
{ MT_ADV_CALLBACK, M_OFF, "OFF", menu_measure_acb},
{ MT_ADV_CALLBACK, M_IMD, "HARMONIC", menu_measure_acb},
{ MT_ADV_CALLBACK, M_OIP3, "OIP3", menu_measure_acb},
{ MT_ADV_CALLBACK, M_PHASE_NOISE,"PHASE\nNOISE", menu_measure_acb},
// { MT_ADV_CALLBACK, M_STOP_BAND, "STOP\nBAND", menu_measure_acb},
// { MT_ADV_CALLBACK, M_PASS_BAND, "PASS\nBAND", menu_measure_acb},
{ MT_ADV_CALLBACK, M_OFF, "OFF", menu_measure_acb},
{ MT_ADV_CALLBACK, M_IMD, "HARMONIC", menu_measure_acb},
{ MT_ADV_CALLBACK, M_OIP3, "OIP3", menu_measure_acb},
{ MT_ADV_CALLBACK, M_PHASE_NOISE,"PHASE\nNOISE", menu_measure_acb},
{ MT_ADV_CALLBACK, M_STOP_BAND, "SNR", menu_measure_acb},
{ MT_ADV_CALLBACK, M_PASS_BAND, "-6dB\nWIDTH", menu_measure_acb},
// { MT_ADV_CALLBACK | MT_LOW, M_LINEARITY, "LINEAR", menu_measure_acb},
{ MT_ADV_CALLBACK, M_AM, "AM", menu_measure_acb},
{ MT_ADV_CALLBACK, M_FM, "FM", menu_measure_acb},
{ MT_CANCEL, 0, S_LARROW" BACK", NULL },
{ MT_NONE, 0, NULL, NULL } // sentinel
};

Loading…
Cancel
Save

Powered by TurnKey Linux.