Updated selftest and tables

DiSlord_Pinout
erikkaashoek 1 year ago
parent de775c2b66
commit a85ca929b1

@ -1269,34 +1269,34 @@ const float v5_2_lna_level_offset = 7;
const freq_t v4_6_correction_frequency[CORRECTION_SIZE][CORRECTION_POINTS]=
{
/* low */ { 100000, 1000000, 30000000, 220000000, 420000000, 750000000, 860000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000},
/* low lna */ { 100000, 1000000, 30000000, 220000000, 360000000, 420000000, 630000000, 750000000, 810000000, 860000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000},
/* low */ { 100000, 1000000, 7000000, 30000000, 90000000, 220000000, 420000000, 460000000, 750000000, 860000000, 870000000, 880000000, 890000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000},
/* low lna */ { 100000, 1000000, 30000000, 220000000, 360000000, 420000000, 630000000, 750000000, 810000000, 870000000, 880000000, 890000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000, 900000000},
/* ultra */ { 30000000, 700000000, 1270000000, 2090000000, 2620000000, 4130000000, 4710000000, 5090000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000},
/* ultra lna */ { 30000000, 1120000000, 2400000000, 3780000000, 3930000000, 4110000000, 4360000000, 4450000000, 4970000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000},
/* direct */ { 140000000, 180000000, 280000000, 330000000, 420000000, 560000000, 830000000, 910000000, 980000000, 1040000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000},
/* direct lna */ { 140000000, 180000000, 280000000, 330000000, 420000000, 560000000, 830000000, 910000000, 980000000, 1040000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, },
/* harm */ { 30000000, 4000000000, 4601336303, 5095768374, 5296213808, 5496659243, 5804008909, 6298440980, 6806236080, 7193763920, 7501113586, 7701559020, 7995545657, 8302895323, 8797327394, 9104677060, 9305122494, 9505567929, 9799554566, 10000000000, },
/* harm lna */ { 30000000, 4000000000, 4093541203, 4200445434, 4293986637, 4400890869, 4601336303, 5296213808, 5897550111, 6405345212, 6498886414, 6806236080, 7100222717, 7594654788, 7795100223, 8102449889, 8503340757, 8997772829, 9599109131, 10000000000, },
/* out */ { 100000, 800000, 5000000, 20000000, 100000000, 230000000, 450000000, 700000000, 850000000, 890000000, 920000000, 920000000, 920000000, 920000000, 920000000, 920000000, 920000000, 920000000, 920000000, 920000000, },
/* direct */ { 823000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, },
/* adf */ { 140000000, 210000000, 260000000, 290000000, 340000000, 370000000, 410000000, 460000000, 500000000, 520000000, 570000000, 700000000, 1170000000, 1370000000, 2700000000, 3000000000, 3300000000, 4300000000, 4400000000, 4400000000, },
/* ultra */ { 100000, 600000, 3000000, 40000000, 260000000, 730000000, 1020000000, 3600000000, 4700000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000, },
/* ultra lna */ { 30000000, 1120000000, 2400000000, 3540000000, 3780000000, 3930000000, 4110000000, 4360000000, 4450000000, 4540000000, 4700000000, 4970000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000, 5410000000},
/* direct */ { 140000000, 180000000, 280000000, 420000000, 560000000, 830000000, 920000000, 1000000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000},
/* direct lna */ { 140000000, 170000000, 180000000, 280000000, 330000000, 440000000, 560000000, 830000000, 900000000, 960000000, 1040000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000},
/* harm */ { 30000000, 5000000000, 5420000000, 6790000000, 7240000000, 7650000000, 7870000000, 8220000000, 8520000000, 8810000000, 9090000000, 9240000000, 9810000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000},
/* harm lna */ { 30000000, 5000000000, 5440000000, 5950000000, 6420000000, 6780000000, 7200000000, 7570000000, 7780000000, 7930000000, 8230000000, 8540000000, 9610000000, 9700000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000},
/* out */ { 100000, 800000, 3000000, 8000000, 80000000, 120000000, 200000000, 250000000, 550000000, 650000000, 780000000, 850000000, 890000000, 920000000, 920000000, 920000000, 920000000, 920000000, 920000000, 920000000,},
/* direct */ { 823000000, 970000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000, 1130000000},
/* adf */ { 140000000, 230000000, 410000000, 510000000, 590000000, 740000000, 1150000000, 1320000000, 1390000000, 1700000000, 4500000000, 4500000000, 4500000000, 4500000000, 4500000000, 4500000000, 4500000000, 4500000000, 4500000000, 4400000000},
/* ultra */ { 100000, 800000, 5000000, 80000000, 310000000, 700000000, 840000000, 1130000000, 2100000000, 3300000000, 4100000000, 4800000000, 5300000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000, 5400000000}
};
const float v4_6_correction_value[CORRECTION_SIZE][CORRECTION_POINTS]=
{
/* low */ { 4, 0.25, 0.0001, 1, 0.0001, 0.0001, 1.5, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, },
/* low lna */ { 4.78, 0.12, 0.0001, 1, 1, 0.5, -0.5, 0.4, 0.5, 1.5, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, 2.97, },
/* ultra */ { 0.0001, 0.22, 1.5, 1.75, 3.4, 2.97, 6.97, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, },
/* ultra lna */ { 0.0001, 1.5, 1.5, 6, 6.5, 8.5, 16, 16.5, 16.6, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, },
/* direct */ { 53.7, 46, 34.2, 30.5, 24.3, 17.2, 4.46, 1.2, -0.34, -0.25, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, },
/* direct lna */ { 54.5, 47, 35, 31, 25, 17.3, 5.62, 2.12, 1.1, 0.7, 2.16, 2.16, 2.16, 2.16, 2.16, 2.16, 2.16, 2.16, 2.16, 2.16, },
/* harm */ { 2, 18.69, 21.69, 21.69, 20.69, 20.69, 23.1, 25.19, 29.7, 26.69, 26.19, 27.69, 33.69, 37.19, 40.69, 45.69, 48.19, 49.48, 47.7, 48.7, },
/* harm lna */ { 2.8, 22.25, 23.25, 25.75, 29.75, 32.25, 34.25, 33.25, 36.25, 42.75, 43.75, 44.7, 42.7, 42.25, 43.75, 50.25, 55.75, 61.25, 65.25, 72.75, },
/* out */ { 0.0001, -1.82, -3, -3.16, -3.5, -2.06, -3.68, -3.7, -2.74, -1.3, 1.28, 1.28, 1.28, 1.28, 1.28, 1.28, 1.28, 1.28, 1.28, 1.28, },
/* direct */ { -3.14, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, },
/* adf */ { 31.4, 17.14, 15.46, 21.6, 14.3, 18.2, 30.7, 11.04, 1.74, -1.16, 1.67, -5.96, -6.55, -11.4, -7.34, -10.7, -5.4, -0.77, 3.07, 3.07, },
/* ultra */ { -0.5, -2.15, -3.18, -3.45, -2.33, -3.48, -2.05, -0.01, 3.48, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, 0.73, },
/* low */ { 4, 0.1, -1, -0.6, -1, 0.5, 0.0001, -1, -0.7, 0.5, 0.3, 1, 1.5, 2.28, 2.28, 2.28, 2.28, 2.28, 2.28, 2.28},
/* low lna */ { 4.78, -0.5, -1.1, -0.05, 0.5, -0.2, -1, -0.5, -0.4, 0.2, 0.8, 1, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7},
/* ultra */ { 0.0001, 0.3, 2.4, 2.34, 3.3, 4.3, 8.3, 7.8, 8.4, 8.4, 8.4, 8.4, 8.4, 8.4, 8.4, 8.4, 8.4, 8.4, 8.4, 8.4},
/* ultra lna */ { 0.0001, 1.8, 2.1, 7.1, 7.4, 8.02, 10, 17, 17.4, 18.3, 18.3, 17.7, 21, 21, 21, 21, 21, 21, 21, 21},
/* direct */ { 55.9, 47.83, 35.46, 24.2, 15.84, 2.47, -0.03, -0.2, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5},
/* direct lna */ { 55, 49.54, 48, 35.46, 31, 22.6, 15.49, 2.49, 0.001, -0.5, -0.5, 0.47, 0.47, 0.47, 0.47, 0.47, 0.47, 0.47, 0.47, 0.47},
/* harm */ { 0, 15.5, 14.5, 21.5, 18, 17.5, 19.8, 27.6, 29.3, 33, 38.9, 39.4, 33.3, 31.47, 31.47, 31.47, 31.47, 31.47, 31.47, 31.47},
/* harm lna */ { 0.01, 26.2, 25.26, 26.68, 33.02, 35.12, 32.01, 30.4, 30.87, 32.8, 40.46, 45.4, 54.47, 55.82, 68.5, 68.5, 68.5, 68.5, 68.5, 68.5},
/* out */ { -1, -2.81, -4.11, -4.26, -5.15, -5.08, -3.57, -3.32, -5.24, -4.6, -4.88, -4.15, -3.27, -0.82, -0.82, -0.82, -0.82, -0.82, -0.82, -0.82},
/* direct */ { -4.12, -2.58 , -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48, -0.48},
/* adf */ { 29.57, 17, 22.88, 0.1, 2, -4.5, -3.8, -9.43, -10, -10.9, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 3.07},
/* ultra */ { -1.4, -3, -4.46, -5, -3.8, -5, -4.56, -3.38, -3.2, 1, 0.6, 4, 5, 2.53, 2.53, 2.53, 2.53, 2.53, 2.53, 2.53},
};
const float v4_6_harmonic_lna_level_offset = 0; // should be in correction table now -7; // Depends on where the transition to harmonic is done!!!!!! TODO find best frequency to transition to harmonic
@ -2404,7 +2404,9 @@ static const VNAShellCommand commands[] =
{"touchcal" , cmd_touchcal , CMD_WAIT_MUTEX},
{"touchtest" , cmd_touchtest , CMD_WAIT_MUTEX},
{"pause" , cmd_pause , CMD_WAIT_MUTEX | CMD_RUN_IN_LOAD},
#ifdef TINYSA4
{"restart" , cmd_restart , CMD_WAIT_MUTEX | CMD_RUN_IN_LOAD},
#endif
{"resume" , cmd_resume , CMD_WAIT_MUTEX | CMD_RUN_IN_LOAD},
{"wait" , cmd_wait , CMD_RUN_IN_LOAD}, // This lets the sweep continue
{"repeat" , cmd_repeat , CMD_RUN_IN_LOAD},
@ -3143,11 +3145,15 @@ int main(void)
memcpy(config.correction_value, v4_6_correction_value, sizeof(config.correction_value));
config.harmonic_level_offset = v4_6_harmonic_level_offset;
config.harmonic_lna_level_offset = v4_6_harmonic_lna_level_offset;
config.low_level_output_offset = 1;
// ULTRA_MAX_FREQ = 5450000000ULL;
}
// else
// ULTRA_MAX_FREQ = 5340000000ULL;
ULTRA_MAX_FREQ = 4350000000 + config.frequency_IF1;
config.direct_start = config.frequency_IF1 - 10000000;
config.direct_stop = config.frequency_IF1 + 10000000;
}
set_freq_boundaries();
#endif

