USRP Hardware Driver and USRP Manual: uhd::rfnoc::rf_control::nameless_gain_mixin Class Reference

| USRP Hardware Driver and USRP Manual Version: 4.9.0.makepkg-0-g9ec1f582 UHD and USRP Manual |

Loading...
Searching...
No Matches
uhd::rfnoc::rf_control::nameless_gain_mixin Class Reference

`#include <uhd/rfnoc/rf_control/nameless_gain_mixin.hpp>`

Inheritance diagram for uhd::rfnoc::rf_control::nameless_gain_mixin:

## Public Types
using | name_selector
Public Types inherited from uhd::rfnoc::rf_control::core_iface
using | sptr = std::shared_ptr<core_iface>

## Public Member Functions
| nameless_gain_mixin (name_selectorname_selector name_selectorname_selector)
virtual | ~nameless_gain_mixin ()=default
double | set_tx_gain (const double gain, const size_t chan) override
double | get_tx_gain (const size_t chan) override
double | set_rx_gain (const double gain, const size_t chan) override
double | get_rx_gain (const size_t chan) override
gain_range_t | get_tx_gain_range (const size_t chan) const override
gain_range_t | get_rx_gain_range (const size_t chan) const override
Public Member Functions inherited from uhd::rfnoc::rf_control::core_iface
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 std::vector< std::string > | get_rx_gain_names (const size_t chan) const =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

## Detailed Description

Partially implements core_iface for the gain functions which take no name parameter

## Member Typedef Documentation

## ◆ name_selector

using uhd::rfnoc::rf_control::nameless_gain_mixin::name_selector

Initial value:
std::function<std::string(const uhd::direction_t trx, const size_t chan)>
uhd::direction_t
direction_t
Definition direction.hpp:12

## Constructor & Destructor Documentation

## ◆ nameless_gain_mixin()

uhd::rfnoc::rf_control::nameless_gain_mixin::nameless_gain_mixin | ( | name_selector | name_selector | ) |

Sets the name selector for the mixin. The closure receives the direction of the call and the channel, and returns the gain to use for the call. The name selector may simply return a string, or may do a more complex algorithm.

## ◆ ~nameless_gain_mixin()

virtual uhd::rfnoc::rf_control::nameless_gain_mixin::~nameless_gain_mixin | ( |  | ) |
| virtualdefault

## Member Function Documentation

## ◆ get_rx_gain()

double uhd::rfnoc::rf_control::nameless_gain_mixin::get_rx_gain | ( | const size_t | chan | ) |
| overridevirtual

Return the overall receive gain on channel `chan`

Returns
  The actual gain value

Implements uhd::rfnoc::rf_control::core_iface.

## ◆ get_rx_gain_range()

gain_range_t uhd::rfnoc::rf_control::nameless_gain_mixin::get_rx_gain_range | ( | const size_t | chan | ) | const
| overridevirtual

Return a range of valid RX gains

Implements uhd::rfnoc::rf_control::core_iface.

## ◆ get_tx_gain()

double uhd::rfnoc::rf_control::nameless_gain_mixin::get_tx_gain | ( | const size_t | chan | ) |
| overridevirtual

Return the overall transmit gain on channel `chan`

Returns
  The actual gain value

Implements uhd::rfnoc::rf_control::core_iface.

## ◆ get_tx_gain_range()

gain_range_t uhd::rfnoc::rf_control::nameless_gain_mixin::get_tx_gain_range | ( | const size_t | chan | ) | const
| overridevirtual

Return a range of valid TX gains

Implements uhd::rfnoc::rf_control::core_iface.

## ◆ set_rx_gain()

double uhd::rfnoc::rf_control::nameless_gain_mixin::set_rx_gain | ( | const double | gain,
|  | const size_t | chan )
| overridevirtual

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

Implements uhd::rfnoc::rf_control::core_iface.

## ◆ set_tx_gain()

double uhd::rfnoc::rf_control::nameless_gain_mixin::set_tx_gain | ( | const double | gain,
|  | const size_t | chan )
| overridevirtual

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

Implements uhd::rfnoc::rf_control::core_iface.

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

- nameless_gain_mixin.hpp