#include <uhd/rfnoc/rf_control/core_iface.hpp>
 
  
| Public Types | |
| using | sptr = std::shared_ptr<core_iface> | 
| Public Member Functions | |
| virtual | ~core_iface ()=default | 
| 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 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 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)=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) const =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 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 | 
Interface for generic RF control functions
This interface contains all methods related directly to RF control which aren't contained in a different rf_control class. These methods are not usually accessed via this interface, but are usually accessed via an instance of radio_control, which implements this class.
| using uhd::rfnoc::rf_control::core_iface::sptr = std::shared_ptr<core_iface> | 
| 
 | virtualdefault | 
| 
 | pure virtual | 
Return the selected RX antenna for channel chan.
Implemented in uhd::rfnoc::rf_control::antenna_radio_control_mixin.
| 
 | pure virtual | 
Return a list of valid RX antenna for channel chan.
Implemented in uhd::rfnoc::rf_control::antenna_radio_control_mixin.
| 
 | pure virtual | 
Return the analog filter bandwidth channel chan 
| 
 | pure virtual | 
Return a range of valid RX bandwidths
| 
 | 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 
Implemented in uhd::rfnoc::rf_control::nameless_gain_mixin.
| 
 | pure virtual | 
Return the receive gain name on channel chan 
| 
 | pure virtual | 
Return a list of valid RX gain names
| 
 | pure virtual | 
Return a range of valid RX gains
Implemented in uhd::rfnoc::rf_control::nameless_gain_mixin.
| 
 | 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 selected TX antenna for channel chan.
Implemented in uhd::rfnoc::rf_control::antenna_radio_control_mixin.
| 
 | pure virtual | 
Return a list of valid TX antenna for channel chan.
Implemented in uhd::rfnoc::rf_control::antenna_radio_control_mixin.
| 
 | pure virtual | 
Return the analog filter bandwidth channel chan 
| 
 | pure virtual | 
Return a range of valid TX bandwidths
| 
 | 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 
Implemented in uhd::rfnoc::rf_control::nameless_gain_mixin.
| 
 | pure virtual | 
Return the transmit gain name on channel chan 
| 
 | pure virtual | 
Return a list of valid TX gain names
| 
 | pure virtual | 
Return a range of valid TX gains
Implemented in uhd::rfnoc::rf_control::nameless_gain_mixin.
| 
 | 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 | 
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 antis not a valid value. | 
Implemented in uhd::rfnoc::rf_control::antenna_radio_control_mixin.
| 
 | pure virtual | 
Set the analog filter bandwidth channel chan 
This function will attempt to set the analog bandwidth.
| 
 | 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.
Note that unlike the uhd::usrp::multi_usrp::set_rx_freq() API, this does not attempt to tune any attached digital frequency shifter, unless it is part of the radio. That is why this API only returns a double value (the actual frequency) instead of a uhd::tune_result_t. If a combined tuning of digital frequency correction and LO tuning is desired (the same way that uhd::usrp::multi_usrp does by default), then the caller has to either also call uhd::rfnoc::ddc_block_control::set_freq() with the residual frequency, or tune through the graph.
| 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.
Implemented in uhd::rfnoc::rf_control::nameless_gain_mixin.
| 
 | 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 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 TX tune args, if supported by the hardware.
| 
 | pure virtual | 
Select TX antenna for channel chan.
| uhd::value_error | if antis not a valid value. | 
Implemented in uhd::rfnoc::rf_control::antenna_radio_control_mixin.
| 
 | pure virtual | 
Set the analog filter bandwidth channel chan 
This function will attempt to set the analog bandwidth.
| 
 | 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.
Note that unlike the uhd::usrp::multi_usrp::set_tx_freq() API, this does not attempt to tune any attached digital frequency shifter, unless it is part of the radio. That is why this API only returns a double value (the actual frequency) instead of a uhd::tune_result_t. If a combined tuning of digital frequency correction and LO tuning is desired (the same way that uhd::usrp::multi_usrp does by default), then the caller has to either also call uhd::rfnoc::dc_block_control::set_freq() with the residual frequency, or tune through the graph.
| 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).
Implemented in uhd::rfnoc::rf_control::nameless_gain_mixin.
| 
 | 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 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 TX tune args, if supported by the hardware.