USRP Hardware Driver and USRP Manual  Version: 4.4.0.HEAD-0-g5fac246b
UHD and USRP Manual
power_reference_iface.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2020 Ettus Research, a National Instruments Brand
3 //
4 // SPDX-License-Identifier: GPL-3.0-or-later
5 //
6 
7 #pragma once
8 
10 #include <uhd/types/ranges.hpp>
11 #include <uhd/utils/assert_has.hpp>
12 #include <string>
13 #include <vector>
14 
15 namespace uhd { namespace rfnoc { namespace rf_control {
16 
23 {
24 public:
25  using sptr = std::shared_ptr<power_reference_iface>;
26 
27  virtual ~power_reference_iface() = default;
28 
45  virtual bool has_rx_power_reference(const size_t chan = 0) = 0;
46 
61  virtual void set_rx_power_reference(
62  const double power_dbm, const size_t chan = 0) = 0;
63 
76  virtual double get_rx_power_reference(const size_t chan = 0) = 0;
77 
97  virtual std::vector<std::string> get_rx_power_ref_keys(const size_t chan = 0) = 0;
98 
108  virtual meta_range_t get_rx_power_range(const size_t chan) = 0;
109 
126  virtual bool has_tx_power_reference(const size_t chan = 0) = 0;
127 
142  virtual void set_tx_power_reference(
143  const double power_dbm, const size_t chan = 0) = 0;
144 
157  virtual double get_tx_power_reference(const size_t chan = 0) = 0;
158 
178  virtual std::vector<std::string> get_tx_power_ref_keys(const size_t chan = 0) = 0;
179 
189  virtual meta_range_t get_tx_power_range(const size_t chan) = 0;
190 
191 };
192 
193 }}} // namespace uhd::rfnoc::rf_control
uhd::rfnoc::rf_control::power_reference_iface::has_tx_power_reference
virtual bool has_tx_power_reference(const size_t chan=0)=0
uhd::rfnoc::rf_control::power_reference_iface::get_rx_power_reference
virtual double get_rx_power_reference(const size_t chan=0)=0
uhd::rfnoc::rf_control::power_reference_iface::get_rx_power_range
virtual meta_range_t get_rx_power_range(const size_t chan)=0
uhd
Definition: build_info.hpp:12
uhd::rfnoc::rf_control::power_reference_iface
Definition: power_reference_iface.hpp:22
ranges.hpp
uhd::rfnoc::rf_control::power_reference_iface::set_tx_power_reference
virtual void set_tx_power_reference(const double power_dbm, const size_t chan=0)=0
uhd::rfnoc::rf_control::power_reference_iface::get_tx_power_reference
virtual double get_tx_power_reference(const size_t chan=0)=0
uhd::rfnoc::rf_control::power_reference_iface::get_tx_power_range
virtual meta_range_t get_tx_power_range(const size_t chan)=0
uhd::rfnoc::rf_control::power_reference_iface::~power_reference_iface
virtual ~power_reference_iface()=default
assert_has.hpp
uhd::rfnoc::rf_control::power_reference_iface::set_rx_power_reference
virtual void set_rx_power_reference(const double power_dbm, const size_t chan=0)=0
direction.hpp
uhd::rfnoc::rf_control::power_reference_iface::get_tx_power_ref_keys
virtual std::vector< std::string > get_tx_power_ref_keys(const size_t chan=0)=0
uhd::rfnoc::rf_control::power_reference_iface::has_rx_power_reference
virtual bool has_rx_power_reference(const size_t chan=0)=0
uhd::meta_range_t
Definition: ranges.hpp:65
uhd::rfnoc::rf_control::power_reference_iface::sptr
std::shared_ptr< power_reference_iface > sptr
Definition: power_reference_iface.hpp:25
uhd::rfnoc::rf_control::power_reference_iface::get_rx_power_ref_keys
virtual std::vector< std::string > get_rx_power_ref_keys(const size_t chan=0)=0