Avoid losing sampling timer on reset
This commit is contained in:
parent
6b444587b6
commit
3410740b4a
10
src/main.c
10
src/main.c
|
@ -322,8 +322,6 @@ static void rf_rx_start()
|
||||||
|
|
||||||
dma_ch_samp_cos = dma_claim_unused_channel(true);
|
dma_ch_samp_cos = dma_claim_unused_channel(true);
|
||||||
|
|
||||||
dma_t_samp = dma_claim_unused_timer(true);
|
|
||||||
|
|
||||||
dma_channel_config dma_conf;
|
dma_channel_config dma_conf;
|
||||||
|
|
||||||
/* Copy PDM bitstream into decimator. */
|
/* Copy PDM bitstream into decimator. */
|
||||||
|
@ -363,9 +361,6 @@ static void rf_rx_start()
|
||||||
dma_channel_configure(dma_ch_mix2, &dma_conf, &PIO->txf[LO_SM], NULL, LO_PHASE_WORDS,
|
dma_channel_configure(dma_ch_mix2, &dma_conf, &PIO->txf[LO_SM], NULL, LO_PHASE_WORDS,
|
||||||
false);
|
false);
|
||||||
|
|
||||||
/* Pacing timer for the sampling script trigger channel. */
|
|
||||||
dma_timer_set_fraction(dma_t_samp, 1, CLK_SYS_HZ / (sample_rate * DECIMATE));
|
|
||||||
|
|
||||||
/* Trigger accumulator values push. */
|
/* Trigger accumulator values push. */
|
||||||
dma_conf = dma_channel_get_default_config(dma_ch_samp_cos);
|
dma_conf = dma_channel_get_default_config(dma_ch_samp_cos);
|
||||||
channel_config_set_transfer_data_size(&dma_conf, DMA_SIZE_32);
|
channel_config_set_transfer_data_size(&dma_conf, DMA_SIZE_32);
|
||||||
|
@ -562,7 +557,7 @@ static void run_command(uint8_t cmd, uint32_t arg)
|
||||||
if (0x01 == cmd) {
|
if (0x01 == cmd) {
|
||||||
/* Tune to a new center frequency */
|
/* Tune to a new center frequency */
|
||||||
frequency = arg;
|
frequency = arg;
|
||||||
rx_lo_init(arg + sample_rate, true);
|
rx_lo_init(frequency + sample_rate, true);
|
||||||
} else if (0x02 == cmd) {
|
} else if (0x02 == cmd) {
|
||||||
/* Set the rate at which IQ sample pairs are sent */
|
/* Set the rate at which IQ sample pairs are sent */
|
||||||
sample_rate = arg;
|
sample_rate = arg;
|
||||||
|
@ -684,6 +679,9 @@ int main()
|
||||||
|
|
||||||
rx_lo_init(frequency + sample_rate, true);
|
rx_lo_init(frequency + sample_rate, true);
|
||||||
|
|
||||||
|
dma_t_samp = dma_claim_unused_timer(true);
|
||||||
|
dma_timer_set_fraction(dma_t_samp, 1, CLK_SYS_HZ / (sample_rate * DECIMATE));
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
if (check_command() > 0) {
|
if (check_command() > 0) {
|
||||||
static const uint32_t header[3] = { __builtin_bswap32(0x52544c30),
|
static const uint32_t header[3] = { __builtin_bswap32(0x52544c30),
|
||||||
|
|
Loading…
Reference in a new issue