aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2011-07-29 01:19:08 -0700
committerJosh Blum <josh@joshknows.com>2011-07-29 01:19:08 -0700
commit043c586ff8745b0cc01ed173d23951289dbcffcf (patch)
treea2a22add4da3807e88da000faaecfba647e16d95
parentcf606156a06f6053713900fd342d36d4c74e0d7e (diff)
downloaduhd-043c586ff8745b0cc01ed173d23951289dbcffcf.tar.gz
uhd-043c586ff8745b0cc01ed173d23951289dbcffcf.tar.bz2
uhd-043c586ff8745b0cc01ed173d23951289dbcffcf.zip
usrp2: shutoff streaming using the stop bit (fix)
-rw-r--r--firmware/zpu/apps/txrx_uhd.c4
-rw-r--r--firmware/zpu/usrp2p/udp_fw_update.c5
-rw-r--r--host/lib/usrp/usrp2/fw_common.h2
3 files changed, 6 insertions, 5 deletions
diff --git a/firmware/zpu/apps/txrx_uhd.c b/firmware/zpu/apps/txrx_uhd.c
index 0d05b58db..dfb484bc5 100644
--- a/firmware/zpu/apps/txrx_uhd.c
+++ b/firmware/zpu/apps/txrx_uhd.c
@@ -54,14 +54,14 @@ static void handle_udp_data_packet(
if (payload == NULL) switch(src.port){
case USRP2_UDP_RX_DSP0_PORT:
//the end continuous streaming command
- sr_rx_ctrl0->cmd = 1 << 31; //no samples now
+ 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;
case USRP2_UDP_RX_DSP1_PORT:
//the end continuous streaming command
- sr_rx_ctrl1->cmd = 1 << 31; //no samples now
+ 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;
diff --git a/firmware/zpu/usrp2p/udp_fw_update.c b/firmware/zpu/usrp2p/udp_fw_update.c
index f64e7653c..68105aab3 100644
--- a/firmware/zpu/usrp2p/udp_fw_update.c
+++ b/firmware/zpu/usrp2p/udp_fw_update.c
@@ -67,12 +67,13 @@ void handle_udp_fw_update_packet(struct socket_address src, struct socket_addres
update_data_out.id = USRP2_FW_UPDATE_ID_OHAI_OMG;
memcpy(&update_data_out.data.ip_addr, (void *)get_ip_addr(), sizeof(struct ip_addr));
//this is to stop streaming for the folks who think updating while streaming is a good idea
- sr_rx_ctrl0->cmd = 1 << 31; //no samples now
+ 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
- sr_rx_ctrl1->cmd = 1 << 31; //no samples now
+ 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
+ sr_tx_ctrl->cyc_per_up = 0;
break;
case USRP2_FW_UPDATE_ID_WATS_TEH_FLASH_INFO_LOL: //query sector size, memory size so the host can mind the boundaries
diff --git a/host/lib/usrp/usrp2/fw_common.h b/host/lib/usrp/usrp2/fw_common.h
index 46a57fc95..f19a738b5 100644
--- a/host/lib/usrp/usrp2/fw_common.h
+++ b/host/lib/usrp/usrp2/fw_common.h
@@ -32,7 +32,7 @@ extern "C" {
//fpga and firmware compatibility numbers
#define USRP2_FPGA_COMPAT_NUM 7
#define USRP2_FW_COMPAT_NUM 10
-#define USRP2_FW_VER_MINOR 2
+#define USRP2_FW_VER_MINOR 3
//used to differentiate control packets over data port
#define USRP2_INVALID_VRT_HEADER 0