From defcb174ebb274d4621a2b958a78ed6cb6cd6aed Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Wed, 29 Jan 2020 11:44:05 -0800 Subject: multi_usrp: Add get_tree() API call This allows access to the underlying property tree without having to refer to the device object. Useful for RFNoC objects, where the device object is not accessible. --- host/include/uhd/usrp/multi_usrp.hpp | 4 ++++ host/lib/usrp/multi_usrp.cpp | 5 +++++ host/lib/usrp/multi_usrp_rfnoc.cpp | 5 +++++ 3 files changed, 14 insertions(+) diff --git a/host/include/uhd/usrp/multi_usrp.hpp b/host/include/uhd/usrp/multi_usrp.hpp index 3e2cf0a47..f6a68ef3e 100644 --- a/host/include/uhd/usrp/multi_usrp.hpp +++ b/host/include/uhd/usrp/multi_usrp.hpp @@ -127,6 +127,10 @@ public: */ virtual device::sptr get_device(void) = 0; + /*! Return a reference to the property tree + */ + virtual uhd::property_tree::sptr get_tree(void) const = 0; + //! Convenience method to get a RX streamer. See also uhd::device::get_rx_stream(). virtual rx_streamer::sptr get_rx_stream(const stream_args_t& args) = 0; diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp index 202f8b2df..0ea25b099 100644 --- a/host/lib/usrp/multi_usrp.cpp +++ b/host/lib/usrp/multi_usrp.cpp @@ -405,6 +405,11 @@ public: return _dev; } + uhd::property_tree::sptr get_tree() const + { + return _tree; + } + dict get_usrp_rx_info(size_t chan){ mboard_chan_pair mcp = rx_chan_to_mcp(chan); dict usrp_info; diff --git a/host/lib/usrp/multi_usrp_rfnoc.cpp b/host/lib/usrp/multi_usrp_rfnoc.cpp index b2070c53d..b34860989 100644 --- a/host/lib/usrp/multi_usrp_rfnoc.cpp +++ b/host/lib/usrp/multi_usrp_rfnoc.cpp @@ -161,6 +161,11 @@ public: return nullptr; } + uhd::property_tree::sptr get_tree() const + { + return _tree; + } + rx_streamer::sptr get_rx_stream(const stream_args_t& args_) { std::lock_guard l(_graph_mutex); -- cgit v1.2.3