#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 ant is 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 ant is 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.