aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp2/io_impl.cpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-10-21 12:27:49 -0700
committerJosh Blum <josh@joshknows.com>2010-10-21 12:27:49 -0700
commitbd59192bd4eceaf86b60d91651e6b0bf11c2274e (patch)
tree11d8b02694f372d3ae53d648bffd1f363005cc04 /host/lib/usrp/usrp2/io_impl.cpp
parente2f76bddae7845024056b479658651c6da2b0f4d (diff)
downloaduhd-bd59192bd4eceaf86b60d91651e6b0bf11c2274e.tar.gz
uhd-bd59192bd4eceaf86b60d91651e6b0bf11c2274e.tar.bz2
uhd-bd59192bd4eceaf86b60d91651e6b0bf11c2274e.zip
usrp2: handle real overflow packets in host, reload continuous stream cmd, remove firmware handling
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 bbe9c273f..83b70bddc 100644
--- a/host/lib/usrp/usrp2/io_impl.cpp
+++ b/host/lib/usrp/usrp2/io_impl.cpp
@@ -236,6 +236,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,
@@ -248,6 +253,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)
);
}