Narrow and wide speedup

pull/94/head
erikkaashoek 2 years ago
parent bacea5da86
commit dc2af9a791

@ -1238,8 +1238,9 @@ typedef struct setting
uint8_t test; // current test number uint8_t test; // current test number
uint8_t harmonic; // used harmonic number 1...5 uint8_t harmonic; // used harmonic number 1...5
uint8_t fast_speedup; // 0 - 20 uint8_t fast_speedup; // 0 - 20
uint8_t faster_speedup; // 0 - 20
uint8_t _traces; // enabled traces flags uint8_t _traces; // enabled traces flags
uint8_t draw_line; // uses the trigger level setting uint8_t draw_line; // uses the trigger level setting
#ifdef TINYSA4 #ifdef TINYSA4
uint8_t lock_display; uint8_t lock_display;
#endif #endif
@ -1456,7 +1457,7 @@ typedef struct properties {
//sizeof(properties_t) == 0x1200 //sizeof(properties_t) == 0x1200
#define CONFIG_MAGIC 0x434f4e60 /* 'CONF' */ #define CONFIG_MAGIC 0x434f4e60 /* 'CONF' */
#define SETTING_MAGIC 0x434f4e63 #define SETTING_MAGIC 0x434f4e64
extern int16_t lastsaveid; extern int16_t lastsaveid;
//extern properties_t *active_props; //extern properties_t *active_props;
@ -1783,6 +1784,7 @@ void set_trigger_level(float);
void set_trigger(int); void set_trigger(int);
void update_rbw(void); void update_rbw(void);
void set_fast_speedup(int); void set_fast_speedup(int);
void set_faster_speedup(int);
//extern int setting_measurement; //extern int setting_measurement;
void self_test(int); void self_test(int);
//extern int setting_test; //extern int setting_test;

@ -682,6 +682,7 @@ void reset_settings(int m)
setting.trigger_direction = T_UP; setting.trigger_direction = T_UP;
setting.trigger_mode = T_MID; setting.trigger_mode = T_MID;
setting.fast_speedup = 0; setting.fast_speedup = 0;
setting.faster_speedup = 0;
setting.trigger_level = -150.0; setting.trigger_level = -150.0;
#ifdef __TRIGGER_TRACE__ #ifdef __TRIGGER_TRACE__
setting.trigger_trace = 255; setting.trigger_trace = 255;
@ -2036,6 +2037,12 @@ void set_fast_speedup(int s)
dirty = true; dirty = true;
} }
void set_faster_speedup(int s)
{
setting.faster_speedup = s;
dirty = true;
}
// //
// Table for auto set sweep step/offset delays from RBW // Table for auto set sweep step/offset delays from RBW
// //
@ -2129,6 +2136,8 @@ void calculate_step_delay(void)
SI4432_step_delay += (SI4432_step_delay>>2) ; SI4432_step_delay += (SI4432_step_delay>>2) ;
if (setting.fast_speedup >0) if (setting.fast_speedup >0)
SI4432_offset_delay = SI4432_step_delay / setting.fast_speedup; SI4432_offset_delay = SI4432_step_delay / setting.fast_speedup;
if (setting.faster_speedup >0)
SI4432_step_delay = SI4432_step_delay / setting.faster_speedup;
} }
if (setting.offset_delay != 0) // Override if set if (setting.offset_delay != 0) // Override if set
SI4432_offset_delay = setting.offset_delay; SI4432_offset_delay = setting.offset_delay;

11
ui.c

