Improved scan speed

Removed_REF_marker
erikkaashoek 5 years ago
parent 3fa18ad714
commit ad23e2408f

@ -860,10 +860,10 @@ void calculate_step_delay(void)
#endif #endif
#endif #endif
#ifdef __SI4463__ #ifdef __SI4463__
if (actual_rbw_x10 >= 2700) { SI4432_step_delay = 200; SI4432_offset_delay = 100; } if (actual_rbw_x10 >= 2700) { SI4432_step_delay = 400; SI4432_offset_delay = 100; }
else if (actual_rbw_x10 >= 800) { SI4432_step_delay = 250; 150; SI4432_offset_delay = 100; } else if (actual_rbw_x10 >= 800) { SI4432_step_delay = 400; 150; SI4432_offset_delay = 100; }
else if (actual_rbw_x10 >= 250) { SI4432_step_delay = 600; 450; SI4432_offset_delay = 100; } else if (actual_rbw_x10 >= 250) { SI4432_step_delay = 1000; 450; SI4432_offset_delay = 100; }
else { SI4432_step_delay = 4000; SI4432_offset_delay =1600; } else { SI4432_step_delay = 5000; SI4432_offset_delay =1600; }
#endif #endif
if (setting.step_delay_mode == SD_PRECISE) // In precise mode wait twice as long for RSSI to stabalize if (setting.step_delay_mode == SD_PRECISE) // In precise mode wait twice as long for RSSI to stabalize
SI4432_step_delay *= 2; SI4432_step_delay *= 2;
@ -1370,8 +1370,8 @@ search_maximum(int m, int center, int span)
} }
//static int spur_old_stepdelay = 0; //static int spur_old_stepdelay = 0;
static const unsigned int spur_IF = 433000000; // The IF frequency for which the spur table is value static const unsigned int spur_IF = 433800000; // The IF frequency for which the spur table is value
static const unsigned int spur_alternate_IF = 435000000; // if the frequency is found in the spur table use this IF frequency static const unsigned int spur_alternate_IF = 433900000; // if the frequency is found in the spur table use this IF frequency
static const int spur_table[] = // Frequencies to avoid static const int spur_table[] = // Frequencies to avoid
{ {
10005000, 10005000,

@ -246,7 +246,7 @@ void SI4432_Write_Byte(uint8_t ADR, uint8_t DATA )
// SI4432_guard = 1; // SI4432_guard = 1;
// SPI1_CLK_LOW; // SPI1_CLK_LOW;
palClearPad(GPIOB, SI_nSEL[SI4432_Sel]); palClearPad(GPIOB, SI_nSEL[SI4432_Sel]);
// chThdSleepMicroseconds(SELECT_DELAY); // my_microsecond_delay(SELECT_DELAY);
ADR |= 0x80 ; // RW = 1 ADR |= 0x80 ; // RW = 1
shiftOut( ADR ); shiftOut( ADR );
shiftOut( DATA ); shiftOut( DATA );
@ -262,7 +262,7 @@ void SI4432_Write_3_Byte(uint8_t ADR, uint8_t DATA1, uint8_t DATA2, uint8_t DATA
// SI4432_guard = 1; // SI4432_guard = 1;
// SPI1_CLK_LOW; // SPI1_CLK_LOW;
palClearPad(GPIOB, SI_nSEL[SI4432_Sel]); palClearPad(GPIOB, SI_nSEL[SI4432_Sel]);
// chThdSleepMicroseconds(SELECT_DELAY); // my_microsecond_delay(SELECT_DELAY);
ADR |= 0x80 ; // RW = 1 ADR |= 0x80 ; // RW = 1
shiftOut( ADR ); shiftOut( ADR );
shiftOut( DATA1 ); shiftOut( DATA1 );
@ -589,7 +589,7 @@ pureRSSI_t SI4432_RSSI(uint32_t i, int s)
} }
if (stepdelay) if (stepdelay)
my_microsecond_delay(stepdelay); my_microsecond_delay(stepdelay);
// chThdSleepMicroseconds(SI4432_step_delay); // my_microsecond_delay(SI4432_step_delay);
i = setting.repeat; i = setting.repeat;
RSSI_RAW = 0; RSSI_RAW = 0;
do{ do{
@ -781,11 +781,11 @@ void PE4302_shiftOut(uint8_t val)
SPI1_SDI_HIGH; SPI1_SDI_HIGH;
else else
SPI1_SDI_LOW; SPI1_SDI_LOW;
// chThdSleepMicroseconds(PE4302_DELAY); // my_microsecond_delay(PE4302_DELAY);
SPI1_CLK_HIGH; SPI1_CLK_HIGH;
// chThdSleepMicroseconds(PE4302_DELAY); // my_microsecond_delay(PE4302_DELAY);
SPI1_CLK_LOW; SPI1_CLK_LOW;
// chThdSleepMicroseconds(PE4302_DELAY); // my_microsecond_delay(PE4302_DELAY);
} }
} }
#endif #endif
@ -795,17 +795,17 @@ bool PE4302_Write_Byte(unsigned char DATA )
{ {
if (old_attenuation == DATA) if (old_attenuation == DATA)
return false; return false;
// chThdSleepMicroseconds(PE4302_DELAY); // my_microsecond_delay(PE4302_DELAY);
// SPI1_CLK_LOW; // SPI1_CLK_LOW;
// chThdSleepMicroseconds(PE4302_DELAY); // my_microsecond_delay(PE4302_DELAY);
// PE4302_shiftOut(DATA); // PE4302_shiftOut(DATA);
shiftOut(DATA); shiftOut(DATA);
// chThdSleepMicroseconds(PE4302_DELAY); // my_microsecond_delay(PE4302_DELAY);
CS_PE_HIGH; CS_PE_HIGH;
// chThdSleepMicroseconds(PE4302_DELAY); // my_microsecond_delay(PE4302_DELAY);
CS_PE_LOW; CS_PE_LOW;
// chThdSleepMicroseconds(PE4302_DELAY); // my_microsecond_delay(PE4302_DELAY);
return true; return true;
} }
@ -955,19 +955,19 @@ void ADF4351_Setup(void)
void ADF4351_WriteRegister32(int channel, const uint32_t value) void ADF4351_WriteRegister32(int channel, const uint32_t value)
{ {
for (int i = 3; i >= 0; i--) shiftOut((value >> (8 * i)) & 0xFF); for (int i = 3; i >= 0; i--) shiftOut((value >> (8 * i)) & 0xFF);
// chThdSleepMicroseconds(1); // my_microsecond_delay(1);
palSetPad(GPIOB, ADF4351_LE[channel]); palSetPad(GPIOB, ADF4351_LE[channel]);
chThdSleepMicroseconds(1); // Must my_microsecond_delay(1); // Must
palClearPad(GPIOB, ADF4351_LE[channel]); palClearPad(GPIOB, ADF4351_LE[channel]);
// chThdSleepMicroseconds(1); // Not needed // my_microsecond_delay(1); // Not needed
} }
void ADF4351_Set(int channel) void ADF4351_Set(int channel)
{ {
set_SPI_mode(SPI_MODE_SI); set_SPI_mode(SPI_MODE_SI);
chThdSleepMicroseconds(1); my_microsecond_delay(1);
palClearPad(GPIOB, ADF4351_LE[channel]); palClearPad(GPIOB, ADF4351_LE[channel]);
chThdSleepMicroseconds(1); my_microsecond_delay(1);
for (int i = 5; i >= 0; i--) { for (int i = 5; i >= 0; i--) {
ADF4351_WriteRegister32(channel, registers[i]); ADF4351_WriteRegister32(channel, registers[i]);
@ -1229,7 +1229,7 @@ void SI4463_write_byte(uint8_t ADR, uint8_t DATA)
// SPI1_CLK_LOW; // SPI1_CLK_LOW;
palClearPad(GPIOB, GPIOB_RX_SEL); palClearPad(GPIOB, GPIOB_RX_SEL);
my_microsecond_delay(2); my_microsecond_delay(2);
// chThdSleepMicroseconds(SELECT_DELAY); // my_microsecond_delay(SELECT_DELAY);
ADR |= 0x80 ; // RW = 1 ADR |= 0x80 ; // RW = 1
shiftOut( ADR ); shiftOut( ADR );
shiftOut( DATA ); shiftOut( DATA );
@ -1248,7 +1248,7 @@ void SI4463_write_buffer(uint8_t ADR, uint8_t *DATA, int len)
// SPI1_CLK_LOW; // SPI1_CLK_LOW;
palClearPad(GPIOB, GPIOB_RX_SEL); palClearPad(GPIOB, GPIOB_RX_SEL);
my_microsecond_delay(2); my_microsecond_delay(2);
// chThdSleepMicroseconds(SELECT_DELAY); // my_microsecond_delay(SELECT_DELAY);
ADR |= 0x80 ; // RW = 1 ADR |= 0x80 ; // RW = 1
shiftOut( ADR ); shiftOut( ADR );
while (len-- > 0) while (len-- > 0)

Loading…
Cancel
Save

Powered by TurnKey Linux.