Improved speed

Removed_REF_marker
erikkaashoek 5 years ago
parent 3a671a71f2
commit 1eeb22e6db

@ -918,7 +918,7 @@ void set_harmonic(int h)
void set_step_delay(int d) // override RSSI measurement delay or set to one of three auto modes
{
if ((3 <= d && d < 100) || d > 30000) // values 0 (normal scan), 1 (precise scan) and 2(fast scan) have special meaning and are auto calculated
if ((3 <= d && d < 10) || d > 30000) // values 0 (normal scan), 1 (precise scan) and 2(fast scan) have special meaning and are auto calculated
return;
if (d <3) {
setting.step_delay_mode = d;
@ -1265,9 +1265,9 @@ void calculate_step_delay(void)
#endif
#endif
#ifdef __SI4463__
if (actual_rbw_x10 >= 6000) { SI4432_step_delay = 400; SI4432_offset_delay = 100; spur_gate = 400000; }
else if (actual_rbw_x10 >= 3000) { SI4432_step_delay = 400; SI4432_offset_delay = 100; spur_gate = 200000; }
else if (actual_rbw_x10 >= 1000) { SI4432_step_delay = 400; SI4432_offset_delay = 100; spur_gate = 100000; }
if (actual_rbw_x10 >= 6000) { SI4432_step_delay = 80; SI4432_offset_delay = 50; spur_gate = 400000; }
else if (actual_rbw_x10 >= 3000) { SI4432_step_delay = 80; SI4432_offset_delay = 50; spur_gate = 200000; }
else if (actual_rbw_x10 >= 1000) { SI4432_step_delay = 100; SI4432_offset_delay = 100; spur_gate = 100000; }
else if (actual_rbw_x10 >= 300) { SI4432_step_delay = 400; SI4432_offset_delay = 120; spur_gate = 100000; }
else if (actual_rbw_x10 >= 100) { SI4432_step_delay = 400; SI4432_offset_delay = 120; spur_gate = 100000; }
else if (actual_rbw_x10 >= 30) { SI4432_step_delay = 900; SI4432_offset_delay = 300; spur_gate = 100000; }
@ -2584,14 +2584,20 @@ modulation_again:
if (tf + actual_rbw_x10*100 >= lf && tf < lf + actual_rbw_x10*100) {
ADF4351_R_counter(6);
} else {
freq_t tf = ((lf + actual_rbw_x10*100) / TXCO_DIV3) * TXCO_DIV3;
if (tf + actual_rbw_x10*100 >= lf && tf < lf + actual_rbw_x10*100)
ADF4351_R_counter(4);
else
ADF4351_R_counter(3);
if (setting.frequency_step < 100000) {
freq_t tf = ((lf + actual_rbw_x10*100) / TXCO_DIV3) * TXCO_DIV3;
if (tf + actual_rbw_x10*100 >= lf && tf < lf + actual_rbw_x10*100)
ADF4351_R_counter(4);
else
ADF4351_R_counter(3);
} else
ADF4351_R_counter(1);
}
} else
ADF4351_R_counter(3);
if (setting.frequency_step < 100000)
ADF4351_R_counter(3);
else
ADF4351_R_counter(1);
}
else
ADF4351_R_counter(setting.R);
@ -4360,6 +4366,8 @@ void self_test(int test)
setting.repeat = 20;
#endif
setting.step_delay = setting.step_delay * 5 / 4;
if (setting.step_delay < 1000)
setting.step_delay = 1000;
setting.offset_delay = setting.step_delay ;
setting.rbw_x10 = force_rbw(j);

@ -1937,9 +1937,9 @@ int16_t Si446x_RSSI(void)
my_microsecond_delay(SI4432_step_delay * ((setting.R == 0 && old_R > 5 ) ? 8 : 1));
ADF4351_frequency_changed = false;
SI4463_frequency_changed = false;
SI4463_offset_changed = false;
} else if (SI4432_offset_delay && SI4463_offset_changed) {
my_microsecond_delay(SI4432_offset_delay);
ADF4351_frequency_changed = false;
SI4463_offset_changed = false;
}
#define SAMPLE_COUNT 1

Loading…
Cancel
Save

Powered by TurnKey Linux.