diff options
author | Sean Nowlan <sean.nowlan@gtri.gatech.edu> | 2014-04-03 23:28:00 -0400 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2014-04-26 23:31:54 +0200 |
commit | fdafa6a6ed03d5bfea5e2c11584902d64032c761 (patch) | |
tree | 2fed6bad3763be5328aa3430ec9041a39751083b /gr-uhd | |
parent | b013092531e801c4c6ac7ea64c19ed7c62846bf3 (diff) |
uhd: modified tag preemption/gap handling
Diffstat (limited to 'gr-uhd')
-rw-r--r-- | gr-uhd/lib/usrp_sink_impl.cc | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gr-uhd/lib/usrp_sink_impl.cc b/gr-uhd/lib/usrp_sink_impl.cc index 316c39ae2e..413952add7 100644 --- a/gr-uhd/lib/usrp_sink_impl.cc +++ b/gr-uhd/lib/usrp_sink_impl.cc @@ -496,6 +496,8 @@ namespace gr { //the last sample of the previous burst. Drop samples until the next //length_tag is found. Notify the user of the tag gap. std::cerr << "tG" << std::flush; + //increment the timespec by the number of samples dropped + _metadata.time_spec += ::uhd::time_spec_t(0, ninput_items, _sample_rate); return ninput_items; } } @@ -572,15 +574,10 @@ namespace gr { //length_tag found; set the start of burst flag in the metadata else if(not pmt::is_null(_length_tag_key) and pmt::equal(key, _length_tag_key)) { //If there are still items left to send, the current burst has been preempted. - //Truncate the current burst by setting the end of burst flag in a mini end of - //burst packet. The next call to work will start at the new burst. Notify the - //user of the tag preemption. + //Set the items remaining counter to the new burst length. Notify the user of + //the tag preemption. if(_nitems_to_send > 0) { - ninput_items = 0; - _nitems_to_send = 0; - _metadata.end_of_burst = true; std::cerr << "tP" << std::flush; - return; } _nitems_to_send = pmt::to_long(value); _metadata.start_of_burst = true; |