speed menu improvements

pull/4/head
erikkaashoek 6 years ago
parent fd3d78e96d
commit 71172efaf3

@ -645,6 +645,7 @@ typedef struct setting
int mute;
int step_delay_mode;
int offset_delay;
int fast_speedup;
uint32_t checksum;
}setting_t;

@ -97,6 +97,7 @@ void reset_settings(int m)
setting.offset = 0.0;
setting.trigger = T_AUTO;
setting.trigger_direction = T_UP;
setting.fast_speedup = 0;
setting.level_sweep = 0.0;
setting.level = -15.0;
setting.trigger_level = -150.0;
@ -789,11 +790,9 @@ void set_mode(int m)
extern int SI4432_offset_delay;
int fast_speedup = 0;
void set_fast_speedup(int s)
{
fast_speedup = s;
setting.fast_speedup = s;
dirty = true;
}
@ -831,8 +830,8 @@ void calculate_step_delay(void)
#endif
if (setting.step_delay_mode == SD_PRECISE) // In precise mode wait twice as long for RSSI to stabalize
SI4432_step_delay *= 2;
if (fast_speedup >0)
SI4432_offset_delay = SI4432_step_delay / fast_speedup;
if (setting.fast_speedup >0)
SI4432_offset_delay = SI4432_step_delay / setting.fast_speedup;
}
if (setting.offset_delay != 0) // Override if set
SI4432_offset_delay = setting.offset_delay;
@ -1159,7 +1158,7 @@ void update_rbw(void) // calculate the actual_rbw and the vbwSteps (#
actual_rbw_x10 = setting.rbw_x10; // requested rbw
if (actual_rbw_x10 == 0) { // if auto rbw
if (setting.step_delay_mode==SD_FAST) { // if in fast scanning
if (fast_speedup > 2)
if (setting.fast_speedup > 2)
actual_rbw_x10 = 6*setting.vbw_x10; // rbw is four the frequency step to ensure no gaps in coverage as there are some weird jumps
else
actual_rbw_x10 = 4*setting.vbw_x10; // rbw is four the frequency step to ensure no gaps in coverage as there are some weird jumps

@ -1083,7 +1083,7 @@ static const menuitem_t menu_store_preset_high[8] =
{ MT_CANCEL, 255, "\032 BACK", NULL },
{ MT_NONE, 0, NULL, NULL } // sentinel
};
#if 0
static const menuitem_t menu_load_preset_high[] =
{
{ MT_CALLBACK, 0, "LOAD\nSTARTUP",menu_load_preset_cb},
@ -1095,6 +1095,7 @@ static const menuitem_t menu_load_preset_high[] =
{ MT_CANCEL, 255, "\032 BACK", NULL },
{ MT_NONE, 0, NULL, NULL } // sentinel
};
#endif
static const menuitem_t menu_store_preset[] =
{
@ -1381,8 +1382,8 @@ static const menuitem_t menu_scanning_speed[] =
{ MT_CALLBACK, SD_PRECISE, "PRECISE", menu_scanning_speed_cb},
{ MT_CALLBACK | MT_LOW,SD_FAST, "FAST", menu_scanning_speed_cb},
{ MT_KEYPAD | MT_LOW,KM_FAST_SPEEDUP, "FAST\nSPEEDUP", "2..20"},
{ MT_KEYPAD, KM_SAMPLETIME, "SAMPLE\nDELAY", "300..30000"}, // item number must match SD_MANUAL
{ MT_KEYPAD, KM_OFFSET_DELAY, "OFFSET\nDELAY", "300..30000"}, // item number must match SD_MANUAL
{ MT_KEYPAD, KM_SAMPLETIME, "SAMPLE\nDELAY", "300..30000"}, // This must be item 4 to match highlighting
{ MT_KEYPAD, KM_OFFSET_DELAY, "OFFSET\nDELAY", "300..30000"}, // This must be item 5 to match highlighting
{ MT_CANCEL, 0, "\032 BACK", NULL },
{ MT_NONE, 0, NULL, NULL } // sentinel
};
@ -1399,8 +1400,9 @@ static const menuitem_t menu_sweep_speed[] =
{ MT_CALLBACK, SD_NORMAL, "NORMAL", menu_scanning_speed_cb}, // order must match definition of enum
{ MT_CALLBACK, SD_PRECISE, "PRECISE", menu_scanning_speed_cb},
{ MT_CALLBACK, SD_FAST, "FAST", menu_scanning_speed_cb},
{ MT_KEYPAD, KM_SWEEP_TIME, "SWEEP\nTIME", "0..600s"},
{ MT_KEYPAD, KM_SWEEP_TIME, "SWEEP\nTIME", "0..600s, 0=disable"}, // This must be item 3 to match highlighting
{ MT_SUBMENU, 0, "SWEEP\nPOINTS", menu_sweep_points},
{ MT_KEYPAD | MT_LOW,KM_FAST_SPEEDUP, "FAST\nSPEEDUP", "2..20, 0=disable"},
{ MT_CANCEL, 0, "\032 BACK", NULL },
{ MT_NONE, 0, NULL, NULL } // sentinel
};
@ -1698,19 +1700,24 @@ static void menu_item_modify_attribute(
} else if (item == 2 && setting.auto_IF)
m_auto = true;
} else if (menu == menu_scanning_speed) {
if (item == setting.step_delay_mode){
if (item == setting.step_delay_mode && item < SD_MANUAL){
mark = true;
}
} else if (menu == menu_sweep_points) {
if (points_setting[data] == sweep_points){
} else
if (item == 4 && setting.step_delay > 0)
mark = true;
if (item == 5 && setting.offset_delay > 0)
mark = true;
}
}
else if (menu == menu_sweep_speed) {
if (item == 3 && setting.sweep_time_us != 0){
if (item == setting.step_delay_mode && item < SD_MANUAL){
mark = true;
} else if (item == 3 && setting.sweep_time_us != 0){
mark = true;
} else if (item == 5 && setting.fast_speedup != 0){
mark = true;
}
if (item == setting.step_delay_mode && setting.sweep_time_us == 0){
} else if (menu == menu_sweep_points) {
if (points_setting[data] == sweep_points){
mark = true;
}
#ifdef __ULTRA__

Loading…
Cancel
Save

Powered by TurnKey Linux.