Remember frequency correctly
This commit is contained in:
parent
7382677af8
commit
6b444587b6
|
@ -71,6 +71,7 @@ static int gains[NUM_GAINS] = { 0, 9, 14, 27, 37, 77, 87, 125, 144, 157
|
|||
static int sample_rate = INIT_SAMPLE_RATE;
|
||||
static int dc_level = CLK_SYS_HZ / INIT_SAMPLE_RATE / 2;
|
||||
static int gain = INIT_GAIN;
|
||||
static int frequency = INIT_FREQ;
|
||||
|
||||
static int dma_ch_rx1 = -1;
|
||||
static int dma_ch_rx2 = -1;
|
||||
|
@ -560,13 +561,14 @@ static void run_command(uint8_t cmd, uint32_t arg)
|
|||
{
|
||||
if (0x01 == cmd) {
|
||||
/* Tune to a new center frequency */
|
||||
frequency = arg;
|
||||
rx_lo_init(arg + sample_rate, true);
|
||||
} else if (0x02 == cmd) {
|
||||
/* Set the rate at which IQ sample pairs are sent */
|
||||
sample_rate = arg;
|
||||
dc_level = CLK_SYS_HZ / sample_rate / 2;
|
||||
dma_timer_set_fraction(dma_t_samp, 1, CLK_SYS_HZ / (sample_rate * DECIMATE));
|
||||
rx_lo_init(arg + sample_rate, true);
|
||||
rx_lo_init(frequency + sample_rate, true);
|
||||
} else if (0x04 == cmd) {
|
||||
/* Set the tuner gain level */
|
||||
gain = INIT_GAIN * powf(10.0f, arg / 200.0f);
|
||||
|
@ -680,7 +682,7 @@ int main()
|
|||
|
||||
queue_init(&iq_queue, sizeof(uint8_t *), IQ_QUEUE_LEN);
|
||||
|
||||
rx_lo_init(INIT_FREQ + INIT_SAMPLE_RATE, true);
|
||||
rx_lo_init(frequency + sample_rate, true);
|
||||
|
||||
while (true) {
|
||||
if (check_command() > 0) {
|
||||
|
|
Loading…
Reference in a new issue