@ -1351,7 +1351,7 @@ enum {
// #15 // #15
KM_REPEAT, KM_EXT_GAIN, KM_TRIGGER, KM_LEVELSWEEP, KM_SWEEP_TIME, KM_REPEAT, KM_EXT_GAIN, KM_TRIGGER, KM_LEVELSWEEP, KM_SWEEP_TIME,
// #20 // #20
KM_OFFSET_DELAY, KM_FAST_SPEEDUP, KM_GRIDLINES, KM_MARKER, KM_MODULATION, KM_OFFSET_DELAY, KM_FAST_SPEEDUP, KM_FASTER_SPEEDUP, KM_GRIDLINES, KM_MARKER, KM_MODULATION,
// #25 // #25
KM_HIGHOUTLEVEL, KM_HIGHOUTLEVEL,
#ifdef TINYSA4 #ifdef TINYSA4
@ -1429,6 +1429,7 @@ static const struct {
[KM_SWEEP_TIME] = {keypads_time , "SWEEP\nSECONDS"}, // KM_SWEEP_TIME [KM_SWEEP_TIME] = {keypads_time , "SWEEP\nSECONDS"}, // KM_SWEEP_TIME
[KM_OFFSET_DELAY] = {keypads_positive , "OFFSET\nDELAY"}, // KM_OFFSET_DELAY #20 [KM_OFFSET_DELAY] = {keypads_positive , "OFFSET\nDELAY"}, // KM_OFFSET_DELAY #20
[KM_FAST_SPEEDUP] = {keypads_positive , "FAST\nSPEEDUP"}, // KM_FAST_SPEEDUP [KM_FAST_SPEEDUP] = {keypads_positive , "FAST\nSPEEDUP"}, // KM_FAST_SPEEDUP
[KM_FASTER_SPEEDUP] = {keypads_positive , "FASTER\nSPEEDUP"}, // KM_FAST_SPEEDUP
[KM_GRIDLINES] = {keypads_positive , "MINIMUM\nGRIDLINES"}, // KM_GRIDLINES [KM_GRIDLINES] = {keypads_positive , "MINIMUM\nGRIDLINES"}, // KM_GRIDLINES
[KM_MARKER] = {keypads_freq , "MARKER\nFREQ"}, // KM_MARKER [KM_MARKER] = {keypads_freq , "MARKER\nFREQ"}, // KM_MARKER
[KM_MODULATION] = {keypads_freq , "MODULATION\nFREQ"}, // KM_MODULATION [KM_MODULATION] = {keypads_freq , "MODULATION\nFREQ"}, // KM_MODULATION
@ -4494,6 +4495,7 @@ static const menuitem_t menu_sweep_speed[] =
{ MT_ADV_CALLBACK, SD_NOISE_SOURCE, "NOISE\nSOURCE", menu_scanning_speed_acb}, { MT_ADV_CALLBACK, SD_NOISE_SOURCE, "NOISE\nSOURCE", menu_scanning_speed_acb},
#ifdef TINYSA4 #ifdef TINYSA4
{ MT_KEYPAD, KM_FAST_SPEEDUP,"SPEEDUP\n\b%s", "2..20, 0=disable"}, { MT_KEYPAD, KM_FAST_SPEEDUP,"SPEEDUP\n\b%s", "2..20, 0=disable"},
{ MT_KEYPAD, KM_FASTER_SPEEDUP,"FASTER\n\b%s", "2..10, 0=disable"},
#else #else
{ MT_KEYPAD | MT_LOW,KM_FAST_SPEEDUP,"SPEEDUP\n\b%s", "2..20, 0=disable"}, { MT_KEYPAD | MT_LOW,KM_FAST_SPEEDUP,"SPEEDUP\n\b%s", "2..20, 0=disable"},
#endif #endif
@ -5194,6 +5196,10 @@ static void fetch_numeric_target(uint8_t mode)
uistat.value = setting.fast_speedup; uistat.value = setting.fast_speedup;
plot_printf(uistat.text, sizeof uistat.text, "%d", ((int32_t)uistat.value)); plot_printf(uistat.text, sizeof uistat.text, "%d", ((int32_t)uistat.value));
break; break;
case KM_FASTER_SPEEDUP:
uistat.value = setting.faster_speedup;
plot_printf(uistat.text, sizeof uistat.text, "%d", ((int32_t)uistat.value));
break;
case KM_REPEAT: case KM_REPEAT:
uistat.value = setting.repeat; uistat.value = setting.repeat;
plot_printf(uistat.text, sizeof uistat.text, "%d", ((int32_t)uistat.value)); plot_printf(uistat.text, sizeof uistat.text, "%d", ((int32_t)uistat.value));
@ -5457,6 +5463,9 @@ set_numeric_value(void)
case KM_FAST_SPEEDUP: case KM_FAST_SPEEDUP:
set_fast_speedup(uistat.value); set_fast_speedup(uistat.value);
break; break;
case KM_FASTER_SPEEDUP:
set_faster_speedup(uistat.value);
break;
case KM_REPEAT: case KM_REPEAT:
set_repeat(uistat.value); set_repeat(uistat.value);
break; break;

Loading…
Cancel
Save

Powered by TurnKey Linux.