USRP Hardware Driver and USRP Manual  Version: 4.0.0.0-170-gd398fe465
UHD and USRP Manual
uhd::rfnoc::radio_control Class Referenceabstract

#include <uhd/rfnoc/radio_control.hpp>

Inheritance diagram for uhd::rfnoc::radio_control:
uhd::rfnoc::noc_block_base uhd::rfnoc::node_t uhd::rfnoc::register_iface_holder

Public Member Functions

virtual double set_rate (const double rate)=0
 Set the sample rate. More...
 
virtual double get_rate () const =0
 Get the sample rate. More...
 
virtual uhd::meta_range_t get_rate_range () const =0
 Return a list of valid rates. More...
 
virtual std::string get_tx_antenna (const size_t chan) const =0
 
virtual std::vector< std::string > get_tx_antennas (const size_t chan) const =0
 
virtual void set_tx_antenna (const std::string &ant, const size_t chan)=0
 
virtual std::string get_rx_antenna (const size_t chan) const =0
 
virtual std::vector< std::string > get_rx_antennas (const size_t chan) const =0
 
virtual void set_rx_antenna (const std::string &ant, const size_t chan)=0
 
virtual double get_tx_frequency (const size_t chan)=0
 
virtual double set_tx_frequency (const double freq, size_t chan)=0
 
virtual void set_tx_tune_args (const uhd::device_addr_t &args, const size_t chan)=0
 
virtual uhd::freq_range_t get_tx_frequency_range (const size_t chan) const =0
 
virtual double get_rx_frequency (const size_t chan)=0
 
virtual double set_rx_frequency (const double freq, const size_t chan)=0
 
virtual void set_rx_tune_args (const uhd::device_addr_t &args, const size_t chan)=0
 
virtual uhd::freq_range_t get_rx_frequency_range (const size_t chan) const =0
 
virtual std::vector< std::string > get_tx_gain_names (const size_t chan) const =0
 
virtual uhd::gain_range_t get_tx_gain_range (const size_t chan) const =0
 
virtual uhd::gain_range_t get_tx_gain_range (const std::string &name, const size_t chan) const =0
 
virtual double get_tx_gain (const size_t chan)=0
 
virtual double get_tx_gain (const std::string &name, const size_t chan)=0
 
virtual double set_tx_gain (const double gain, const size_t chan)=0
 
virtual double set_tx_gain (const double gain, const std::string &name, const size_t chan)=0
 
virtual std::vector< std::string > get_rx_gain_names (const size_t chan) const =0
 
virtual uhd::gain_range_t get_rx_gain_range (const size_t chan) const =0
 
virtual uhd::gain_range_t get_rx_gain_range (const std::string &name, const size_t chan) const =0
 
virtual double get_rx_gain (const size_t chan)=0
 
virtual double get_rx_gain (const std::string &name, const size_t chan)=0
 
virtual double set_rx_gain (const double gain, const size_t chan)=0
 
virtual double set_rx_gain (const double gain, const std::string &name, const size_t chan)=0
 
virtual void set_rx_agc (const bool enable, const size_t chan)=0
 
virtual std::vector< std::string > get_tx_gain_profile_names (const size_t chan) const =0
 
virtual std::vector< std::string > get_rx_gain_profile_names (const size_t chan) const =0
 
virtual void set_tx_gain_profile (const std::string &profile, const size_t chan)=0
 
virtual void set_rx_gain_profile (const std::string &profile, const size_t chan)=0
 
virtual std::string get_tx_gain_profile (const size_t chan) const =0
 
virtual std::string get_rx_gain_profile (const size_t chan) const =0
 
virtual meta_range_t get_tx_bandwidth_range (size_t chan) const =0
 
virtual double get_tx_bandwidth (const size_t chan)=0
 
virtual double set_tx_bandwidth (const double bandwidth, const size_t chan)=0
 
virtual meta_range_t get_rx_bandwidth_range (size_t chan) const =0
 
virtual double get_rx_bandwidth (const size_t chan)=0
 
virtual double set_rx_bandwidth (const double bandwidth, const size_t chan)=0
 
virtual std::vector< std::string > get_rx_lo_names (const size_t chan) const =0
 
virtual std::vector< std::string > get_rx_lo_sources (const std::string &name, const size_t chan) const =0
 
virtual freq_range_t get_rx_lo_freq_range (const std::string &name, const size_t chan) const =0
 
