#include <uhd/rfnoc/radio_control.hpp>
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 bool | has_tx_power_reference (const size_t chan)=0 |
virtual void | set_tx_power_reference (const double power_dbm, const size_t chan)=0 |
virtual double | get_tx_power_reference (const size_t chan)=0 |
virtual std::vector< std::string > | get_tx_power_ref_keys (const size_t chan=0)=0 |
virtual meta_range_t | get_tx_power_range (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 bool | has_rx_power_reference (const size_t chan)=0 |
virtual void | set_rx_power_reference (const double power_dbm, const size_t chan)=0 |
virtual double | get_rx_power_reference (const size_t chan)=0 |
virtual std::vector< std::string > | get_rx_power_ref_keys (const size_t chan=0)=0 |
virtual meta_range_t | get_rx_power_range (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... | |
![]() | |
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_t & | get_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::sptr & | get_tree () const |
Return a reference to this block's subtree. More... | |
uhd::property_tree::sptr & | get_tree () |
Return a reference to this block's subtree (non-const version) More... | |
![]() | |
node_t () | |
virtual | ~node_t () |
virtual std::string | get_unique_id () const |
Return a unique identifier string for this node. In every RFNoC graph,. More... | |
virtual size_t | get_num_input_ports () const =0 |
virtual size_t | get_num_output_ports () const =0 |
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) |
![]() | |
register_iface_holder (register_iface::sptr reg) | |
virtual | ~register_iface_holder ()=default |
register_iface & | regs () |
![]() | |
virtual | ~discoverable_feature_getter_iface ()=default |
template<typename T > | |
T & | get_feature () |
Retrieves a feature of the specified type. More... | |
template<typename T > | |
bool | has_feature () |
Determines whether a given feature exists. More... | |
virtual std::vector< std::string > | enumerate_features ()=0 |
Enumerate all discoverable features present on the device. More... | |
Static Public Attributes | |
static const std::string | ALL_LOS |
static const std::string | ALL_GAINS |
static constexpr size_t | ALL_CHANS = size_t(~0) |
![]() | |
static const size_t | ANY_PORT = size_t(~0) |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
enum class | forwarding_policy_t { ONE_TO_ONE , ONE_TO_FAN , ONE_TO_ALL_IN , ONE_TO_ALL_OUT , ONE_TO_ALL , DROP , USE_MAP } |
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)> |
using | forwarding_map_t = std::unordered_map< res_source_info, std::vector< res_source_info > > |
![]() | |
using | prop_ptrs_t = std::unordered_set< property_base_t * > |
![]() | |
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_t * | get_mtu_prop_ref (const res_source_info &edge) |
std::shared_ptr< mb_controller > | get_mb_controller () |
virtual void | deinit () |
![]() | |
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="") |
void | set_prop_forwarding_map (const forwarding_map_t &map) |
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 | set_action_forwarding_map (const forwarding_map_t &map) |
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) |
virtual void | shutdown () |
![]() | |
void | update_reg_iface (register_iface::sptr new_iface=nullptr) |
![]() | |
static dirtifier_t | ALWAYS_DIRTY |
A dirtifyer object, useful for properties that always need updating. More... | |
Parent class for radio block controllers
|
pure virtual |
Enable or disable the setting of timestamps on Rx.
|
pure virtual |
Return the channel that corresponds to a frontend's name.
|
pure virtual |
Return the content of the daughterboard EEPROM.
|
pure virtual |
Return the frontend name for a channel index.
|
pure virtual |
Return the name of the frontend, as given by the dboard driver.
|
pure virtual |
Get a GPIO attribute on a particular GPIO bank. Possible attribute names:
bank | the name of a GPIO bank |
attr | the name of a GPIO attribute |
|
pure virtual |
Returns the list of GPIO banks that are associated with this radio.
|
pure virtual |
Get the sample rate.
|
pure virtual |
Return a list of valid rates.
|
pure virtual |
Return the selected RX antenna for channel chan
.
|
pure virtual |
Return a list of valid RX antenna for channel chan
.
|
pure virtual |
Return the analog filter bandwidth channel chan
|
pure virtual |
Return a range of valid RX bandwidths
|
pure virtual |
Get the valid range for RX DC offset values.
chan | the channel index |
|
pure virtual |
Return the current receive LO frequency on channel chan
.
|
pure virtual |
Return the range of frequencies that chan
can be tuned to.
|
pure virtual |
Return the overall receive gain on channel chan
|
pure virtual |
Return the receive gain name
on channel chan
|
pure virtual |
Return a list of valid RX gain names
|
pure virtual |
Set the RX gain profile
|
pure virtual |
Return a list of TX gain profiles for this radio
|
pure virtual |
Return a range of valid RX gains
|
pure virtual |
Return a range of valid RX gains
|
pure virtual |
Returns true if the currently selected LO is being exported.
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
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.
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
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.
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
pure virtual |
Get a list of possible LO stage names
chan | the channel index 0 to N-1 |
|
pure virtual |
Get the currently set LO source. Channels without controllable LO sources will return "internal"
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
pure virtual |
Get a list of possible LO sources.
Channels which do not have controllable LO sources will return "internal".
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
pure virtual |
Return the available RX power range given the current configuration
This will return the range of available power levels given the current frequency, gain profile, antenna, and whatever other settings may affect the available power ranges. Note that the available power range may change frequently, so don't assume an immutable range.
chan | The channel index |
|
pure virtual |
Return the keys by which the power calibration data is referenced for this channel.
The first entry is the key, the second the serial. These are the same arguments that can be used for uhd::usrp::cal::database::read_cal_data() and friends. See also Serial number and key.
Note that the key can change at runtime, e.g., when the antenna port is switched.
The difference between this and has_rx_power_reference() is that the latter requires both device support as well as calibration data, whereas this function will never throw, and will always return a non-empty vector if device support is there, even if the device does not have calbration data loaded.
|
pure virtual |
Return the actual reference RX power level.
Note: This functionality is not supported for most devices, and will cause a uhd::not_implemented_error exception to be thrown on devices that do not have this functionality.
For more information on how to use this API, see Power Level Controls.
chan | The channel for which this setting is queried |
uhd::not_implemented_error | if this functionality does not exist for this device |
|
pure virtual |
Return the sensor value for sensor name
name | Sensor name (e.g. "lo_locked") |
chan | Channel index |
uhd::key_error | if the sensor does not exist |
|
pure virtual |
Return a list of RX sensors
The names returned in this list can be used as an input to get_rx_sensor()
|
pure virtual |
Returns this radio's slot name (typically "A" or "B")
|
pure virtual |
Return the selected TX antenna for channel chan
.
|
pure virtual |
Return a list of valid TX antenna for channel chan
.
|
pure virtual |
Return the analog filter bandwidth channel chan
|
pure virtual |
Return a range of valid TX bandwidths
|
pure virtual |
Get the valid range for TX DC offset values.
chan | the channel index |
|
pure virtual |
Return the current transmit LO frequency on channel chan
.
|
pure virtual |
Return the range of frequencies that chan
can be tuned to.
|
pure virtual |
Return the overall transmit gain on channel chan
|
pure virtual |
Return the transmit gain name
on channel chan
|
pure virtual |
Return a list of valid TX gain names
|
pure virtual |
Return the TX gain profile
|
pure virtual |
Return a list of TX gain profiles for this radio
|
pure virtual |
Return a range of valid TX gains
|
pure virtual |
Return a range of valid TX gains
|
pure virtual |
Returns true if the currently selected LO is being exported.
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
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.
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
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.
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
pure virtual |
Get a list of possible LO stage names
chan | the channel index 0 to N-1 |
|
pure virtual |
Get the currently set LO source. Channels without controllable LO sources will return "internal"
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
pure virtual |
Get a list of possible LO sources.
Channels which do not have controllable LO sources will return "internal".
name | the name of the LO stage to query |
chan | the channel index 0 to N-1 |
|
pure virtual |
Return the available TX power range given the current configuration
This will return the range of available power levels given the current frequency, gain profile, antenna, and whatever other settings may affect the available power ranges. Note that the available power range may change frequently, so don't assume an immutable range.
chan | The channel index |
|
pure virtual |
Return the keys by which the power calibration data is referenced for this channel.
The first entry is the key, the second the serial. These are the same arguments that can be used for uhd::usrp::cal::database::read_cal_data() and friends. See also Serial number and key.
Note that the key can change at runtime, e.g., when the antenna port is switched.
The difference between this and has_tx_power_reference() is that the latter requires both device support as well as calibration data, whereas this function will never throw, and will always return a non-empty vector if device support is there, even if the device does not have calbration data loaded.
|
pure virtual |
Return the actual reference TX power level.
Note: This functionality is not supported for most devices, and will cause a uhd::not_implemented_error exception to be thrown on devices that do not have this functionality.
For more information on how to use this API, see Power Level Controls.
chan | The channel for which this setting is queried |
uhd::not_implemented_error | if this functionality does not exist for this device |
|
pure virtual |
Return the sensor value for sensor name
name | Sensor name (e.g. "lo_locked") |
chan | Channel index |
uhd::key_error | if the sensor does not exist |
|
pure virtual |
Return a list of TX sensors
The names returned in this list can be used as an input to get_tx_sensor()
|
pure virtual |
Return true if this channel has a reference power API enabled
Many devices either don't have a built-in reference power API, or they require calibration data for it to work. This means that it is not clear, even when the device type is known, if a device supports setting a power reference level. Use this method to query the availability of set_rx_power_reference() and get_rx_power_reference(), which will throw a uhd::not_implemented_error or uhd::runtime_error if they cannot be used.
See Power Level Controls for more information, or query the specific device's manual page to see if a power API is available, and how to enable it.
chan | The channel for which this feature is queried |
|
pure virtual |
Return true if this channel has a reference power API enabled
Many devices either don't have a built-in reference power API, or they require calibration data for it to work. This means that it is not clear, even when the device type is known, if a device supports setting a power reference level. Use this method to query the availability of set_tx_power_reference() and get_tx_power_reference(), which will throw a uhd::not_implemented_error or uhd::runtime_error if they cannot be used.
See Power Level Controls for more information, or query the specific device's manual page to see if a power API is available, and how to enable it.
chan | The channel for which this feature is queried |
|
pure virtual |
Issue stream command: Instruct the RX part of the radio to send samples
stream_cmd | The actual stream command to execute |
port | The port for which the stream command is meant |
|
pure virtual |
Update the daughterboard EEPROM.
|
pure virtual |
Set a GPIO attribute on a particular GPIO bank. Possible attribute names:
bank | the name of a GPIO bank (e.g., FP0) |
attr | the name of a GPIO attribute (e.g., CTRL) |
value | the new value for this GPIO bank |
|
pure virtual |
Set the sample rate.
|
pure virtual |
Enable RX AGC on this radio
uhd::not_implemented_error | if this radio doesn't support RX AGC |
|
pure virtual |
Select RX antenna for
channel chan
.
uhd::value_error | if ant is not a valid value. |
|
pure virtual |
Set the analog filter bandwidth channel chan
This function will attempt to set the analog bandwidth.
|
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.
enb | true to enable automatic DC offset correction |
chan | the channel index |
|
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.
offset | the dc offset (1.0 is full-scale) |
chan | the channel index 0 to N-1 |
|
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.
freq | Requested frequency |
chan | Channel number. |
|
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.
|
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.
|
pure virtual |
Set the RX gain profile
|
pure virtual |
Enable/disable the automatic IQ imbalance correction.
enb | true to enable automatic IQ balance correction |
chan | the channel index 0 to N-1 |
|
pure virtual |
Enable/disable the automatic IQ imbalance correction.
correction | the complex correction (1.0 is full-scale) |
chan | the channel index 0 to N-1 |
|
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.
enabled | if true then export the LO |
name | the name of the LO stage to update |
chan | the channel index 0 to N-1 for the source channel |
|
pure virtual |
Set the RX LO frequency (Advanced).
freq | the frequency to set the LO to |
name | the name of the LO stage to update |
chan | the channel index 0 to N-1 |
|
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.
src | a string representing the LO source |
name | the name of the LO stage to update |
chan | the channel index 0 to N-1 |
|
pure virtual |
Set the reference RX power level for a given channel
Note: This functionality is not supported for most devices, and will cause a uhd::not_implemented_error exception to be thrown on devices that do not have this functionality.
For more information on how to use this API, see Power Level Controls.
power_dbm | The reference power level in dBm |
chan | The channel for which this setting applies |
uhd::not_implemented_error | if this functionality does not exist for this device |
|
pure virtual |
Set the TX tune args, if supported by the hardware.
|
pure virtual |
Select RX antenna for
channel chan
.
uhd::value_error | if ant is not a valid value. |
|
pure virtual |
Set the analog filter bandwidth channel chan
This function will attempt to set the analog bandwidth.
|
pure virtual |
Set a constant TX DC offset value
The value is complex to control both I and Q.
offset | the dc offset (1.0 is full-scale) |
chan | the channel index |
|
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.
freq | Frequency in Hz |
chan | Channel to tune |
|
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).
|
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.
|
pure virtual |
Set the TX gain profile
|
pure virtual |
Set the TX frontend IQ imbalance correction.
Use this to adjust the magnitude and phase of I and Q.
correction | the complex correction |
chan | the channel index 0 to N-1 |
|
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.
enabled | if true then export the LO |
name | the name of the LO stage to update |
chan | the channel index 0 to N-1 for the source channel |
|
pure virtual |
Set the tx LO frequency (Advanced).
See also multi_usrp::set_tx_lo_freq().
freq | the frequency to set the LO to |
name | the name of the LO stage to update |
chan | the channel index 0 to N-1 |
|
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.
src | a string representing the LO source |
name | the name of the LO stage to update |
chan | the channel index 0 to N-1 |
|
pure virtual |
Set the reference TX power level for a given channel
Note: This functionality is not supported for most devices, and will cause a uhd::not_implemented_error exception to be thrown on devices that do not have this functionality.
For more information on how to use this API, see Power Level Controls.
power_dbm | The reference power level in dBm |
chan | The channel for which this setting applies |
uhd::not_implemented_error | if this functionality does not exist for this device |
|
pure virtual |
Set the TX tune args, if supported by the hardware.
|
staticconstexpr |
|
static |
|
static |