diff options
author | Tom Rondeau | 2012-10-01 17:37:35 -0400 |
---|---|---|
committer | Tom Rondeau | 2012-10-01 17:37:35 -0400 |
commit | b31ea99bf07cb66f1dab3cea94f9f792f6cab2fc (patch) | |
tree | 452329e4e262b2da3b690d12493f1b44c8d84160 /gr-uhd/lib/gr_uhd_usrp_source.cc | |
parent | 21b39825df56f0353f6f9e60f06c1ded38f9df81 (diff) | |
parent | 65ea256f8de15b7a23c602f9775edf0636b3732c (diff) | |
download | gnuradio-b31ea99bf07cb66f1dab3cea94f9f792f6cab2fc.tar.gz gnuradio-b31ea99bf07cb66f1dab3cea94f9f792f6cab2fc.tar.bz2 gnuradio-b31ea99bf07cb66f1dab3cea94f9f792f6cab2fc.zip |
Merge branch 'master' of gnuradio.org:gnuradio
Diffstat (limited to 'gr-uhd/lib/gr_uhd_usrp_source.cc')
-rw-r--r-- | gr-uhd/lib/gr_uhd_usrp_source.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/gr-uhd/lib/gr_uhd_usrp_source.cc b/gr-uhd/lib/gr_uhd_usrp_source.cc index ad4cb4d81..3813673b4 100644 --- a/gr-uhd/lib/gr_uhd_usrp_source.cc +++ b/gr-uhd/lib/gr_uhd_usrp_source.cc @@ -338,8 +338,8 @@ public: //If receive resulted in a timeout condition: //We now receive a single packet with a large timeout. - while (_metadata.error_code == uhd::rx_metadata_t::ERROR_CODE_TIMEOUT){ - if (boost::this_thread::interruption_requested()) return WORK_DONE; + if (_metadata.error_code == uhd::rx_metadata_t::ERROR_CODE_TIMEOUT) + { num_samps = _rx_stream->recv( output_items, noutput_items, _metadata, 0.1, true/*one pkt*/ ); @@ -377,9 +377,8 @@ public: break; case uhd::rx_metadata_t::ERROR_CODE_TIMEOUT: - //Assume that the user called stop() on the flow graph. - //However, a timeout can occur under error conditions. - return WORK_DONE; + //its ok to timeout, perhaps the user is doing finite streaming + return 0; case uhd::rx_metadata_t::ERROR_CODE_OVERFLOW: _tag_now = true; @@ -402,6 +401,11 @@ public: _stream_now = false; } + void issue_stream_cmd(const uhd::stream_cmd_t &cmd) + { + _dev->issue_stream_cmd(cmd); + } + bool start(void){ #ifdef GR_UHD_USE_STREAM_API _rx_stream = _dev->get_rx_stream(_stream_args); |