From 124ed644eed29ca5e245a2588eeaa8130f869223 Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Mon, 12 Oct 2020 11:47:31 +0200 Subject: mpmd: Export RPC token and mb_args to the property tree There are applications (typically for debugging purposes) which need access to the token and the mb_args. They are thus published via the property tree. --- host/lib/usrp/mpmd/mpmd_impl.hpp | 10 ++++++++++ host/lib/usrp/mpmd/mpmd_mboard_impl.cpp | 1 + host/lib/usrp/mpmd/mpmd_prop_tree.cpp | 2 ++ 3 files changed, 13 insertions(+) (limited to 'host/lib') diff --git a/host/lib/usrp/mpmd/mpmd_impl.hpp b/host/lib/usrp/mpmd/mpmd_impl.hpp index 364978fd7..5b19bcc00 100644 --- a/host/lib/usrp/mpmd/mpmd_impl.hpp +++ b/host/lib/usrp/mpmd/mpmd_impl.hpp @@ -131,6 +131,12 @@ public: _allow_claim_failure_flag = allow; } + //! Read the device access token + std::string get_token() + { + return _token; + } + private: /*! Reference to the RPC client that handles claiming */ @@ -165,6 +171,10 @@ private: */ uhd::task::sptr _claimer_task; + /*! A copy of the device access token + */ + std::string _token; + /*! This flag is only used within the claim() function. Go look there if you * really need to know what it does. */ diff --git a/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp b/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp index 852ece5d3..9fa0d43de 100644 --- a/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp +++ b/host/lib/usrp/mpmd/mpmd_mboard_impl.cpp @@ -379,6 +379,7 @@ uhd::task::sptr mpmd_mboard_impl::claim_device_and_make_task() // Save token for both RPC clients _claim_rpc->set_token(rpc_token); rpc->set_token(rpc_token); + _token = rpc_token; // Optionally clear log buf if (mb_args.has_key("skip_oldlog")) { try { diff --git a/host/lib/usrp/mpmd/mpmd_prop_tree.cpp b/host/lib/usrp/mpmd/mpmd_prop_tree.cpp index dc559f91b..556e2e48d 100644 --- a/host/lib/usrp/mpmd/mpmd_prop_tree.cpp +++ b/host/lib/usrp/mpmd/mpmd_prop_tree.cpp @@ -101,6 +101,8 @@ void mpmd_impl::init_property_tree( .set(mb->device_info.get("fpga_version", "UNKNOWN")); tree->create(mb_path / "fpga_version_hash") .set(mb->device_info.get("fpga_version_hash", "UNKNOWN")); + tree->create(mb_path / "token").set(mb->get_token()); + tree->create(mb_path / "args").set(mb->mb_args); /*** Clocking *******************************************************/ tree->create(mb_path / "clock_source/value") -- cgit v1.2.3