diff options
Diffstat (limited to 'gr-uhd/lib')
-rw-r--r-- | gr-uhd/lib/uhd_multi_usrp_sink.cc | 11 | ||||
-rw-r--r-- | gr-uhd/lib/uhd_multi_usrp_source.cc | 4 |
2 files changed, 9 insertions, 6 deletions
diff --git a/gr-uhd/lib/uhd_multi_usrp_sink.cc b/gr-uhd/lib/uhd_multi_usrp_sink.cc index 31dbac44f..17cd1ad78 100644 --- a/gr-uhd/lib/uhd_multi_usrp_sink.cc +++ b/gr-uhd/lib/uhd_multi_usrp_sink.cc @@ -128,7 +128,7 @@ public: return _dev->get_device()->send( input_items, noutput_items, metadata, - _type, uhd::device::SEND_MODE_FULL_BUFF + _type, uhd::device::SEND_MODE_FULL_BUFF, 1.0 ); } @@ -138,11 +138,14 @@ public: uhd::tx_metadata_t metadata; metadata.start_of_burst = true; metadata.has_time_spec = true; - metadata.time_spec = get_time_now() + uhd::time_spec_t(0.01); //10ms offset in future + //TODO: Time in the near future, must be less than source time in future + //because ethernet pause frames with throttle stream commands. + //It will be fixed with the invention of host-based flow control. + metadata.time_spec = get_time_now() + uhd::time_spec_t(0.05); _dev->get_device()->send( gr_vector_const_void_star(_nchan), 0, metadata, - _type, uhd::device::SEND_MODE_ONE_PACKET + _type, uhd::device::SEND_MODE_ONE_PACKET, 1.0 ); return true; } @@ -155,7 +158,7 @@ public: _dev->get_device()->send( gr_vector_const_void_star(_nchan), 0, metadata, - _type, uhd::device::SEND_MODE_ONE_PACKET + _type, uhd::device::SEND_MODE_ONE_PACKET, 1.0 ); return true; } diff --git a/gr-uhd/lib/uhd_multi_usrp_source.cc b/gr-uhd/lib/uhd_multi_usrp_source.cc index 0ac686c79..63dad1a25 100644 --- a/gr-uhd/lib/uhd_multi_usrp_source.cc +++ b/gr-uhd/lib/uhd_multi_usrp_source.cc @@ -128,7 +128,7 @@ public: size_t num_samps = _dev->get_device()->recv( output_items, noutput_items, metadata, - _type, uhd::device::RECV_MODE_FULL_BUFF + _type, uhd::device::RECV_MODE_FULL_BUFF, 1.0 ); switch(metadata.error_code){ @@ -149,7 +149,7 @@ public: bool start(void){ //setup a stream command that starts streaming slightly in the future - static const double reasonable_delay = 0.05; //order of magnitude over RTT + static const double reasonable_delay = 0.1; //order of magnitude over RTT uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::STREAM_MODE_START_CONTINUOUS); stream_cmd.stream_now = false; stream_cmd.time_spec = get_time_now() + uhd::time_spec_t(reasonable_delay); |