virtual void set_rx_lo_source (const std::string &src, const std::string &name, 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_rx_lo_export_enabled (bool enabled, const std::string &name, const size_t chan)=0
 
virtual bool get_rx_lo_export_enabled (const std::string &name, const size_t chan) const =0
 
virtual double set_rx_lo_freq (double freq, 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 std::vector< std::string > get_tx_lo_names (const size_t chan) const =0
 
virtual std::vector< std::string > get_tx_lo_sources (const std::string &name, const size_t chan)=0
 
virtual freq_range_t get_tx_lo_freq_range (const std::string &name, const size_t chan)=0
 
virtual void set_tx_lo_source (const std::string &src, const std::string &name, const size_t chan)=0
 
virtual const std::string get_tx_lo_source (const std::string &name, const size_t chan)=0
 
virtual void set_tx_lo_export_enabled (const bool enabled, const std::string &name, const size_t chan)=0
 
virtual bool get_tx_lo_export_enabled (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 double get_tx_lo_freq (const std::string &name, const size_t chan)=0
 
virtual void set_tx_dc_offset (const std::complex< double > &offset, size_t chan)=0
 
virtual meta_range_t get_tx_dc_offset_range (size_t chan) const =0
 
virtual void set_tx_iq_balance (const std::complex< double > &correction, size_t chan)=0
 
virtual void set_rx_dc_offset (const bool enb, size_t chan=ALL_CHANS)=0
 
virtual void set_rx_dc_offset (const std::complex< double > &offset, size_t chan)=0
 
virtual meta_range_t get_rx_dc_offset_range (size_t chan) const =0
 
virtual void set_rx_iq_balance (const bool enb, size_t chan)=0
 
virtual void set_rx_iq_balance (const std::complex< double > &correction, 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)=0
 
virtual uint32_t get_gpio_attr (const std::string &bank, const std::string &attr)=0
 
virtual std::vector< std::string > get_rx_sensor_names (size_t chan) const =0
 
virtual uhd::sensor_value_t get_rx_sensor (const std::string &name, size_t chan)=0
 
virtual std::vector< std::string > get_tx_sensor_names (size_t chan) const =0
 
virtual uhd::sensor_value_t get_tx_sensor (const std::string &name, size_t chan)=0
 
virtual void issue_stream_cmd (const uhd::stream_cmd_t &stream_cmd, const size_t port)=0
 
virtual void enable_rx_timestamps (const bool enable, const size_t chan)=0
 
virtual std::string get_slot_name () const =0
 Returns this radio's slot name (typically "A" or "B") More...
 
virtual size_t get_chan_from_dboard_fe (const std::string &fe, const uhd::direction_t direction) const =0
 Return the channel that corresponds to a frontend's name. More...
 
virtual std::string get_dboard_fe_from_chan (const size_t chan, const uhd::direction_t direction) const =0
 Return the frontend name for a channel index. More...
 
virtual std::string get_fe_name (const size_t chan, const uhd::direction_t direction) const =0
 Return the name of the frontend, as given by the dboard driver. More...
 
virtual void set_db_eeprom (const uhd::eeprom_map_t &db_eeprom)=0
 Update the daughterboard EEPROM. More...
 
virtual uhd::eeprom_map_t get_db_eeprom ()=0
 Return the content of the daughterboard EEPROM. More...
 
- Public Member Functions inherited from uhd::rfnoc::noc_block_base
virtual ~noc_block_base ()
 
std::string get_unique_id () const
 Unique ID for an RFNoC block is its block ID. More...
 
size_t get_num_input_ports () const
 Number of input ports. Note: This gets passed into this block from the. More...
 
size_t get_num_output_ports () const
 Number of output ports. Note: This gets passed outto this block from the. More...
 
noc_id_t get_noc_id () const
 
const block_id_tget_block_id () const
 
double get_tick_rate () const
 
size_t get_mtu (const res_source_info &edge)
 
uhd::device_addr_t get_block_args () const
 
uhd::property_tree::sptrget_tree () const
 Return a reference to this block's subtree. More...
 
uhd::property_tree::sptrget_tree ()
 Return a reference to this block's subtree (non-const version) More...
 
- Public Member Functions inherited from uhd::rfnoc::node_t
 node_t ()
 
virtual ~node_t ()
 
std::vector< std::string > get_property_ids () const
 
template<typename prop_data_t >
void set_property (const std::string &id, const prop_data_t &val, const size_t instance=0)
 
void set_properties (const uhd::device_addr_t &props, const size_t instance=0)
 
template<typename prop_data_t >
const prop_data_t & get_property (const std::string &id, const size_t instance=0)
 
virtual void set_command_time (uhd::time_spec_t time, const size_t instance)
 
virtual uhd::time_spec_t get_command_time (const size_t instance) const
 
virtual void clear_command_time (const size_t instance)
 
- Public Member Functions inherited from uhd::rfnoc::register_iface_holder
 register_iface_holder (register_iface::sptr reg)
 
virtual ~register_iface_holder ()=default
 
register_ifaceregs ()
 

Static Public Attributes

static const std::string ALL_LOS
 
static const std::string ALL_GAINS
 
static const size_t ALL_CHANS
 
- Static Public Attributes inherited from uhd::rfnoc::node_t
static const size_t ANY_PORT = size_t(~0)
 

Additional Inherited Members

- Public Types inherited from uhd::rfnoc::noc_block_base
using sptr = std::shared_ptr< noc_block_base >
 
using make_args_ptr = std::unique_ptr< make_args_t >
 Opaque pointer to the constructor arguments. More...
 
- Public Types inherited from uhd::rfnoc::node_t
enum  forwarding_policy_t {
  forwarding_policy_t::ONE_TO_ONE, forwarding_policy_t::ONE_TO_FAN, forwarding_policy_t::ONE_TO_ALL_IN, forwarding_policy_t::ONE_TO_ALL_OUT,
  forwarding_policy_t::ONE_TO_ALL, forwarding_policy_t::DROP
}
 Types of property/action forwarding for those not defined by the block itself. More...
 
using resolver_fn_t = std::function< void(void)>
 
using resolve_callback_t = std::function< void(void)>
 
using action_handler_t = std::function< void(const res_source_info &, action_info::sptr)>
 
- Protected Types inherited from uhd::rfnoc::node_t
using prop_ptrs_t = std::unordered_set< property_base_t * >
 
- Protected Member Functions inherited from uhd::rfnoc::noc_block_base
 noc_block_base (make_args_ptr make_args)
 
void set_num_input_ports (const size_t num_ports)
 Update number of input ports. More...
 
void set_num_output_ports (const size_t num_ports)
 Update number of output ports. More...
 
void set_tick_rate (const double tick_rate)
 
void set_mtu_forwarding_policy (const forwarding_policy_t policy)
 
void set_mtu (const res_source_info &edge, const size_t new_mtu)
 
property_base_tget_mtu_prop_ref (const res_source_info &edge)
 
std::shared_ptr< mb_controllerget_mb_controller ()
 
virtual void deinit ()
 
- Protected Member Functions inherited from uhd::rfnoc::node_t
void register_property (property_base_t *prop, resolve_callback_t &&clean_callback=nullptr)
 
void add_property_resolver (prop_ptrs_t &&inputs, prop_ptrs_t &&outputs, resolver_fn_t &&resolver_fn)
 
void set_prop_forwarding_policy (forwarding_policy_t policy, const std::string &prop_id="")
 
template<typename prop_data_t >
void set_property (const std::string &id, const prop_data_t &val, const res_source_info &src_info)
 
template<typename prop_data_t >
const prop_data_t & get_property (const std::string &id, const res_source_info &src_info)
 
void register_action_handler (const std::string &id, action_handler_t &&handler)
 
void set_action_forwarding_policy (forwarding_policy_t policy, const std::string &action_key="")
 
void post_action (const res_source_info &edge_info, action_info::sptr action)
 
virtual bool check_topology (const std::vector< size_t > &connected_inputs, const std::vector< size_t > &connected_outputs)
 
- Protected Member Functions inherited from uhd::rfnoc::register_iface_holder
void update_reg_iface (register_iface::sptr new_iface=nullptr)
 
- Static Protected Attributes inherited from uhd::rfnoc::node_t
static dirtifier_t ALWAYS_DIRTY
 A dirtifyer object, useful for properties that always need updating. More...
 

Detailed Description

Parent class for radio block controllers

Member Function Documentation

◆ enable_rx_timestamps()

virtual void uhd::rfnoc::radio_control::enable_rx_timestamps ( const bool  enable,
const size_t  chan 
)
pure virtual

Enable or disable the setting of timestamps on Rx.

◆ get_chan_from_dboard_fe()

virtual size_t uhd::rfnoc::radio_control::get_chan_from_dboard_fe ( const std::string &  fe,
const uhd::direction_t  direction 
) const
pure virtual

Return the channel that corresponds to a frontend's name.

◆ get_db_eeprom()

virtual uhd::eeprom_map_t uhd::rfnoc::radio_control::get_db_eeprom ( )
pure virtual

Return the content of the daughterboard EEPROM.

◆ get_dboard_fe_from_chan()

virtual std::string uhd::rfnoc::radio_control::get_dboard_fe_from_chan ( const size_t  chan,
const uhd::direction_t  direction 
) const
pure virtual

Return the frontend name for a channel index.

◆ get_fe_name()

virtual std::string uhd::rfnoc::radio_control::get_fe_name ( const size_t  chan,
const uhd::direction_t  direction 
) const
pure virtual

Return the name of the frontend, as given by the dboard driver.

◆ get_gpio_attr()

virtual uint32_t uhd::rfnoc::radio_control::get_gpio_attr ( const std::string &  bank,
const std::string &  attr 
)
pure virtual

Get a GPIO attribute on a particular GPIO bank. Possible attribute names:

  • CTRL - 1 for ATR mode 0 for GPIO mode
  • DDR - 1 for output 0 for input
  • OUT - GPIO output level (not ATR mode)
  • ATR_0X - ATR idle state
  • ATR_RX - ATR receive only state
  • ATR_TX - ATR transmit only state
  • ATR_XX - ATR full duplex state
  • READBACK - readback input GPIOs
    Parameters
    bankthe name of a GPIO bank
    attrthe name of a GPIO attribute
    Returns
    the value set for this attribute

◆ get_gpio_banks()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_gpio_banks ( ) const
pure virtual

Returns the list of GPIO banks that are associated with this radio.

Returns
list of GPIO bank names

◆ get_rate()

virtual double uhd::rfnoc::radio_control::get_rate ( ) const
pure virtual

Get the sample rate.

◆ get_rate_range()

virtual uhd::meta_range_t uhd::rfnoc::radio_control::get_rate_range ( ) const
pure virtual

Return a list of valid rates.

◆ get_rx_antenna()

virtual std::string uhd::rfnoc::radio_control::get_rx_antenna ( const size_t  chan) const
pure virtual

Return the selected RX antenna for channel chan.

Returns
The selected antenna.

◆ get_rx_antennas()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_rx_antennas ( const size_t  chan) const
pure virtual

Return a list of valid RX antenna for channel chan.

Returns
The selected antenna.

◆ get_rx_bandwidth()

virtual double uhd::rfnoc::radio_control::get_rx_bandwidth ( const size_t  chan)
pure virtual

Return the analog filter bandwidth channel chan

Returns
The actual bandwidth value

◆ get_rx_bandwidth_range()

virtual meta_range_t uhd::rfnoc::radio_control::get_rx_bandwidth_range ( size_t  chan) const
pure virtual

Return a range of valid RX bandwidths

◆ get_rx_dc_offset_range()

virtual meta_range_t uhd::rfnoc::radio_control::get_rx_dc_offset_range ( size_t  chan) const
pure virtual

Get the valid range for RX DC offset values.

Parameters
chanthe channel index

◆ get_rx_frequency()

virtual double uhd::rfnoc::radio_control::get_rx_frequency ( const size_t  chan)
pure virtual

Return the current receive LO frequency on channel chan.

Returns
The current LO frequency.

◆ get_rx_frequency_range()

virtual uhd::freq_range_t uhd::rfnoc::radio_control::get_rx_frequency_range ( const size_t  chan) const
pure virtual

Return the range of frequencies that chan can be tuned to.

Returns
The range of frequencies that we can tune the RX chan to

◆ get_rx_gain() [1/2]

virtual double uhd::rfnoc::radio_control::get_rx_gain ( const size_t  chan)
pure virtual

Return the overall receive gain on channel chan

Returns
The actual gain value

◆ get_rx_gain() [2/2]

virtual double uhd::rfnoc::radio_control::get_rx_gain ( const std::string &  name,
const size_t  chan 
)
pure virtual

Return the receive gain name on channel chan

Returns
The actual gain value

◆ get_rx_gain_names()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_rx_gain_names ( const size_t  chan) const
pure virtual

Return a list of valid RX gain names

◆ get_rx_gain_profile()

virtual std::string uhd::rfnoc::radio_control::get_rx_gain_profile ( const size_t  chan) const
pure virtual

Set the RX gain profile

◆ get_rx_gain_profile_names()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_rx_gain_profile_names ( const size_t  chan) const
pure virtual

Return a list of TX gain profiles for this radio

◆ get_rx_gain_range() [1/2]

virtual uhd::gain_range_t uhd::rfnoc::radio_control::get_rx_gain_range ( const size_t  chan) const
pure virtual

Return a range of valid RX gains

◆ get_rx_gain_range() [2/2]

virtual uhd::gain_range_t uhd::rfnoc::radio_control::get_rx_gain_range ( const std::string &  name,
const size_t  chan 
) const
pure virtual

Return a range of valid RX gains

◆ get_rx_lo_export_enabled()

virtual bool uhd::rfnoc::radio_control::get_rx_lo_export_enabled ( const std::string &  name,
const size_t  chan 
) const
pure virtual

Returns true if the currently selected LO is being exported.

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1

◆ get_rx_lo_freq()

virtual double uhd::rfnoc::radio_control::get_rx_lo_freq ( const std::string &  name,
const size_t  chan 
)
pure virtual

Get the current RX LO frequency (Advanced). If the channel does not have independently configurable LOs the current rf frequency will be returned.

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1
Returns
the configured LO frequency

◆ get_rx_lo_freq_range()

virtual freq_range_t uhd::rfnoc::radio_control::get_rx_lo_freq_range ( const std::string &  name,
const size_t  chan 
) const
pure virtual

Get the LO frequency range of the RX LO. If the channel does not have independently configurable LOs the rf frequency range will be returned.

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1
Returns
a frequency range object

◆ get_rx_lo_names()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_rx_lo_names ( const size_t  chan) const
pure virtual

Get a list of possible LO stage names

Parameters
chanthe channel index 0 to N-1
Returns
a vector of strings for possible LO names

◆ get_rx_lo_source()

virtual const std::string uhd::rfnoc::radio_control::get_rx_lo_source ( const std::string &  name,
const size_t  chan 
)
pure virtual

Get the currently set LO source. Channels without controllable LO sources will return "internal"

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1
Returns
the configured LO source

◆ get_rx_lo_sources()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_rx_lo_sources ( const std::string &  name,
const size_t  chan 
) const
pure virtual

Get a list of possible LO sources.

Channels which do not have controllable LO sources will return "internal".

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1
Returns
a vector of strings for possible settings

◆ get_rx_sensor()

virtual uhd::sensor_value_t uhd::rfnoc::radio_control::get_rx_sensor ( const std::string &  name,
size_t  chan 
)
pure virtual

Return the sensor value for sensor name

Parameters
nameSensor name (e.g. "lo_locked")
chanChannel index
Exceptions
uhd::key_errorif the sensor does not exist

◆ get_rx_sensor_names()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_rx_sensor_names ( size_t  chan) const
pure virtual

Return a list of RX sensors

The names returned in this list can be used as an input to get_rx_sensor()

◆ get_slot_name()

virtual std::string uhd::rfnoc::radio_control::get_slot_name ( ) const
pure virtual

Returns this radio's slot name (typically "A" or "B")

◆ get_tx_antenna()

virtual std::string uhd::rfnoc::radio_control::get_tx_antenna ( const size_t  chan) const
pure virtual

Return the selected TX antenna for channel chan.

Returns
The selected antenna.

◆ get_tx_antennas()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_tx_antennas ( const size_t  chan) const
pure virtual

Return a list of valid TX antenna for channel chan.

Returns
The selected antenna.

◆ get_tx_bandwidth()

virtual double uhd::rfnoc::radio_control::get_tx_bandwidth ( const size_t  chan)
pure virtual

Return the analog filter bandwidth channel chan

Returns
The actual bandwidth value

◆ get_tx_bandwidth_range()

virtual meta_range_t uhd::rfnoc::radio_control::get_tx_bandwidth_range ( size_t  chan) const
pure virtual

Return a range of valid TX bandwidths

◆ get_tx_dc_offset_range()

virtual meta_range_t uhd::rfnoc::radio_control::get_tx_dc_offset_range ( size_t  chan) const
pure virtual

Get the valid range for TX DC offset values.

Parameters
chanthe channel index

◆ get_tx_frequency()

virtual double uhd::rfnoc::radio_control::get_tx_frequency ( const size_t  chan)
pure virtual

Return the current transmit LO frequency on channel chan.

Returns
The current LO frequency.

◆ get_tx_frequency_range()

virtual uhd::freq_range_t uhd::rfnoc::radio_control::get_tx_frequency_range ( const size_t  chan) const
pure virtual

Return the range of frequencies that chan can be tuned to.

Returns
The range of frequencies that we can tune the TX chan to

◆ get_tx_gain() [1/2]

virtual double uhd::rfnoc::radio_control::get_tx_gain ( const size_t  chan)
pure virtual

Return the overall transmit gain on channel chan

Returns
The actual gain value

◆ get_tx_gain() [2/2]

virtual double uhd::rfnoc::radio_control::get_tx_gain ( const std::string &  name,
const size_t  chan 
)
pure virtual

Return the transmit gain name on channel chan

Returns
The actual gain value

◆ get_tx_gain_names()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_tx_gain_names ( const size_t  chan) const
pure virtual

Return a list of valid TX gain names

◆ get_tx_gain_profile()

virtual std::string uhd::rfnoc::radio_control::get_tx_gain_profile ( const size_t  chan) const
pure virtual

Return the TX gain profile

◆ get_tx_gain_profile_names()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_tx_gain_profile_names ( const size_t  chan) const
pure virtual

Return a list of TX gain profiles for this radio

◆ get_tx_gain_range() [1/2]

virtual uhd::gain_range_t uhd::rfnoc::radio_control::get_tx_gain_range ( const size_t  chan) const
pure virtual

Return a range of valid TX gains

◆ get_tx_gain_range() [2/2]

virtual uhd::gain_range_t uhd::rfnoc::radio_control::get_tx_gain_range ( const std::string &  name,
const size_t  chan 
) const
pure virtual

Return a range of valid TX gains

◆ get_tx_lo_export_enabled()

virtual bool uhd::rfnoc::radio_control::get_tx_lo_export_enabled ( const std::string &  name,
const size_t  chan 
)
pure virtual

Returns true if the currently selected LO is being exported.

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1

◆ get_tx_lo_freq()

virtual double uhd::rfnoc::radio_control::get_tx_lo_freq ( const std::string &  name,
const size_t  chan 
)
pure virtual

Get the current TX LO frequency (Advanced).

See also multi_usrp::get_tx_lo_freq()

If the channel does not have independently configurable LOs the current RF frequency will be returned.

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1
Returns
the configured LO frequency

◆ get_tx_lo_freq_range()

virtual freq_range_t uhd::rfnoc::radio_control::get_tx_lo_freq_range ( const std::string &  name,
const size_t  chan 
)
pure virtual

Get the LO frequency range of the tx LO. If the channel does not have independently configurable LOs the rf frequency range will be returned.

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1
Returns
a frequency range object

◆ get_tx_lo_names()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_tx_lo_names ( const size_t  chan) const
pure virtual

Get a list of possible LO stage names

Parameters
chanthe channel index 0 to N-1
Returns
a vector of strings for possible LO names

◆ get_tx_lo_source()

virtual const std::string uhd::rfnoc::radio_control::get_tx_lo_source ( const std::string &  name,
const size_t  chan 
)
pure virtual

Get the currently set LO source. Channels without controllable LO sources will return "internal"

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1
Returns
the configured LO source

◆ get_tx_lo_sources()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_tx_lo_sources ( const std::string &  name,
const size_t  chan 
)
pure virtual

Get a list of possible LO sources.

Channels which do not have controllable LO sources will return "internal".

Parameters
namethe name of the LO stage to query
chanthe channel index 0 to N-1
Returns
a vector of strings for possible settings

◆ get_tx_sensor()

virtual uhd::sensor_value_t uhd::rfnoc::radio_control::get_tx_sensor ( const std::string &  name,
size_t  chan 
)
pure virtual

Return the sensor value for sensor name

Parameters
nameSensor name (e.g. "lo_locked")
chanChannel index
Exceptions
uhd::key_errorif the sensor does not exist

◆ get_tx_sensor_names()

virtual std::vector<std::string> uhd::rfnoc::radio_control::get_tx_sensor_names ( size_t  chan) const
pure virtual

Return a list of TX sensors

The names returned in this list can be used as an input to get_tx_sensor()

◆ issue_stream_cmd()

virtual void uhd::rfnoc::radio_control::issue_stream_cmd ( const uhd::stream_cmd_t stream_cmd,
const size_t  port 
)
pure virtual

Issue stream command: Instruct the RX part of the radio to send samples

Parameters
stream_cmdThe actual stream command to execute
portThe port for which the stream command is meant

◆ set_db_eeprom()

virtual void uhd::rfnoc::radio_control::set_db_eeprom ( const uhd::eeprom_map_t db_eeprom)
pure virtual

Update the daughterboard EEPROM.

◆ set_gpio_attr()

virtual void uhd::rfnoc::radio_control::set_gpio_attr ( const std::string &  bank,
const std::string &  attr,
const uint32_t  value 
)
pure virtual

Set a GPIO attribute on a particular GPIO bank. Possible attribute names:

  • CTRL - 1 for ATR mode 0 for GPIO mode
  • DDR - 1 for output 0 for input
  • OUT - GPIO output level (not ATR mode)
  • ATR_0X - ATR idle state
  • ATR_RX - ATR receive only state
  • ATR_TX - ATR transmit only state
  • ATR_XX - ATR full duplex state
    Parameters
    bankthe name of a GPIO bank (e.g., FP0)
    attrthe name of a GPIO attribute (e.g., CTRL)
    valuethe new value for this GPIO bank

◆ set_rate()

virtual double uhd::rfnoc::radio_control::set_rate ( const double  rate)
pure virtual

Set the sample rate.

◆ set_rx_agc()

virtual void uhd::rfnoc::radio_control::set_rx_agc ( const bool  enable,
const size_t  chan 
)
pure virtual

Enable RX AGC on this radio

Exceptions
uhd::not_implemented_errorif this radio doesn't support RX AGC

◆ set_rx_antenna()

virtual void uhd::rfnoc::radio_control::set_rx_antenna ( const std::string &  ant,
const size_t  chan 
)
pure virtual

Select RX antenna for channel chan.

Exceptions
uhd::value_errorif ant is not a valid value.

◆ set_rx_bandwidth()

virtual double uhd::rfnoc::radio_control::set_rx_bandwidth ( const double  bandwidth,
const size_t  chan 
)
pure virtual

Set the analog filter bandwidth channel chan

This function will attempt to set the analog bandwidth.

Returns
The actual bandwidth value

◆ set_rx_dc_offset() [1/2]

virtual void uhd::rfnoc::radio_control::set_rx_dc_offset ( const bool  enb,
size_t  chan = ALL_CHANS 
)
pure virtual

Enable/disable the automatic RX DC offset correction. The automatic correction subtracts out the long-run average.

When disabled, the averaging option operation is halted. Once halted, the average value will be held constant until the user re-enables the automatic correction or overrides the value by manually setting the offset.

Parameters
enbtrue to enable automatic DC offset correction
chanthe channel index

◆ set_rx_dc_offset() [2/2]

virtual void uhd::rfnoc::radio_control::set_rx_dc_offset ( const std::complex< double > &  offset,
size_t  chan 
)
pure virtual

Set a constant RX DC offset value.

The value is complex to control both I and Q. Only set this when automatic correction is disabled.

Parameters
offsetthe dc offset (1.0 is full-scale)
chanthe channel index 0 to N-1

◆ set_rx_frequency()

virtual double uhd::rfnoc::radio_control::set_rx_frequency ( const double  freq,
const size_t  chan 
)
pure virtual

Tune the RX frequency for channel chan.

This function will attempt to tune as close as possible, and return a coerced value of the actual tuning result.

If there is a single LO in this radio, and we're doing direct conversion, then this is the LO frequency.

Parameters
freqRequested frequency
chanChannel number.
Returns
The actual frequency.

◆ set_rx_gain() [1/2]

virtual double uhd::rfnoc::radio_control::set_rx_gain ( const double  gain,
const size_t  chan 
)
pure virtual

Set the overall receive gain on channel chan

This function will attempt to set the gain as close as possible, and return a coerced value of the actual gain value.

Returns
The actual gain value

◆ set_rx_gain() [2/2]

virtual double uhd::rfnoc::radio_control::set_rx_gain ( const double  gain,
const std::string &  name,
const size_t  chan 
)
pure virtual

Set the receive gain on channel chan

This function will attempt to set the gain as close as possible, and return a coerced value of the actual gain value.

Returns
The actual gain value

◆ set_rx_gain_profile()

virtual void uhd::rfnoc::radio_control::set_rx_gain_profile ( const std::string &  profile,
const size_t  chan 
)
pure virtual

Set the RX gain profile

◆ set_rx_iq_balance() [1/2]

virtual void uhd::rfnoc::radio_control::set_rx_iq_balance ( const bool  enb,
size_t  chan 
)
pure virtual

Enable/disable the automatic IQ imbalance correction.

Parameters
enbtrue to enable automatic IQ balance correction
chanthe channel index 0 to N-1

◆ set_rx_iq_balance() [2/2]

virtual void uhd::rfnoc::radio_control::set_rx_iq_balance ( const std::complex< double > &  correction,
size_t  chan 
)
pure virtual

Enable/disable the automatic IQ imbalance correction.

Parameters
correctionthe complex correction (1.0 is full-scale)
chanthe channel index 0 to N-1

◆ set_rx_lo_export_enabled()

virtual void uhd::rfnoc::radio_control::set_rx_lo_export_enabled ( bool  enabled,
const std::string &  name,
const size_t  chan 
)
pure virtual

Set whether the LO used by the usrp device is exported For usrps that support exportable LOs, this function configures if the LO used by chan is exported or not.

Parameters
enabledif true then export the LO
namethe name of the LO stage to update
chanthe channel index 0 to N-1 for the source channel

◆ set_rx_lo_freq()

virtual double uhd::rfnoc::radio_control::set_rx_lo_freq ( double  freq,
const std::string &  name,
const size_t  chan 
)
pure virtual

Set the RX LO frequency (Advanced).

Parameters
freqthe frequency to set the LO to
namethe name of the LO stage to update
chanthe channel index 0 to N-1
Returns
a coerced LO frequency

◆ set_rx_lo_source()

virtual void uhd::rfnoc::radio_control::set_rx_lo_source ( const std::string &  src,
const std::string &  name,
const size_t  chan 
)
pure virtual

Set the LO source for a channel. For usrps that support selectable LOs, this function allows switching between them. Typical options for source: internal, external.

Parameters
srca string representing the LO source
namethe name of the LO stage to update
chanthe channel index 0 to N-1

◆ set_rx_tune_args()

virtual void uhd::rfnoc::radio_control::set_rx_tune_args ( const uhd::device_addr_t args,
const size_t  chan 
)
pure virtual

Set the TX tune args, if supported by the hardware.

◆ set_tx_antenna()

virtual void uhd::rfnoc::radio_control::set_tx_antenna ( const std::string &  ant,
const size_t  chan 
)
pure virtual

Select RX antenna for channel chan.

Exceptions
uhd::value_errorif ant is not a valid value.

◆ set_tx_bandwidth()

virtual double uhd::rfnoc::radio_control::set_tx_bandwidth ( const double  bandwidth,
const size_t  chan 
)
pure virtual

Set the analog filter bandwidth channel chan

This function will attempt to set the analog bandwidth.

Returns
The actual bandwidth value

◆ set_tx_dc_offset()

virtual void uhd::rfnoc::radio_control::set_tx_dc_offset ( const std::complex< double > &  offset,
size_t  chan 
)
pure virtual

Set a constant TX DC offset value

The value is complex to control both I and Q.

Parameters
offsetthe dc offset (1.0 is full-scale)
chanthe channel index

◆ set_tx_frequency()

virtual double uhd::rfnoc::radio_control::set_tx_frequency ( const double  freq,
size_t  chan 
)
pure virtual

Tune the TX frequency for channel chan.

This function will attempt to tune as close as possible, and return a coerced value of the actual tuning result.

If there is a single LO in this radio, and we're doing direct conversion, then this is the LO frequency.

Parameters
freqFrequency in Hz
chanChannel to tune
Returns
The actual frequency.

◆ set_tx_gain() [1/2]

virtual double uhd::rfnoc::radio_control::set_tx_gain ( const double  gain,
const size_t  chan 
)
pure virtual

Set the transmit gain on channel chan

This function will attempt to set the gain as close as possible, and return a coerced value of the actual gain value.

This method will set the overall gain. To set a specific gain, use set_tx_gain(const double, const std::string&, const size_t).

Returns
The actual gain value

◆ set_tx_gain() [2/2]

virtual double uhd::rfnoc::radio_control::set_tx_gain ( const double  gain,
const std::string &  name,
const size_t  chan 
)
pure virtual

Set the transmit gain name on channel chan

This function will attempt to set the gain as close as possible, and return a coerced value of the actual gain value.

Returns
The actual gain value

◆ set_tx_gain_profile()

virtual void uhd::rfnoc::radio_control::set_tx_gain_profile ( const std::string &  profile,
const size_t  chan 
)
pure virtual

Set the TX gain profile

◆ set_tx_iq_balance()

virtual void uhd::rfnoc::radio_control::set_tx_iq_balance ( const std::complex< double > &  correction,
size_t  chan 
)
pure virtual

Set the TX frontend IQ imbalance correction.

Use this to adjust the magnitude and phase of I and Q.

Parameters
correctionthe complex correction
chanthe channel index 0 to N-1

◆ set_tx_lo_export_enabled()

virtual void uhd::rfnoc::radio_control::set_tx_lo_export_enabled ( const bool  enabled,
const std::string &  name,
const size_t  chan 
)
pure virtual

Set whether the LO used by the usrp device is exported For usrps that support exportable LOs, this function configures if the LO used by chan is exported or not.

Parameters
enabledif true then export the LO
namethe name of the LO stage to update
chanthe channel index 0 to N-1 for the source channel

◆ set_tx_lo_freq()

virtual double uhd::rfnoc::radio_control::set_tx_lo_freq ( const double  freq,
const std::string &  name,
const size_t  chan 
)
pure virtual

Set the tx LO frequency (Advanced).

See also multi_usrp::set_tx_lo_freq().

Parameters
freqthe frequency to set the LO to
namethe name of the LO stage to update
chanthe channel index 0 to N-1
Returns
a coerced LO frequency

◆ set_tx_lo_source()

virtual void uhd::rfnoc::radio_control::set_tx_lo_source ( const std::string &  src,
const std::string &  name,
const size_t  chan 
)
pure virtual

Set the LO source for a channel. For usrps that support selectable LOs, this function allows switching between them. Typical options for source: internal, external.

Parameters
srca string representing the LO source
namethe name of the LO stage to update
chanthe channel index 0 to N-1

◆ set_tx_tune_args()

virtual void uhd::rfnoc::radio_control::set_tx_tune_args ( const uhd::device_addr_t args,
const size_t  chan 
)
pure virtual

Set the TX tune args, if supported by the hardware.

Member Data Documentation

◆ ALL_CHANS

const size_t uhd::rfnoc::radio_control::ALL_CHANS
static

◆ ALL_GAINS

const std::string uhd::rfnoc::radio_control::ALL_GAINS
static

◆ ALL_LOS

const std::string uhd::rfnoc::radio_control::ALL_LOS
static

The documentation for this class was generated from the following file: