GNU Radio's OsmoSDR Package
uhd_sink_c Class Reference

#include <uhd_sink_c.h>

Inheritance diagram for uhd_sink_c:

Public Member Functions

 ~uhd_sink_c ()
 
std::string name ()
 
size_t get_num_channels (void)
 
osmosdr::meta_range_t get_sample_rates (void)
 
double set_sample_rate (double rate)
 
double get_sample_rate (void)
 
osmosdr::freq_range_t get_freq_range (size_t chan=0)
 
double set_center_freq (double freq, size_t chan=0)
 
double get_center_freq (size_t chan=0)
 
double set_freq_corr (double ppm, size_t chan=0)
 
double get_freq_corr (size_t chan=0)
 
std::vector< std::string > get_gain_names (size_t chan=0)
 
osmosdr::gain_range_t get_gain_range (size_t chan=0)
 
osmosdr::gain_range_t get_gain_range (const std::string &name, size_t chan=0)
 
double set_gain (double gain, size_t chan=0)
 
double set_gain (double gain, const std::string &name, size_t chan=0)
 
double get_gain (size_t chan=0)
 
double get_gain (const std::string &name, size_t chan=0)
 
std::vector< std::string > get_antennas (size_t chan=0)
 
std::string set_antenna (const std::string &antenna, size_t chan=0)
 
std::string get_antenna (size_t chan=0)
 
void set_dc_offset (const std::complex< double > &offset, size_t chan=0)
 
void set_iq_balance (const std::complex< double > &balance, size_t chan=0)
 
double set_bandwidth (double bandwidth, size_t chan=0)
 
double get_bandwidth (size_t chan=0)
 
osmosdr::freq_range_t get_bandwidth_range (size_t chan=0)
 
- Public Member Functions inherited from sink_iface
virtual bool set_gain_mode (bool automatic, size_t chan=0)
 
virtual bool get_gain_mode (size_t chan=0)
 
virtual double set_if_gain (double gain, size_t chan=0)
 
virtual double set_bb_gain (double gain, size_t chan=0)
 

Static Public Member Functions

static std::vector< std::string > get_devices ()
 

Friends

uhd_sink_c_sptr make_uhd_sink_c (const std::string &args)
 

Constructor & Destructor Documentation

uhd_sink_c::~uhd_sink_c ( )

Member Function Documentation

std::string uhd_sink_c::get_antenna ( size_t  chan = 0)
virtual

Get the actual underlying radio hardware antenna setting.

Parameters
chanthe channel index 0 to N-1
Returns
the actual antenna's name

Implements sink_iface.

std::vector< std::string > uhd_sink_c::get_antennas ( size_t  chan = 0)
virtual

Get the available antennas of the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
a vector of strings containing the names of available antennas

Implements sink_iface.

double uhd_sink_c::get_bandwidth ( size_t  chan = 0)
virtual

Get the actual bandpass filter setting on the radio frontend.

Parameters
chanthe channel index 0 to N-1
Returns
the actual filter bandwidth in Hz

Reimplemented from sink_iface.

osmosdr::freq_range_t uhd_sink_c::get_bandwidth_range ( size_t  chan = 0)
virtual

Get the possible bandpass filter settings on the radio frontend.

Parameters
chanthe channel index 0 to N-1
Returns
a range of bandwidths in Hz

Reimplemented from sink_iface.

double uhd_sink_c::get_center_freq ( size_t  chan = 0)
virtual

Get the center frequency the underlying radio hardware is tuned to. This is the actual frequency and may differ from the frequency set.

Parameters
chanthe channel index 0 to N-1
Returns
the frequency in Hz

Implements sink_iface.

static std::vector< std::string > uhd_sink_c::get_devices ( )
static
double uhd_sink_c::get_freq_corr ( size_t  chan = 0)
virtual

Get the frequency correction value.

Parameters
chanthe channel index 0 to N-1
Returns
correction value in parts per million

Implements sink_iface.

osmosdr::freq_range_t uhd_sink_c::get_freq_range ( size_t  chan = 0)
virtual

Get the tunable frequency range for the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
the frequency range in Hz

Implements sink_iface.

double uhd_sink_c::get_gain ( size_t  chan = 0)
virtual

Get the actual gain setting of the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
the actual gain in dB

Implements sink_iface.

double uhd_sink_c::get_gain ( const std::string &  name,
size_t  chan = 0 
)
virtual

Get the actual gain setting of a named stage.

