From 4cd86bbf2ad9db0a3fd64252f9ba2d569d48144e Mon Sep 17 00:00:00 2001 From: Martin Braun Date: Tue, 21 Apr 2020 22:11:34 -0700 Subject: multi_usrp: Amend get_usrp_{rx,tx}_info() to include cal keys This adds two more keys to the dictionary return from get_usrp_{rx,tx}_info() which can be used to query the calibration key and serial. --- host/lib/usrp/multi_usrp.cpp | 16 ++++++++++++++++ host/lib/usrp/multi_usrp_rfnoc.cpp | 12 ++++++++++++ 2 files changed, 28 insertions(+) (limited to 'host/lib/usrp') diff --git a/host/lib/usrp/multi_usrp.cpp b/host/lib/usrp/multi_usrp.cpp index 067377423..c41b31083 100644 --- a/host/lib/usrp/multi_usrp.cpp +++ b/host/lib/usrp/multi_usrp.cpp @@ -442,6 +442,14 @@ public: usrp_info["rx_serial"] = db_eeprom.serial; usrp_info["rx_id"] = db_eeprom.id.to_pp_string(); } + if (_tree->exists(rx_rf_fe_root(chan) / "ref_power/key")) { + usrp_info["rx_ref_power_key"] = + _tree->access(rx_rf_fe_root(chan) / "ref_power/key").get(); + } + if (_tree->exists(rx_rf_fe_root(chan) / "ref_power/serial")) { + usrp_info["rx_ref_power_serial"] = + _tree->access(rx_rf_fe_root(chan) / "ref_power/serial").get(); + } return usrp_info; } @@ -473,6 +481,14 @@ public: usrp_info["tx_serial"] = db_eeprom.serial; usrp_info["tx_id"] = db_eeprom.id.to_pp_string(); } + if (_tree->exists(tx_rf_fe_root(chan) / "ref_power/key")) { + usrp_info["tx_ref_power_key"] = + _tree->access(tx_rf_fe_root(chan) / "ref_power/key").get(); + } + if (_tree->exists(tx_rf_fe_root(chan) / "ref_power/serial")) { + usrp_info["tx_ref_power_serial"] = + _tree->access(tx_rf_fe_root(chan) / "ref_power/serial").get(); + } return usrp_info; } diff --git a/host/lib/usrp/multi_usrp_rfnoc.cpp b/host/lib/usrp/multi_usrp_rfnoc.cpp index aa28c6784..8b85e84ec 100644 --- a/host/lib/usrp/multi_usrp_rfnoc.cpp +++ b/host/lib/usrp/multi_usrp_rfnoc.cpp @@ -453,6 +453,12 @@ public: usrp_info["rx_id"] = db_eeprom.count("rx_id") ? bytes_to_str(db_eeprom.at("rx_id")) : ""; + const auto rx_power_ref_keys = rx_chain.radio->get_rx_power_ref_keys(); + if (!rx_power_ref_keys.empty() && rx_power_ref_keys.size() == 2) { + usrp_info["rx_ref_power_key"] = rx_power_ref_keys.at(0); + usrp_info["rx_ref_power_serial"] = rx_power_ref_keys.at(1); + } + return usrp_info; } @@ -477,6 +483,12 @@ public: usrp_info["tx_id"] = db_eeprom.count("tx_id") ? bytes_to_str(db_eeprom.at("tx_id")) : ""; + const auto tx_power_ref_keys = tx_chain.radio->get_tx_power_ref_keys(); + if (!tx_power_ref_keys.empty() && tx_power_ref_keys.size() == 2) { + usrp_info["tx_ref_power_key"] = tx_power_ref_keys.at(0); + usrp_info["tx_ref_power_serial"] = tx_power_ref_keys.at(1); + } + return usrp_info; } -- cgit v1.2.3