diff options
author | Josh Blum <josh@joshknows.com> | 2010-04-05 17:42:22 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-04-05 17:42:22 -0700 |
commit | e4f75a9271cc20702444641a3e8d442e12492c11 (patch) | |
tree | a9135bfa9d4ef5b648d861e7de9c7bf989867d2c /firmware/microblaze/apps | |
parent | 9c1e7c5b8804a821e9a48908e7302327e4b9070d (diff) | |
parent | 97496ace66842f9d7529793b2b202be9abe156c3 (diff) | |
download | uhd-e4f75a9271cc20702444641a3e8d442e12492c11.tar.gz uhd-e4f75a9271cc20702444641a3e8d442e12492c11.tar.bz2 uhd-e4f75a9271cc20702444641a3e8d442e12492c11.zip |
Merge branch 'rework' of git@ettus.sourcerepo.com:ettus/uhd
Diffstat (limited to 'firmware/microblaze/apps')
-rw-r--r-- | firmware/microblaze/apps/txrx.c | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/firmware/microblaze/apps/txrx.c b/firmware/microblaze/apps/txrx.c index 39a503091..69a04d771 100644 --- a/firmware/microblaze/apps/txrx.c +++ b/firmware/microblaze/apps/txrx.c @@ -385,7 +385,7 @@ void handle_udp_ctrl_packet( issue_stream_command( (chain)? streaming_items_per_frame : num_samps, //nsamps (ctrl_data_in->data.stream_cmd.now == 0)? false : true, //now - chain, //chain + (ctrl_data_in->data.stream_cmd.chain == 0)? chain : true, //chain ctrl_data_in->data.stream_cmd.secs, ctrl_data_in->data.stream_cmd.ticks, false @@ -398,7 +398,7 @@ void handle_udp_ctrl_packet( issue_stream_command( (chain)? streaming_items_per_frame : num_samps, //nsamps true, //now - chain, //chain + (ctrl_data_in->data.stream_cmd.chain == 0)? chain : true, //chain 0, 0, //time does not matter false ); @@ -415,14 +415,38 @@ void handle_udp_ctrl_packet( if (ctrl_data_in->data.poke_args.addr < 0xC000){ printf("error! tried to poke into 0x%x\n", ctrl_data_in->data.poke_args.addr); } - else{ - *((uint32_t *) ctrl_data_in->data.poke_args.addr) = ctrl_data_in->data.poke_args.data; + else switch(ctrl_data_in->data.poke_args.num_bytes){ + case sizeof(uint32_t): + *((uint32_t *) ctrl_data_in->data.poke_args.addr) = (uint32_t)ctrl_data_in->data.poke_args.data; + break; + + case sizeof(uint16_t): + *((uint16_t *) ctrl_data_in->data.poke_args.addr) = (uint16_t)ctrl_data_in->data.poke_args.data; + break; + + case sizeof(uint8_t): + *((uint8_t *) ctrl_data_in->data.poke_args.addr) = (uint8_t)ctrl_data_in->data.poke_args.data; + break; + } ctrl_data_out.id = USRP2_CTRL_ID_OMG_POKED_REGISTER_SO_BAD_DUDE; break; case USRP2_CTRL_ID_PEEK_AT_THIS_REGISTER_FOR_ME_BRO: - ctrl_data_in->data.poke_args.data = *((uint32_t *) ctrl_data_in->data.poke_args.addr); + switch(ctrl_data_in->data.poke_args.num_bytes){ + case sizeof(uint32_t): + ctrl_data_in->data.poke_args.data = *((uint32_t *) ctrl_data_in->data.poke_args.addr); + break; + + case sizeof(uint16_t): + ctrl_data_in->data.poke_args.data = *((uint16_t *) ctrl_data_in->data.poke_args.addr); + break; + + case sizeof(uint8_t): + ctrl_data_in->data.poke_args.data = *((uint8_t *) ctrl_data_in->data.poke_args.addr); + break; + + } ctrl_data_out.id = USRP2_CTRL_ID_WOAH_I_DEFINITELY_PEEKED_IT_DUDE; break; |