Parameters
namethe name of the gain stage
chanthe channel index 0 to N-1
Returns
the actual gain in dB

Implements sink_iface.

std::vector<std::string> uhd_sink_c::get_gain_names ( size_t  chan = 0)
virtual

Get the gain stage names of the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
a vector of strings containing the names of gain stages

Implements sink_iface.

osmosdr::gain_range_t uhd_sink_c::get_gain_range ( size_t  chan = 0)
virtual

Get the settable overall gain range for the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
the gain range in dB

Implements sink_iface.

osmosdr::gain_range_t uhd_sink_c::get_gain_range ( const std::string &  name,
size_t  chan = 0 
)
virtual

Get the settable gain range for a specific gain stage.

Parameters
namethe name of the gain stage
chanthe channel index 0 to N-1
Returns
the gain range in dB

Implements sink_iface.

size_t uhd_sink_c::get_num_channels ( void  )
virtual

Get the number of channels the underlying radio hardware offers.

Returns
the number of available channels

Implements sink_iface.

double uhd_sink_c::get_sample_rate ( void  )
virtual

Get the sample rate for the underlying radio hardware. This is the actual sample rate and may differ from the rate set.

Returns
the actual rate in Sps

Implements sink_iface.

osmosdr::meta_range_t uhd_sink_c::get_sample_rates ( void  )
virtual

Get the possible sample rates for the underlying radio hardware.

Returns
a range of rates in Sps

Implements sink_iface.

std::string uhd_sink_c::name ( )
std::string uhd_sink_c::set_antenna ( const std::string &  antenna,
size_t  chan = 0 
)
virtual

Select the active antenna of the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
the actual antenna's name

Implements sink_iface.

double uhd_sink_c::set_bandwidth ( double  bandwidth,
size_t  chan = 0 
)
virtual

Set the bandpass filter on the radio frontend.

Parameters
bandwidththe filter bandwidth in Hz, set to 0 for automatic selection
chanthe channel index 0 to N-1
Returns
the actual filter bandwidth in Hz

Reimplemented from sink_iface.

double uhd_sink_c::set_center_freq ( double  freq,
size_t  chan = 0 
)
virtual

Tune the underlying radio hardware to the desired center frequency. This also will select the appropriate RF bandpass.

Parameters
freqthe desired frequency in Hz
chanthe channel index 0 to N-1
Returns
the actual frequency in Hz

Implements sink_iface.

void uhd_sink_c::set_dc_offset ( const std::complex< double > &  offset,
size_t  chan = 0 
)
virtual

Set the TX frontend DC offset value. The value is complex to control both I and Q.

Parameters
offsetthe dc offset (1.0 is full-scale)
chanthe channel index 0 to N-1

Reimplemented from sink_iface.

double uhd_sink_c::set_freq_corr ( double  ppm,
size_t  chan = 0 
)
virtual

Set the frequency correction value in parts per million.

Parameters
ppmthe desired correction value in parts per million
chanthe channel index 0 to N-1
Returns
correction value in parts per million

Implements sink_iface.

double uhd_sink_c::set_gain ( double  gain,
size_t  chan = 0 
)
virtual

Set the gain for the underlying radio hardware. This function will automatically distribute the desired gain value over available gain stages in an appropriate way and return the actual value.

Parameters
gainthe gain in dB
chanthe channel index 0 to N-1
Returns
the actual gain in dB

Implements sink_iface.

double uhd_sink_c::set_gain ( double  gain,
const std::string &  name,
size_t  chan = 0 
)
virtual

Set the named gain on the underlying radio hardware.

Parameters
gainthe gain in dB
namethe name of the gain stage
chanthe channel index 0 to N-1
Returns
the actual gain in dB

Implements sink_iface.

void uhd_sink_c::set_iq_balance ( const std::complex< double > &  balance,
size_t  chan = 0 
)
virtual

Set the TX frontend IQ balance correction. Use this to adjust the magnitude and phase of I and Q.

Parameters
balancethe complex correction value
chanthe channel index 0 to N-1

Reimplemented from sink_iface.

double uhd_sink_c::set_sample_rate ( double  rate)
virtual

Set the sample rate for the underlying radio hardware. This also will select the appropriate IF bandpass, if applicable.

Parameters
ratea new rate in Sps

Implements sink_iface.

Friends And Related Function Documentation

uhd_sink_c_sptr make_uhd_sink_c ( const std::string &  args)
friend

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