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);
    52     virtual double get_rate() 
const = 0;
    58     virtual double set_rate(
double rate) = 0;
    64     virtual std::string get_tx_antenna(
const size_t chan)  = 0;
    70     virtual void set_tx_antenna(
const std::string& ant, 
const size_t chan) = 0;
    76     virtual std::string get_rx_antenna(
const size_t chan)  = 0;
    82     virtual void set_rx_antenna(
const std::string& ant, 
const size_t chan) = 0;
    91     virtual double get_tx_frequency(
const size_t chan)  = 0;
   103     virtual double set_tx_frequency(
const double freq, 
size_t chan) = 0;
   109     virtual double get_rx_frequency(
const size_t chan)  = 0;
   120     virtual double set_rx_frequency(
const double freq, 
const size_t chan) = 0;
   126     virtual double get_tx_gain(
const size_t chan) = 0;
   135     virtual double set_tx_gain(
const double gain, 
const size_t chan) = 0;
   141     virtual double get_rx_gain(
const size_t chan) = 0;
   150     virtual double set_rx_gain(
const double gain, 
const size_t chan) = 0;
   156     virtual double get_tx_bandwidth(
const size_t chan) = 0;
   164     virtual double set_tx_bandwidth(
const double bandwidth, 
const size_t chan) = 0;
   170     virtual double get_rx_bandwidth(
const size_t chan) = 0;
   178     virtual double set_rx_bandwidth(
const double bandwidth, 
const size_t chan) = 0;
   187     virtual void set_time_now(
const time_spec_t& time_spec) = 0;
   200     virtual void set_time_next_pps(
const time_spec_t& time_spec) = 0;
   222     virtual std::vector<std::string> get_gpio_banks() 
const = 0;
   239     virtual void set_gpio_attr(
const std::string& bank,
   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;
   269     virtual std::vector<std::string> get_rx_lo_names(
const size_t chan) = 0;
   279     virtual std::vector<std::string> get_rx_lo_sources(
   280         const std::string& name, 
const size_t chan) = 0;
   291         const std::string& name, 
const size_t chan) = 0;
   302     virtual void set_rx_lo_source(
   303         const std::string& src, 
const std::string& name, 
const size_t chan) = 0;
   313     virtual const std::string get_rx_lo_source(
   314         const std::string& name, 
const size_t chan) = 0;
   324     virtual void set_rx_lo_export_enabled(
   325         bool enabled, 
const std::string& name, 
const size_t chan) = 0;
   332     virtual bool get_rx_lo_export_enabled(
const std::string& name, 
const size_t chan) = 0;
   341     virtual double set_rx_lo_freq(
   342         double freq, 
const std::string& name, 
const size_t chan) = 0;
   352     virtual double get_rx_lo_freq(
const std::string& name, 
const size_t chan) = 0;
   359     virtual std::vector<std::string> get_tx_lo_names(
const size_t chan) = 0;
   369     virtual std::vector<std::string> get_tx_lo_sources(
   370         const std::string& name, 
const size_t chan) = 0;
   381         const std::string& name, 
const size_t chan) = 0;
   392     virtual void set_tx_lo_source(
   393         const std::string& src, 
const std::string& name, 
const size_t chan) = 0;
   403     virtual const std::string get_tx_lo_source(
   404         const std::string& name, 
const size_t chan) = 0;
   414     virtual void set_tx_lo_export_enabled(
   415         const bool enabled, 
const std::string& name, 
const size_t chan) = 0;
   422     virtual bool get_tx_lo_export_enabled(
const std::string& name, 
const size_t chan) = 0;
   433     virtual double set_tx_lo_freq(
   434         const double freq, 
const std::string& name, 
const size_t chan) = 0;
   447     virtual double get_tx_lo_freq(
const std::string& name, 
const size_t chan) = 0;
   461     virtual void set_time_source(
const std::string& source) = 0;
   468     virtual std::string get_time_source() = 0;
   475     virtual std::vector<std::string> get_time_sources() = 0;
   484     virtual void set_clock_source(
const std::string& source) = 0;
   491     virtual std::string get_clock_source() = 0;
   498     virtual std::vector<std::string> get_clock_sources() = 0;
   506     virtual size_t get_chan_from_dboard_fe(
   511     virtual std::string get_dboard_fe_from_chan(
   516     virtual void enable_rx_timestamps(
const bool enable, 
const size_t chan) = 0;
 
Definition: terminator_node_ctrl.hpp:29
 
#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
 
Definition: sink_block_ctrl_base.hpp:25
 
Definition: time_spec.hpp:29
 
Definition: rate_node_ctrl.hpp:27
 
Block controller for all RFNoC-based radio blocks. 
Definition: radio_ctrl.hpp:24
 
static const std::string ALL_GAINS
A wildcard gain element name. 
Definition: radio_ctrl.hpp:40
 
static const std::string ALL_LOS
A wildcard local oscillator element name. 
Definition: radio_ctrl.hpp:43
 
Definition: build_info.hpp:13
 
Definition: tick_node_ctrl.hpp:24
 
#define UHD_RFNOC_API
Definition: config.hpp:117
 
Definition: source_block_ctrl_base.hpp:24
 
direction_t
Definition: direction.hpp:13
 
UHD_INLINE data_t mask(const soft_reg_field_t field)
Definition: soft_register.hpp:88