diff options
author | Martin Braun <martin.braun@ettus.com> | 2017-06-06 11:27:07 -0700 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2017-12-22 15:03:59 -0800 |
commit | b14bc217e9598578bef89707ca4febc11e0f4290 (patch) | |
tree | 481832a44c5466386b4f5ff25fdd8b3b0e1b2b23 /host/lib/usrp/mpmd/mpmd_impl.hpp | |
parent | eb4a0cb6ebcff0bf3844df690a2d7653700211f2 (diff) | |
download | uhd-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.hpp | 25 |
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; |