aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp2/io_impl.cpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-10-21 15:32:20 -0700
committerJosh Blum <josh@joshknows.com>2010-10-21 15:32:20 -0700
commit2628d78e0d0348001cb8428c8064cd1e3179afc8 (patch)
treefa2064b84926751c9e4f4532e07f76a76340e751 /host/lib/usrp/usrp2/io_impl.cpp
parent1e57eec9999e1a9d0a735c04173c78164ce8afcd (diff)
parentbd59192bd4eceaf86b60d91651e6b0bf11c2274e (diff)
downloaduhd-2628d78e0d0348001cb8428c8064cd1e3179afc8.tar.gz
uhd-2628d78e0d0348001cb8428c8064cd1e3179afc8.tar.bz2
uhd-2628d78e0d0348001cb8428c8064cd1e3179afc8.zip
Merge branch 'usrp2_overflow' into flow_ctrl
Conflicts: host/lib/usrp/usrp2/usrp2_impl.hpp
Diffstat (limited to 'host/lib/usrp/usrp2/io_impl.cpp')
-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 f25b73f80..39e6c167f 100644
--- a/host/lib/usrp/usrp2/io_impl.cpp
+++ b/host/lib/usrp/usrp2/io_impl.cpp
@@ -339,6 +339,11 @@ size_t usrp2_impl::get_max_recv_samps_per_packet(void) const{
return bpp/_rx_otw_type.get_sample_size();
}
+static void handle_overflow(std::vector<usrp2_mboard_impl::sptr> &mboards, size_t chan){
+ std::cerr << "O" << std::flush;
+ mboards.at(chan/mboards.size())->handle_overflow();
+}
+
size_t usrp2_impl::recv(
const std::vector<void *> &buffs, size_t num_samps,
rx_metadata_t &metadata, const io_type_t &io_type,
@@ -351,6 +356,7 @@ size_t usrp2_impl::recv(
io_type, _rx_otw_type, //input and output types to convert
_mboards.front()->get_master_clock_freq(), //master clock tick rate
uhd::transport::vrt::if_hdr_unpack_be,
- boost::bind(&usrp2_impl::io_impl::get_recv_buffs, _io_impl.get(), _1, timeout)
+ boost::bind(&usrp2_impl::io_impl::get_recv_buffs, _io_impl.get(), _1, timeout),
+ boost::bind(&handle_overflow, _mboards, _1)
);
}