diff options
-rw-r--r-- | firmware/zpu/apps/txrx_uhd.c | 18 | ||||
-rw-r--r-- | firmware/zpu/lib/memory_map.h | 1 |
2 files changed, 8 insertions, 11 deletions
diff --git a/firmware/zpu/apps/txrx_uhd.c b/firmware/zpu/apps/txrx_uhd.c index f9eedfc7d..8cc108f9d 100644 --- a/firmware/zpu/apps/txrx_uhd.c +++ b/firmware/zpu/apps/txrx_uhd.c @@ -54,23 +54,19 @@ static void handle_udp_data_packet( //handle ICMP destination unreachable if (payload == NULL) switch(src.port){ case USRP2_UDP_RX_DSP0_PORT: - //the end continuous streaming command - sr_rx_ctrl0->cmd = 1 << 31 | 1 << 28; //no samples now - sr_rx_ctrl0->time_secs = 0; - sr_rx_ctrl0->time_ticks = 0; //latch the command - break; + //reset dsp to stop streaming + sr_rx_ctrl0->clear = 1; + return; case USRP2_UDP_RX_DSP1_PORT: - //the end continuous streaming command - sr_rx_ctrl1->cmd = 1 << 31 | 1 << 28; //no samples now - sr_rx_ctrl1->time_secs = 0; - sr_rx_ctrl1->time_ticks = 0; //latch the command - break; + //reset dsp to stop streaming + sr_rx_ctrl1->clear = 1; + return; case USRP2_UDP_TX_DSP0_PORT: //end async update packets per second sr_tx_ctrl->cyc_per_up = 0; - break; + return; default: return; } diff --git a/firmware/zpu/lib/memory_map.h b/firmware/zpu/lib/memory_map.h index 75727bb23..84298d3c1 100644 --- a/firmware/zpu/lib/memory_map.h +++ b/firmware/zpu/lib/memory_map.h @@ -302,6 +302,7 @@ typedef struct { volatile uint32_t cmd; // {now, chain, num_samples(30) volatile uint32_t time_secs; volatile uint32_t time_ticks; + volatile uint32_t clear; } sr_rx_ctrl_t; #define sr_rx_ctrl0 ((sr_rx_ctrl_t *) _SR_ADDR(SR_RX_CTRL0)) |