diff options
author | Martin Braun <martin.braun@ettus.com> | 2020-04-21 22:09:17 -0700 |
---|---|---|
committer | Aaron Rossetto <aaron.rossetto@ni.com> | 2020-05-20 15:19:55 -0500 |
commit | e67871c7c83ad8f03ed1dcbb719fc8211ce759ce (patch) | |
tree | 965e93b5e1815d176bed041845b997527d1a9fa5 /host/include | |
parent | e59067137c1d961577df2e0e1d98b56fb01e2ce6 (diff) | |
download | uhd-e67871c7c83ad8f03ed1dcbb719fc8211ce759ce.tar.gz uhd-e67871c7c83ad8f03ed1dcbb719fc8211ce759ce.tar.bz2 uhd-e67871c7c83ad8f03ed1dcbb719fc8211ce759ce.zip |
rfnoc: radio: Add APIs to query cal keys
This allows asking the radio for the keys it uses to read/write its
calibration data.
By querying radio_control::get_{rx,tx}_power_ref_keys(), the return
values can be used to access uhd::usrp::cal::database::read_cal_data().
Diffstat (limited to 'host/include')
-rw-r--r-- | host/include/uhd/rfnoc/radio_control.hpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/host/include/uhd/rfnoc/radio_control.hpp b/host/include/uhd/rfnoc/radio_control.hpp index 96f082b3e..867b2a919 100644 --- a/host/include/uhd/rfnoc/radio_control.hpp +++ b/host/include/uhd/rfnoc/radio_control.hpp @@ -238,6 +238,26 @@ public: */ virtual double get_tx_power_reference(const size_t chan) = 0; + /*! Return the keys by which the power calibration data is referenced for this + * channel. + * + * The first entry is the key, the second the serial. These are the same + * arguments that can be used for uhd::usrp::cal::database::read_cal_data() + * and friends. See also \ref cal_db_serial. + * + * Note that the key can change at runtime, e.g., when the antenna port is + * switched. + * + * The difference between this and has_tx_power_reference() is that the + * latter requires both device support as well as calibration data, whereas + * this function will never throw, and will always return a non-empty vector + * if device support is there, even if the device does not have calbration + * data loaded. + * + * \returns an empty vector if no power calibration is supported, or a + * vector of length 2 with key and serial if it does. + */ + virtual std::vector<std::string> get_tx_power_ref_keys(const size_t chan = 0) = 0; /*! Return a list of valid RX gain names */ @@ -338,6 +358,27 @@ public: */ virtual double get_rx_power_reference(const size_t chan) = 0; + /*! Return the keys by which the power calibration data is referenced for this + * channel. + * + * The first entry is the key, the second the serial. These are the same + * arguments that can be used for uhd::usrp::cal::database::read_cal_data() + * and friends. See also \ref cal_db_serial. + * + * Note that the key can change at runtime, e.g., when the antenna port is + * switched. + * + * The difference between this and has_rx_power_reference() is that the + * latter requires both device support as well as calibration data, whereas + * this function will never throw, and will always return a non-empty vector + * if device support is there, even if the device does not have calbration + * data loaded. + * + * \returns an empty vector if no power calibration is supported, or a + * vector of length 2 with key and serial if it does. + */ + virtual std::vector<std::string> get_rx_power_ref_keys(const size_t chan = 0) = 0; + /*! Return a list of TX gain profiles for this radio */ virtual std::vector<std::string> get_tx_gain_profile_names( |