@ -18,7 +18,7 @@
*/
#include "ch.h"
#ifdef TINYSA_F303
//#ifdef TINYSA_F303
#ifdef TINYSA_F072
#error "Remove comment for #ifdef TINYSA_F303"
#endif
@ -26,7 +26,7 @@
#define TINYSA4
#endif
#define TINYSA4_PROTO
#endif
//#endif
#ifdef TINYSA_F072
#ifdef TINYSA_F303
@ -143,6 +143,7 @@ typedef uint32_t freq_t;
#define DEFAULT_IF 433800000
#define DEFAULT_SPUR_IF 434000000
#define DEFAULT_MAX_FREQ 350000000
#define NORMAL_MAX_FREQ DEFAULT_MAX_FREQ
#define MAX_LO_FREQ 959800000UL
#define MIN_LO_FREQ 240000000UL
#define MIN_BELOW_LO 550000000UL
@ -1355,6 +1356,7 @@ typedef struct setting
#define PRESET_NAME_LENGTH 10
char preset_name[PRESET_NAME_LENGTH];
#endif
bool dBuV;
int64_t test_argument; // used for tests
uint32_t checksum; // must be last and at 4 byte boundary
}setting_t;
@ -1491,8 +1493,8 @@ typedef struct properties {
//sizeof(properties_t) == 0x1200
#define CONFIG_MAGIC 0x434f4e69
#define SETTING_MAGIC 0x434f4e69
#define CONFIG_MAGIC 0x434f4e6a
#define SETTING_MAGIC 0x434f4e6a
extern int16_t lastsaveid;
//extern properties_t *active_props;

@ -536,7 +536,7 @@ void update_min_max_freq(void)
maxFreq = MAX_LOW_OUTPUT_FREQ;
#endif
#else
maxFreq = NORMAL_MAX_FREQ;
maxFreq = DEFAULT_MAX_FREQ;
#endif
break;
case M_HIGH:
@ -4413,7 +4413,7 @@ again: // Spur redu
ADF4351_R_counter(-3);
} else {
if (hw_if)
ADF4351_R_counter(5);
ADF4351_R_counter(4);
else
ADF4351_R_counter(4);
}
@ -4488,6 +4488,8 @@ again: // Spur redu
actual_drive = 3;
// else if (lf < DRIVE0_MAX_FREQ) // below 600MHz
// actual_drive = 0;
else if (setting.mode == M_GENLOW && hw_if)
actual_drive = 0;
else if (lf < DRIVE1_MAX_FREQ || hw_if) // below 1.2GHz
actual_drive = 1;
else if (lf < DRIVE2_MAX_FREQ) // below 2GHz
@ -6392,18 +6394,17 @@ static float test_value;
#ifdef TINYSA4
static freq_t spur_test_freq = 930000000;
static freq_t direct_test_freq = 870000000; // 180000000;
static freq_t direct_test_freq = 990000000; // 180000000;
void determine_direct_test_freq(void) {
if (hw_if)
direct_test_freq = 870000000;
return;
if (!hw_if)
return;
int old_ultra = config.ultra;
config.ultra = true;
float max_level = -150;
set_refer_output(0);
for (freq_t test_freq = 900000000UL; test_freq < 1000000000UL; test_freq += 30000000) {
for (freq_t test_freq = 1020000000UL; test_freq < 1100000000UL; test_freq += 30000000) {
dirty = true;
float v = PURE_TO_float(perform(false, 0, test_freq, false));
if (v > max_level) {
@ -7780,7 +7781,7 @@ float get_jump_config(int i) {
return 0;
}
enum {CS_NORMAL, CS_LNA, CS_SWITCH, CS_ULTRA, CS_ULTRA_LNA, CS_DIRECT_REF, /* CS_DIRECT,*/ CS_DIRECT_LNA, CS_SPUR_REF, CS_SPUR_ERROR, CS_HARMONIC, CS_HARMONIC_LNA, /* CS_BPF_REF, CS_BPF, */ CS_CORRECTION_REF, CS_CORRECTION_LNA, CS_MAX };
enum {CS_NORMAL, CS_LNA, CS_SWITCH, CS_ULTRA, CS_ULTRA_LNA, CS_DIRECT_REF, CS_DIRECT, CS_DIRECT_LNA, CS_SPUR_REF, CS_SPUR_ERROR, CS_HARMONIC, CS_HARMONIC_LNA, /* CS_BPF_REF, CS_BPF, */ CS_CORRECTION_REF, CS_CORRECTION_LNA, CS_MAX };
#define ULTRA_HARMONIC_CAL_FREQ 5340000000
#else
enum {CS_NORMAL, CS_SWITCH, CS_MAX };
@ -8010,7 +8011,7 @@ void calibrate(void)
set_sweep_frequency(ST_CENTER, direct_test_freq);
force_signal_path = true;
break;
#if 0
#if 1
case CS_DIRECT:
test_path = 4; // Direct path at 900MHz
goto direct_common;
@ -8126,11 +8127,11 @@ low_level:
config.shift_level_offset = direct_level - marker_to_value(0);
else if (calibration_stage == CS_DIRECT_REF)
direct_level = marker_to_value(0);
// else if (calibration_stage == CS_DIRECT)
// offset = set_actual_power(direct_level);
else if (calibration_stage == CS_DIRECT)
offset = set_actual_power(direct_level);
else if (calibration_stage == CS_DIRECT_LNA){
offset = set_actual_power(direct_level);
config.direct_level_offset = config.direct_lna_level_offset - (config.low_level_offset - config.lna_level_offset);
// config.direct_level_offset = config.direct_lna_level_offset - (config.low_level_offset - config.lna_level_offset);
}
else
#endif

44
ui.c

@ -2453,6 +2453,18 @@ static UI_FUNCTION_ADV_CALLBACK(menu_modulation_acb)
// menu_move_back(false); // Don't move back
}
static UI_FUNCTION_ADV_CALLBACK(menu_level_in_dBuV)
{
(void)item;
(void)data;
if (b){
b->icon = setting.dBuV ? BUTTON_ICON_CHECK : BUTTON_ICON_NOCHECK;
return;
}
setting.dBuV = !setting.dBuV;
menu_move_back(false);
}
static UI_FUNCTION_ADV_CALLBACK(menu_smodulation_acb){
(void)item;
(void)data;
@ -4361,6 +4373,7 @@ static const menuitem_t menu_modulation[] = {
{ MT_FORM | MT_ADV_CALLBACK | MT_LOW, MO_EXTERNAL,MT_CUSTOM_LABEL, menu_modulation_acb},
{ MT_FORM | MT_KEYPAD, KM_MODULATION, "FREQ: %s", "1Hz..5kHz"},
#endif
{ MT_FORM | MT_ADV_CALLBACK, 0, "Level in dBuV", menu_level_in_dBuV},
{ MT_FORM | MT_NONE, 0, NULL, menu_back} // next-> menu_back
};
@ -5435,19 +5448,31 @@ static void fetch_numeric_target(uint8_t mode)
end_level = level_max();
uistat.value += setting.external_gain;
end_level += setting.external_gain;
char *u = "m";
float el = end_level;
if (setting.dBuV) {
u = "uV";
uistat.value += 107;
el += 107;
}
if (setting.level_sweep != 0)
plot_printf(uistat.text, sizeof uistat.text, "%.1f to %.1fdBm", uistat.value, end_level);
plot_printf(uistat.text, sizeof uistat.text, "%.1f to %.1fdBm", uistat.value, el);
else
#ifdef TINYSA4
plot_printf(uistat.text, sizeof uistat.text, "%+.1fdBm %s", uistat.value, (setting.disable_correction?"Uncorrected":""));
plot_printf(uistat.text, sizeof uistat.text, "%+.1fdB%s %s", uistat.value, u, (setting.disable_correction?"Uncorrected":""));
#else
plot_printf(uistat.text, sizeof uistat.text, "%+.1fdBm", uistat.value);
plot_printf(uistat.text, sizeof uistat.text, "%+.1fdB%s", uistat.value, u);
#endif
break;
case KM_HIGHOUTLEVEL:
uistat.value = get_level(); // compensation for dB offset during low output mode
uistat.value += setting.external_gain;
plot_printf(uistat.text, sizeof uistat.text, "%+.1fdBm", uistat.value);
char *unit = "m";
if (setting.dBuV) {
unit = "uV";
uistat.value += 107;
}
plot_printf(uistat.text, sizeof uistat.text, "%+.1fdB%s", uistat.value, unit);
break;
case KM_DECAY:
uistat.value = setting.decay;
@ -5711,9 +5736,13 @@ set_numeric_value(void)
set_repeat(uistat.value);
break;
case KM_LOWOUTLEVEL:
if (setting.dBuV)
uistat.value -= 107;
set_level(uistat.value - setting.external_gain);
break;
case KM_HIGHOUTLEVEL:
if (setting.dBuV)
uistat.value -= 107;
set_level(uistat.value - setting.external_gain);
break;
case KM_DECAY:
@ -7015,7 +7044,6 @@ menu_select_touch(const menuitem_t * m, int i, int pos)
while (touch_check() != EVT_TOUCH_NONE){
touch_position(&touch_x, &touch_y);
if (abs(touch_x - prev_touch_x) < 2) continue;
fetch_numeric_target(keypad);
int new_slider = touch_x - LCD_WIDTH/2; // Can have negative outcome
if (new_slider < - (MENU_FORM_WIDTH-8)/2 - 1)
@ -7081,7 +7109,10 @@ menu_select_touch(const menuitem_t * m, int i, int pos)
chThdSleepMilliseconds(100);
} else if (keypad == KM_LOWOUTLEVEL) {
uistat.value = setting.external_gain + ((touch_x - OFFSETX+4) * level_range() ) / (MENU_FORM_WIDTH-8) + level_min() ;
bool old_dBuV = setting.dBuV;
setting.dBuV = false;
set_keypad_value(keypad);
setting.dBuV = old_dBuV;;
draw_menu_mask(1<<i);
perform(false, 0, get_sweep_frequency(ST_CENTER), false);
} else if (keypad == KM_HIGHOUTLEVEL) {
@ -7127,7 +7158,10 @@ menu_select_touch(const menuitem_t * m, int i, int pos)
check_frequency_slider(uistat.freq_value);
}
if (do_exit){
bool old_dBuV = setting.dBuV;
setting.dBuV = false;
set_keypad_value(keypad);
setting.dBuV = old_dBuV;;
selection = -1;
draw_menu_mask(1<<i);
perform(false, 0, get_sweep_frequency(ST_CENTER), false);

Loading…
Cancel
Save

Powered by TurnKey Linux.