Merge branch 'scan_delay_optimize'

This commit is contained in:
TT 2019-10-08 23:08:17 +09:00
commit f68997b832
2 changed files with 14 additions and 4 deletions

8
main.c
View file

@ -269,6 +269,8 @@ const int8_t gain_table[] = {
95 // 1400MHz ~ 95 // 1400MHz ~
}; };
#define DELAY_GAIN_CHANGE 10
static int static int
adjust_gain(int newfreq) adjust_gain(int newfreq)
{ {
@ -277,7 +279,7 @@ adjust_gain(int newfreq)
int old_order = frequency / FREQ_HARMONICS; int old_order = frequency / FREQ_HARMONICS;
if (new_order != old_order) { if (new_order != old_order) {
tlv320aic3204_set_gain(gain_table[new_order], gain_table[new_order]); tlv320aic3204_set_gain(gain_table[new_order], gain_table[new_order]);
delay += 10; delay += DELAY_GAIN_CHANGE;
} }
return delay; return delay;
} }
@ -655,6 +657,8 @@ ensure_edit_config(void)
cal_status = 0; cal_status = 0;
} }
#define DELAY_CHANNEL_CHANGE 1
// main loop for measurement // main loop for measurement
bool sweep(bool break_on_operation) bool sweep(bool break_on_operation)
{ {
@ -672,7 +676,7 @@ bool sweep(bool break_on_operation)
(*sample_func)(measured[0][i]); (*sample_func)(measured[0][i]);
tlv320aic3204_select_in1(); // CH1:TRANSMISSION tlv320aic3204_select_in1(); // CH1:TRANSMISSION
wait_dsp(delay); wait_dsp(delay + DELAY_CHANNEL_CHANGE);
/* calculate transmission coeficient */ /* calculate transmission coeficient */
(*sample_func)(measured[1][i]); (*sample_func)(measured[1][i]);

View file

@ -296,6 +296,10 @@ si5351_set_frequency(int channel, int freq, uint8_t drive_strength)
int current_band = -1; int current_band = -1;
#define DELAY_NORMAL 2
#define DELAY_BANDCHANGE 1
#define DELAY_LOWBAND 1
/* /*
* configure output as follows: * configure output as follows:
* CLK0: frequency + offset * CLK0: frequency + offset
@ -307,7 +311,7 @@ int
si5351_set_frequency_with_offset(uint32_t freq, int offset, uint8_t drive_strength) si5351_set_frequency_with_offset(uint32_t freq, int offset, uint8_t drive_strength)
{ {
int band; int band;
int delay = 3; int delay = DELAY_NORMAL;
uint32_t ofreq = freq + offset; uint32_t ofreq = freq + offset;
uint32_t rdiv = SI5351_R_DIV_1; uint32_t rdiv = SI5351_R_DIV_1;
if (freq >= config.harmonic_freq_threshold * 3) { if (freq >= config.harmonic_freq_threshold * 3) {
@ -389,8 +393,10 @@ si5351_set_frequency_with_offset(uint32_t freq, int offset, uint8_t drive_streng
#if 1 #if 1
si5351_enable_output(); si5351_enable_output();
#endif #endif
delay += 10; delay += DELAY_BANDCHANGE;
} }
if (band == 0)
delay += DELAY_LOWBAND;
current_band = band; current_band = band;
return delay; return delay;