diff options
author | Cristina Fuentes <cristina.fuentes-curiel@ni.com> | 2020-09-21 15:17:39 -0700 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2020-09-24 15:16:45 -0500 |
commit | 2e64cb1b2891cbecab832aec00b8269e0798ff0d (patch) | |
tree | 2ba16206f87a760efe7835121b52dc727b1ddd84 /host/include | |
parent | bc20747808138462968b1b743abecbb83389e1c4 (diff) | |
download | uhd-2e64cb1b2891cbecab832aec00b8269e0798ff0d.tar.gz uhd-2e64cb1b2891cbecab832aec00b8269e0798ff0d.tar.bz2 uhd-2e64cb1b2891cbecab832aec00b8269e0798ff0d.zip |
multi_usrp: Add get_mb_controller() API call
Diffstat (limited to 'host/include')
-rw-r--r-- | host/include/uhd/usrp/multi_usrp.hpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/host/include/uhd/usrp/multi_usrp.hpp b/host/include/uhd/usrp/multi_usrp.hpp index 2f441bd5a..e00fe7553 100644 --- a/host/include/uhd/usrp/multi_usrp.hpp +++ b/host/include/uhd/usrp/multi_usrp.hpp @@ -36,6 +36,7 @@ #include <uhd/usrp/dboard_iface.hpp> #include <uhd/usrp/subdev_spec.hpp> #include <uhd/utils/noncopyable.hpp> +#include <uhd/rfnoc/mb_controller.hpp> #include <uhd/rfnoc/radio_control.hpp> #include <complex> #include <memory> @@ -1783,6 +1784,25 @@ public: virtual void set_tx_filter(const std::string& name, uhd::filter_info_base::sptr filter, const size_t chan) = 0; + + /*! Get direct access to the underlying mb_controller object. + * + * Note: This is an advanced API, created for corner cases where the + * application is using multi_usrp, but some special features from + * mb_controller need to be used that are not exposed by multi_usrp. + * Note that it is possible to put the mb_controller and multi_usrp into a + * broken state by directly accessing the mb_controller. For typical + * mb_controller operations it is therefore highly recommended + * to not use this API call, but use the native multi_usrp API calls. + * + * The lifetime of the mb_controller is linked to the lifetime of the + * device object, so storing a reference from this function is not allowed. + * + * \param mboard The motherboard index + * \returns A reference to the mb_controller for the corresponding mboard + * \throws uhd::not_implemented_error if not on an RFNoC device. + */ + virtual uhd::rfnoc::mb_controller& get_mb_controller(const size_t mboard = 0) = 0; }; } // namespace usrp |