summaryrefslogtreecommitdiffstats
path: root/host/lib/usrp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-04-05 18:32:33 -0700
committerJosh Blum <josh@joshknows.com>2010-04-05 18:32:33 -0700
commit8740bc7149717673c4580767142ce2563035d4cb (patch)
treee90e8087d2fa1d4d833c9f9bdc22714a65b1e446 /host/lib/usrp
parented5cb33eb402c5d34c330d1b9dcb99658c628a72 (diff)
downloaduhd-8740bc7149717673c4580767142ce2563035d4cb.tar.gz
uhd-8740bc7149717673c4580767142ce2563035d4cb.tar.bz2
uhd-8740bc7149717673c4580767142ce2563035d4cb.zip
handle tx fragment eob flag case
Diffstat (limited to 'host/lib/usrp')
-rw-r--r--host/lib/usrp/usrp2/io_impl.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp
index 5820841d7..a58e32619 100644
--- a/host/lib/usrp/usrp2/io_impl.cpp
+++ b/host/lib/usrp/usrp2/io_impl.cpp
@@ -171,15 +171,21 @@ void usrp2_impl::recv_raw(rx_metadata_t &metadata){
**********************************************************************/
size_t usrp2_impl::send(
const asio::const_buffer &buff,
- const tx_metadata_t &metadata,
+ const tx_metadata_t &metadata_,
const io_type_t &io_type
){
+ tx_metadata_t metadata = metadata_; //rw copy to change later
+
boost::uint32_t tx_mem[_mtu/sizeof(boost::uint32_t)];
size_t num_samps = std::min(
asio::buffer_size(buff)/io_type.size,
size_t(_max_tx_samples_per_packet)
);
+ //kill the end of burst flag if this is a fragment
+ if (asio::buffer_size(buff)/io_type.size < num_samps)
+ metadata.end_of_burst = false;
+
size_t num_header_words32, num_packet_words32;
size_t packet_count = _tx_stream_id_to_packet_seq[metadata.stream_id]++;