aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2021-01-08 13:12:34 +0100
committerAaron Rossetto <aaron.rossetto@ni.com>2021-03-17 15:49:26 -0500
commitb36fa03407f43dfc8e93a719186264b8d3e6db52 (patch)
tree9957b776d6e3b199597ab597cde68e5111d37b88 /host/include
parent668a04befdc4ec43b2a6e86992c672ef5f8408e0 (diff)
downloaduhd-b36fa03407f43dfc8e93a719186264b8d3e6db52.tar.gz
uhd-b36fa03407f43dfc8e93a719186264b8d3e6db52.tar.bz2
uhd-b36fa03407f43dfc8e93a719186264b8d3e6db52.zip
uhd: Fix radio_control-related method constness
The const-ness of some radio_control differed between base class and implementation. This fixes the consistency, but also makes sure these methods follow the rules for when to make methods 'const'. The following rules apply: - Methods that query static capabilities are const. Here, we made get_tx_lo_sources() const (the RX version was already const). - Getters that may have to interact with the device (e.g., peek a register) are not const, because the act of peeking is usually also non-const. Here, we changed get_rx_lo_export_enabled() to non-const. - All base classes are fixed such that the derived classes and the base classes have the same const-ness. Clang was warning about differences. This can cause very tricky bugs, where the radio_control_impl version can get called instead of the intended child class.
Diffstat (limited to 'host/include')
-rw-r--r--host/include/uhd/rfnoc/rf_control/core_iface.hpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/host/include/uhd/rfnoc/rf_control/core_iface.hpp b/host/include/uhd/rfnoc/rf_control/core_iface.hpp
index 9b780b3c8..ff7ec3550 100644
--- a/host/include/uhd/rfnoc/rf_control/core_iface.hpp
+++ b/host/include/uhd/rfnoc/rf_control/core_iface.hpp
@@ -326,8 +326,7 @@ public:
* \param name the name of the LO stage to query
* \param chan the channel index 0 to N-1
*/
- virtual bool get_rx_lo_export_enabled(
- const std::string& name, const size_t chan) const = 0;
+ virtual bool get_rx_lo_export_enabled(const std::string& name, const size_t chan) = 0;
/*!
* Set the RX LO frequency (Advanced).
@@ -365,7 +364,7 @@ public:
* \return a vector of strings for possible settings
*/
virtual std::vector<std::string> get_tx_lo_sources(
- const std::string& name, const size_t chan) = 0;
+ const std::string& name, const size_t chan) const = 0;
/*!
* Get the LO frequency range of the tx LO.