diff options
Diffstat (limited to 'host/lib/include/uhdlib')
5 files changed, 23 insertions, 0 deletions
diff --git a/host/lib/include/uhdlib/rfnoc/radio_control_impl.hpp b/host/lib/include/uhdlib/rfnoc/radio_control_impl.hpp index de83c403c..ace5b7a45 100644 --- a/host/lib/include/uhdlib/rfnoc/radio_control_impl.hpp +++ b/host/lib/include/uhdlib/rfnoc/radio_control_impl.hpp @@ -323,6 +323,13 @@ protected: return _rate; } + /* + * Returns the number of bytes to be processed in each clock cycle. + */ + size_t get_atomic_item_size() const + { + return (_samp_width / 8) * _spc; + } //! Properties for samp_rate (one per port) std::vector<property_t<double>> _samp_rate_in; //! Properties for samp_rate (one per port) @@ -380,6 +387,8 @@ private: const uint32_t _spc; std::vector<property_t<int>> _spp_prop; + std::vector<property_t<size_t>> _atomic_item_size_in; + std::vector<property_t<size_t>> _atomic_item_size_out; //! Properties for type_in (one per port) std::vector<property_t<io_type_t>> _type_in; //! Properties for type_out (one per port) diff --git a/host/lib/include/uhdlib/rfnoc/rfnoc_rx_streamer.hpp b/host/lib/include/uhdlib/rfnoc/rfnoc_rx_streamer.hpp index ca569e338..2ed11182a 100644 --- a/host/lib/include/uhdlib/rfnoc/rfnoc_rx_streamer.hpp +++ b/host/lib/include/uhdlib/rfnoc/rfnoc_rx_streamer.hpp @@ -110,6 +110,7 @@ private: std::vector<property_t<double>> _tick_rate_in; std::vector<property_t<std::string>> _type_in; std::vector<property_t<size_t>> _mtu_in; + std::vector<property_t<size_t>> _atomic_item_size_in; // Streamer unique ID const std::string _unique_id; diff --git a/host/lib/include/uhdlib/rfnoc/rfnoc_tx_streamer.hpp b/host/lib/include/uhdlib/rfnoc/rfnoc_tx_streamer.hpp index a071d7248..76369474f 100644 --- a/host/lib/include/uhdlib/rfnoc/rfnoc_tx_streamer.hpp +++ b/host/lib/include/uhdlib/rfnoc/rfnoc_tx_streamer.hpp @@ -113,6 +113,7 @@ private: std::vector<property_t<double>> _tick_rate_out; std::vector<property_t<std::string>> _type_out; std::vector<property_t<size_t>> _mtu_out; + std::vector<property_t<size_t>> _atomic_item_size_out; // Streamer unique ID const std::string _unique_id; diff --git a/host/lib/include/uhdlib/transport/rx_streamer_impl.hpp b/host/lib/include/uhdlib/transport/rx_streamer_impl.hpp index 1b25b308b..03cd3824a 100644 --- a/host/lib/include/uhdlib/transport/rx_streamer_impl.hpp +++ b/host/lib/include/uhdlib/transport/rx_streamer_impl.hpp @@ -208,6 +208,12 @@ protected: _converters[chan]->set_scalar(scale_factor); } + //! set maximum number of sample (per packet) + void set_max_num_samps(const size_t value) + { + _spp = value; + } + //! Returns the maximum payload size size_t get_mtu() const { diff --git a/host/lib/include/uhdlib/transport/tx_streamer_impl.hpp b/host/lib/include/uhdlib/transport/tx_streamer_impl.hpp index 6b34c1c10..38f16671a 100644 --- a/host/lib/include/uhdlib/transport/tx_streamer_impl.hpp +++ b/host/lib/include/uhdlib/transport/tx_streamer_impl.hpp @@ -329,6 +329,12 @@ protected: return _zero_copy_streamer.get_tick_rate(); } + //! set maximum number of sample (per packet) + void set_max_num_samps(const size_t value) + { + _spp = value; + } + //! Returns the maximum payload size size_t get_mtu() const { |