aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/include/uhdlib')
-rw-r--r--host/lib/include/uhdlib/rfnoc/radio_control_impl.hpp9
-rw-r--r--host/lib/include/uhdlib/rfnoc/rfnoc_rx_streamer.hpp1
-rw-r--r--host/lib/include/uhdlib/rfnoc/rfnoc_tx_streamer.hpp1
-rw-r--r--host/lib/include/uhdlib/transport/rx_streamer_impl.hpp6
-rw-r--r--host/lib/include/uhdlib/transport/tx_streamer_impl.hpp6
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
{