aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/mpmd/mpmd_impl.hpp
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2017-06-06 11:27:07 -0700
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:03:59 -0800
commitb14bc217e9598578bef89707ca4febc11e0f4290 (patch)
tree481832a44c5466386b4f5ff25fdd8b3b0e1b2b23 /host/lib/usrp/mpmd/mpmd_impl.hpp
parenteb4a0cb6ebcff0bf3844df690a2d7653700211f2 (diff)
downloaduhd-b14bc217e9598578bef89707ca4febc11e0f4290.tar.gz
uhd-b14bc217e9598578bef89707ca4febc11e0f4290.tar.bz2
uhd-b14bc217e9598578bef89707ca4febc11e0f4290.zip
mpm/mpmd: Dboard info is now stored in mboard info; refactored initialization
Diffstat (limited to 'host/lib/usrp/mpmd/mpmd_impl.hpp')
-rw-r--r--host/lib/usrp/mpmd/mpmd_impl.hpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/host/lib/usrp/mpmd/mpmd_impl.hpp b/host/lib/usrp/mpmd/mpmd_impl.hpp
index 3051ada71..b6b02904c 100644
--- a/host/lib/usrp/mpmd/mpmd_impl.hpp
+++ b/host/lib/usrp/mpmd/mpmd_impl.hpp
@@ -79,6 +79,11 @@ class mpmd_mboard_impl
//! Device information is read back via MPM and stored here.
uhd::device_addr_t device_info;
+ //! Dboard info is read back via MPM and stored here. There will be one
+ // dictionary per dboard; but there's no requirement for the dictionary
+ // to be populated at all.
+ std::vector<uhd::device_addr_t> dboard_info;
+
//! Number of RFNoC crossbars on this device
size_t num_xbars = 0;
@@ -110,19 +115,27 @@ class mpmd_mboard_impl
private:
/*************************************************************************
- * Private attributes
+ * Private methods
************************************************************************/
- //! Stores a list of local addresses of the crossbars. The local address is
- // what we use when addressing a crossbar in a CHDR header.
- std::vector<size_t> xbar_local_addrs;
-
-
/*! Renew the claim onto the device.
*
* This is meant to be called repeatedly, e.g., using a UHD task.
*/
bool claim();
+ uhd::task::sptr claim_device_and_make_task(
+ uhd::rpc_client::sptr rpc,
+ const uhd::device_addr_t mb_args
+ );
+
+ /*************************************************************************
+ * Private attributes
+ ************************************************************************/
+ //! Stores a list of local addresses of the crossbars. The local address is
+ // what we use when addressing a crossbar in a CHDR header.
+ std::vector<size_t> xbar_local_addrs;
+
+
/*! Continuously reclaims the device.
*/
uhd::task::sptr _claimer_task;