USRP Hardware Driver and Device Manual  Version: 4.10.0.0-0-g2af4ddb9
UHD and USRP Manual
uhd::features::complex_gain_iface< trx > Class Template Referenceabstract

#include <uhd/features/complex_gain_iface.hpp>

Inheritance diagram for uhd::features::complex_gain_iface< trx >:
uhd::features::discoverable_feature

Public Types

using sptr = std::shared_ptr< complex_gain_iface >
 
- Public Types inherited from uhd::features::discoverable_feature
enum  feature_id_t {
  RESERVED0 , RESERVED1 , FPGA_LOAD_NOTIFICATION , ADC_SELF_CALIBRATION ,
  REF_CLK_CALIBRATION , TRIG_IO_MODE , GPIO_POWER , SPI_GETTER_IFACE ,
  INTERNAL_SYNC , GPS , TX_COMPLEX_GAIN , RX_COMPLEX_GAIN
}
 An enum of all features supported by the driver. When creating a new. More...
 
using sptr = std::shared_ptr< discoverable_feature >
 

Public Member Functions

std::string get_feature_name () const
 Returns a human-readable string name of this feature. More...
 
virtual ~complex_gain_iface ()=default
 
virtual void set_gain_coeff (const std::complex< double > gain_coeff, const size_t chan, const std::optional< uhd::time_spec_t > time={})=0
 
virtual std::complex< double > get_gain_coeff (const size_t chan)=0
 
- Public Member Functions inherited from uhd::features::discoverable_feature
virtual ~discoverable_feature ()=default
 

Static Public Member Functions

static discoverable_feature::feature_id_t get_feature_id ()
 

Member Typedef Documentation

◆ sptr

template<uhd::direction_t trx>
using uhd::features::complex_gain_iface< trx >::sptr = std::shared_ptr<complex_gain_iface>

Constructor & Destructor Documentation

◆ ~complex_gain_iface()

template<uhd::direction_t trx>
virtual uhd::features::complex_gain_iface< trx >::~complex_gain_iface ( )
virtualdefault

Member Function Documentation

◆ get_feature_id()

template<uhd::direction_t trx>
static discoverable_feature::feature_id_t uhd::features::complex_gain_iface< trx >::get_feature_id ( )
inlinestatic

◆ get_feature_name()

template<uhd::direction_t trx>
std::string uhd::features::complex_gain_iface< trx >::get_feature_name ( ) const
inlinevirtual

Returns a human-readable string name of this feature.

Implements uhd::features::discoverable_feature.

◆ get_gain_coeff()

template<uhd::direction_t trx>
virtual std::complex<double> uhd::features::complex_gain_iface< trx >::get_gain_coeff ( const size_t  chan)
pure virtual

Returns the currently active complex gain coefficient

◆ set_gain_coeff()

template<uhd::direction_t trx>
virtual void uhd::features::complex_gain_iface< trx >::set_gain_coeff ( const std::complex< double >  gain_coeff,
const size_t  chan,
const std::optional< uhd::time_spec_t time = {} 
)
pure virtual

Apply complex gain at a specified time

The specified complex gain coefficient will be applied at a given timestamp. The default gain coefficient is 1.0 + 0.0i (unity gain). Alternatively, if the user sets the command time for the noc block, the timestamp is the current command time. If the timestamp has already passed or no time is specified, the gain will be applied as soon as possible.

Note: This timed function takes the timestamp as an argument and does not honor the timestamp which was set by 'set_command_time()'.

Note to check if the complex gain feature is enabled in the device bitfile. When the coefficient is queued, it will be immediately acknowledged by the USRP. However, if the queue is full, the acknowledgment will be delayed until it can be queued.

gain_coeff The complex gain coefficient to apply (1.0 is unity) chan The channel index time Optional timestamp to specify when to apply the gain


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