diff options
author | Josh Blum <josh@joshknows.com> | 2010-10-07 10:43:58 -0700 |
---|---|---|
committer | Josh Blum <josh@joshknows.com> | 2010-10-07 10:43:58 -0700 |
commit | 0059e62ed067a4844edfb720da73fcdb8e69db6a (patch) | |
tree | b293491af14f6053368c5ccfbee2c38a3b804dc1 /host/lib/usrp/usrp2/io_impl.cpp | |
parent | b40ace72dd1b940fc0ce6e4a5e06346439dd5625 (diff) | |
download | uhd-0059e62ed067a4844edfb720da73fcdb8e69db6a.tar.gz uhd-0059e62ed067a4844edfb720da73fcdb8e69db6a.tar.bz2 uhd-0059e62ed067a4844edfb720da73fcdb8e69db6a.zip |
usrp2: moved samples per packet calculation into io_impl
Diffstat (limited to 'host/lib/usrp/usrp2/io_impl.cpp')
-rw-r--r-- | host/lib/usrp/usrp2/io_impl.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/host/lib/usrp/usrp2/io_impl.cpp b/host/lib/usrp/usrp2/io_impl.cpp index 07eda08c3..eba704059 100644 --- a/host/lib/usrp/usrp2/io_impl.cpp +++ b/host/lib/usrp/usrp2/io_impl.cpp @@ -197,6 +197,15 @@ static bool get_send_buffs( return good; } +size_t usrp2_impl::get_max_send_samps_per_packet(void) const{ + static const size_t hdr_size = 0 + + vrt::max_if_hdr_words32*sizeof(boost::uint32_t) + - sizeof(vrt::if_packet_info_t().cid) //no class id ever used + ; + const size_t bpp = _data_transports.front()->get_send_frame_size() - hdr_size; + return bpp/_tx_otw_type.get_sample_size(); +} + size_t usrp2_impl::send( const std::vector<const void *> &buffs, size_t num_samps, const tx_metadata_t &metadata, const io_type_t &io_type, @@ -217,6 +226,16 @@ size_t usrp2_impl::send( /*********************************************************************** * Receive Data **********************************************************************/ +size_t usrp2_impl::get_max_recv_samps_per_packet(void) const{ + static const size_t hdr_size = 0 + + vrt::max_if_hdr_words32*sizeof(boost::uint32_t) + + sizeof(vrt::if_packet_info_t().tlr) //forced to have trailer + - sizeof(vrt::if_packet_info_t().cid) //no class id ever used + ; + const size_t bpp = _data_transports.front()->get_recv_frame_size() - hdr_size; + return bpp/_rx_otw_type.get_sample_size(); +} + size_t usrp2_impl::recv( const std::vector<void *> &buffs, size_t num_samps, rx_metadata_t &metadata, const io_type_t &io_type, |