8 #ifndef INCLUDED_LIBUHD_RFNOC_RADIO_CTRL_HPP
9 #define INCLUDED_LIBUHD_RFNOC_RADIO_CTRL_HPP
20 namespace uhd {
namespace rfnoc {
37 static const size_t ALL_CHANS = size_t(~0);
135 virtual double set_tx_gain(
const double gain,
const size_t chan) = 0;
150 virtual double set_rx_gain(
const double gain,
const size_t chan) = 0;
240 const std::string& attr,
241 const uint32_t value,
242 const uint32_t
mask) = 0;
259 virtual uint32_t
get_gpio_attr(
const std::string& bank,
const std::string& attr) = 0;
280 const std::string& name,
const size_t chan) = 0;
291 const std::string& name,
const size_t chan) = 0;
303 const std::string& src,
const std::string& name,
const size_t chan) = 0;
314 const std::string& name,
const size_t chan) = 0;
325 bool enabled,
const std::string& name,
const size_t chan) = 0;
342 double freq,
const std::string& name,
const size_t chan) = 0;
370 const std::string& name,
const size_t chan) = 0;
381 const std::string& name,
const size_t chan) = 0;
393 const std::string& src,
const std::string& name,
const size_t chan) = 0;
404 const std::string& name,
const size_t chan) = 0;
415 const bool enabled,
const std::string& name,
const size_t chan) = 0;
434 const double freq,
const std::string& name,
const size_t chan) = 0;
#define UHD_RFNOC_BLOCK_OBJECT(class_name)
This macro must be put in the public section of an RFNoC.
Definition: block_ctrl_base.hpp:59
Block controller for all RFNoC-based radio blocks.
Definition: radio_ctrl.hpp:29
virtual const std::string get_tx_lo_source(const std::string &name, const size_t chan)=0
virtual double get_rx_lo_freq(const std::string &name, const size_t chan)=0
virtual double get_tx_frequency(const size_t chan)=0
virtual void set_rx_antenna(const std::string &ant, const size_t chan)=0
virtual double set_rx_frequency(const double freq, const size_t chan)=0
virtual double set_tx_frequency(const double freq, size_t chan)=0
virtual double get_tx_bandwidth(const size_t chan)=0
virtual void set_clock_source(const std::string &source)=0
virtual std::vector< std::string > get_rx_lo_names(const size_t chan)=0
virtual void set_rx_lo_export_enabled(bool enabled, const std::string &name, const size_t chan)=0
virtual void set_time_source(const std::string &source)=0
virtual time_spec_t get_time_last_pps()=0
virtual double set_rx_bandwidth(const double bandwidth, const size_t chan)=0
virtual double get_rate() const =0
virtual void set_tx_lo_source(const std::string &src, const std::string &name, const size_t chan)=0
virtual uint32_t get_gpio_attr(const std::string &bank, const std::string &attr)=0
virtual double get_rx_frequency(const size_t chan)=0
virtual time_spec_t get_time_now()=0
virtual double set_tx_gain(const double gain, const size_t chan)=0
virtual double get_tx_gain(const size_t chan)=0
virtual std::string get_tx_antenna(const size_t chan)=0
virtual const std::string get_rx_lo_source(const std::string &name, const size_t chan)=0
virtual void set_time_now(const time_spec_t &time_spec)=0
virtual std::vector< std::string > get_tx_lo_names(const size_t chan)=0
virtual void set_rx_lo_source(const std::string &src, const std::string &name, const size_t chan)=0
static const std::string ALL_LOS
A wildcard local oscillator element name.
Definition: radio_ctrl.hpp:43
virtual double set_rx_gain(const double gain, const size_t chan)=0
virtual bool get_tx_lo_export_enabled(const std::string &name, const size_t chan)=0
virtual std::vector< std::string > get_tx_lo_sources(const std::string &name, const size_t chan)=0
virtual bool get_rx_lo_export_enabled(const std::string &name, const size_t chan)=0
virtual void set_time_next_pps(const time_spec_t &time_spec)=0
virtual void enable_rx_timestamps(const bool enable, const size_t chan)=0
virtual void set_tx_lo_export_enabled(const bool enabled, const std::string &name, const size_t chan)=0
static const std::string ALL_GAINS
A wildcard gain element name.
Definition: radio_ctrl.hpp:40
virtual std::string get_dboard_fe_from_chan(const size_t chan, const uhd::direction_t dir)=0
virtual std::vector< std::string > get_rx_lo_sources(const std::string &name, const size_t chan)=0
virtual std::string get_clock_source()=0
virtual double set_rate(double rate)=0
virtual std::string get_rx_antenna(const size_t chan)=0
virtual double set_tx_bandwidth(const double bandwidth, const size_t chan)=0
virtual double get_tx_lo_freq(const std::string &name, const size_t chan)=0
virtual freq_range_t get_rx_lo_freq_range(const std::string &name, const size_t chan)=0
virtual std::vector< std::string > get_clock_sources()=0
virtual size_t get_chan_from_dboard_fe(const std::string &fe, const uhd::direction_t dir)=0
virtual double set_rx_lo_freq(double freq, const std::string &name, const size_t chan)=0
virtual std::vector< std::string > get_gpio_banks() const =0
virtual void set_gpio_attr(const std::string &bank, const std::string &attr, const uint32_t value, const uint32_t mask)=0
virtual double get_rx_bandwidth(const size_t chan)=0
virtual double get_rx_gain(const size_t chan)=0
virtual std::string get_time_source()=0
virtual void set_tx_antenna(const std::string &ant, const size_t chan)=0
virtual freq_range_t get_tx_lo_freq_range(const std::string &name, const size_t chan)=0
virtual double set_tx_lo_freq(const double freq, const std::string &name, const size_t chan)=0
virtual std::vector< std::string > get_time_sources()=0
Definition: rate_node_ctrl.hpp:28
Definition: sink_block_ctrl_base.hpp:26
Definition: source_block_ctrl_base.hpp:26
Definition: terminator_node_ctrl.hpp:30
Definition: tick_node_ctrl.hpp:25
Definition: time_spec.hpp:32
#define UHD_RFNOC_API
Definition: config.hpp:117
UHD_INLINE data_t mask(const soft_reg_field_t field)
Definition: soft_register.hpp:89
Definition: build_info.hpp:13
direction_t
Definition: direction.hpp:13