From d0e8f4effa356d2c8018241e78a520c50ab23f9a Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Thu, 9 Aug 2018 17:16:01 -0500 Subject: multi_usrp: Add get_user_settings_iface() API call For USRPs that support user settings (e.g., B2xx, N230), this will return an object that will allow peeking and poking user-defined settings registers. Mock code example: auto usrp = multi_usrp::make(...); auto user_settings_iface = usrp->get_user_settings_iface(); user_settings_iface->poke32(0, 23); --- host/lib/usrp/multi_usrp.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'host/lib/usrp') diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp index 1985da254..687f1c06d 100644 --- a/host/lib/usrp/multi_usrp.cpp +++ b/host/lib/usrp/multi_usrp.cpp @@ -820,6 +820,18 @@ public: } } + wb_iface::sptr get_user_settings_iface(const size_t chan) + { + const auto user_settings_path = + rx_rf_fe_root(chan) / "user_settings" / "iface"; + if (_tree->exists(user_settings_path)) { + return _tree->access(user_settings_path).get(); + } + UHD_LOG_WARNING("MULTI_USRP", + "Attempting to read back non-existant user settings iface!"); + return nullptr; + } + /******************************************************************* * RX methods ******************************************************************/ -- cgit v1.2.3