diff options
author | Martin Braun <martin.braun@ettus.com> | 2019-10-24 10:35:16 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-11-26 12:21:33 -0800 |
commit | d5580fcec8611a83336d9634bd81b49e77635f68 (patch) | |
tree | 1516de69ea1891bb11205b63ddb319e521df9933 /host/lib/usrp/multi_usrp_rfnoc.cpp | |
parent | 4e6177ed5564180fe7a0da705490087e736371b6 (diff) | |
download | uhd-d5580fcec8611a83336d9634bd81b49e77635f68.tar.gz uhd-d5580fcec8611a83336d9634bd81b49e77635f68.tar.bz2 uhd-d5580fcec8611a83336d9634bd81b49e77635f68.zip |
multi_usrp: Add set_rx_spp() call
This API call is a more explicit way of setting the spp than passing in
an spp value in the args of the stream args when creating streamers. For
pre-RFNoC devices, this is done by injecting the spp arg back into the
stream args. For RFNoC devices, the set_property() call on the radio is
called.
Diffstat (limited to 'host/lib/usrp/multi_usrp_rfnoc.cpp')
-rw-r--r-- | host/lib/usrp/multi_usrp_rfnoc.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/host/lib/usrp/multi_usrp_rfnoc.cpp b/host/lib/usrp/multi_usrp_rfnoc.cpp index b3851ba9e..d6f16824d 100644 --- a/host/lib/usrp/multi_usrp_rfnoc.cpp +++ b/host/lib/usrp/multi_usrp_rfnoc.cpp @@ -16,8 +16,9 @@ #include <uhd/utils/graph_utils.hpp> #include <uhdlib/rfnoc/rfnoc_device.hpp> #include <uhdlib/usrp/gpio_defs.hpp> +#include <uhdlib/utils/narrow.hpp> #include <unordered_set> -#include <boost/pointer_cast.hpp> +#include <boost/format.hpp> #include <algorithm> #include <chrono> #include <memory> @@ -1044,6 +1045,20 @@ public: _rx_rates[chan] = actual_rate; } + void set_rx_spp(const size_t spp, const size_t chan = ALL_CHANS) + { + std::lock_guard<std::recursive_mutex> l(_graph_mutex); + if (chan == ALL_CHANS) { + for (size_t chan = 0; chan < _rx_chans.size(); ++chan) { + set_rx_spp(spp, chan); + } + return; + } + auto rx_chain = _get_rx_chan(chan); + rx_chain.radio->set_property<int>( + "spp", narrow_cast<int>(spp), rx_chain.block_chan); + } + double get_rx_rate(size_t chan) { std::lock_guard<std::recursive_mutex> l(_graph_mutex); |