GNU Radio's TEST Package
bladerf_source_c Class Reference

#include <bladerf_source_c.h>

Inheritance diagram for bladerf_source_c:
source_iface bladerf_common

Public Member Functions

std::string name ()
 
size_t get_max_channels (void)
 
size_t get_num_channels (void)
 
bool start ()
 
bool stop ()
 
int work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 
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)
 
bool set_gain_mode (bool automatic, size_t chan=0)
 
bool get_gain_mode (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_mode (int mode, size_t chan=0)
 
void set_dc_offset (const std::complex< double > &offset, size_t chan=0)
 
void set_iq_balance_mode (int mode, size_t chan=0)
 
void set_iq_balance (const std::complex< double > &balance, size_t chan=0)
 
osmosdr::freq_range_t get_bandwidth_range (size_t chan=0)
 
double set_bandwidth (double bandwidth, size_t chan=0)
 
double get_bandwidth (size_t chan=0)
 
std::vector< std::string > get_clock_sources (size_t mboard)
 
void set_clock_source (const std::string &source, size_t mboard=0)
 
std::string get_clock_source (size_t mboard)
 
void set_biastee_mode (const std::string &mode)
 
void set_loopback_mode (const std::string &loopback)
 
void set_rx_mux_mode (const std::string &rxmux)
 
void set_agc_mode (const std::string &agcmode)
 
- Public Member Functions inherited from source_iface
virtual bool seek (long seek_point, int whence, size_t chan=0)
 seek file to seek_point relative to whence More...
 
virtual double set_if_gain (double gain, size_t chan=0)
 
virtual double set_bb_gain (double gain, size_t chan=0)
 
virtual void set_time_source (const std::string &source, const size_t mboard=0)
 
virtual std::string get_time_source (const size_t mboard)
 
virtual std::vector< std::string > get_time_sources (const size_t mboard)
 
virtual double get_clock_rate (size_t mboard=0)
 
virtual void set_clock_rate (double rate, size_t mboard=0)
 
virtual ::osmosdr::time_spec_t get_time_now (size_t mboard=0)
 
virtual ::osmosdr::time_spec_t get_time_last_pps (size_t mboard=0)
 
virtual void set_time_now (const ::osmosdr::time_spec_t &time_spec, size_t mboard=0)
 
virtual void set_time_next_pps (const ::osmosdr::time_spec_t &time_spec)
 
virtual void set_time_unknown_pps (const ::osmosdr::time_spec_t &time_spec)
 

Static Public Member Functions

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

Friends

bladerf_source_c_sptr make_bladerf_source_c (const std::string &args)
 Return a shared_ptr to a new instance of bladerf_source_c. More...
 

Additional Inherited Members

- Protected Member Functions inherited from bladerf_common
void init (dict_t const &dict, bladerf_direction direction)
 
bladerf_board_type get_board_type ()
 
size_t get_max_channels (bladerf_direction direction)
 
void set_channel_enable (bladerf_channel ch, bool enable)
 
bool get_channel_enable (bladerf_channel ch)
 
void set_verbosity (std::string const &verbosity)
 
bladerf_channel str2channel (std::string const &ch)
 
std::string channel2str (bladerf_channel ch)
 
int channel2rfport (bladerf_channel ch)
 
bladerf_channel chan2channel (bladerf_direction direction, size_t chan=0)
 
osmosdr::meta_range_t sample_rates (bladerf_channel ch)
 
double set_sample_rate (double rate, bladerf_channel ch)
 
double get_sample_rate (bladerf_channel ch)
 
osmosdr::freq_range_t freq_range (bladerf_channel ch)
 
double set_center_freq (double freq, bladerf_channel ch)
 
double get_center_freq (bladerf_channel ch)
 
osmosdr::freq_range_t filter_bandwidths (bladerf_channel ch)
 
double set_bandwidth (double bandwidth, bladerf_channel ch)
 
double get_bandwidth (bladerf_channel ch)
 
std::vector< std::string > get_gain_names (bladerf_channel ch)
 
osmosdr::gain_range_t get_gain_range (bladerf_channel ch)
 
osmosdr::gain_range_t get_gain_range (std::string const &name, bladerf_channel ch)
 
bool set_gain_mode (bool automatic, bladerf_channel ch, bladerf_gain_mode agc_mode=BLADERF_GAIN_DEFAULT)
 
bool get_gain_mode (bladerf_channel ch)
 
double set_gain (double gain, bladerf_channel ch)
 
double set_gain (double gain, std::string const &name, bladerf_channel ch)
 
double get_gain (bladerf_channel ch)
 
double get_gain (std::string const &name, bladerf_channel ch)
 
std::vector< std::string > get_antennas (bladerf_direction dir)
 
bool set_antenna (bladerf_direction dir, size_t chan, const std::string &antenna)
 
int set_dc_offset (std::complex< double > const &offset, bladerf_channel ch)
 
int set_iq_balance (std::complex< double > const &balance, bladerf_channel ch)
 
std::vector< std::string > get_clock_sources (size_t mboard=0)
 
void set_clock_source (std::string const &source, size_t mboard=0)
 
std::string get_clock_source (size_t mboard=0)
 
void set_smb_frequency (double frequency)
 
double get_smb_frequency ()
 
 bladerf_common ()
 
- Static Protected Member Functions inherited from bladerf_common
static std::vector< std::string > devices ()
 
- Protected Attributes inherited from bladerf_common
bladerf_sptr _dev
 
std::string _pfx
 
unsigned int _failures
 
size_t _num_buffers
 
size_t _samples_per_buffer
 
size_t _num_transfers
 
unsigned int _stream_timeout
 
bladerf_format _format
 
bladerf_channel_map _chanmap
 
bladerf_channel_enable_map _enables
 
- Static Protected Attributes inherited from bladerf_common
static const unsigned int MAX_CONSECUTIVE_FAILURES = 3
 
static const int16_t DCOFF_SCALE = 2048
 
static const int16_t GAIN_SCALE = 4096
 
static const int16_t PHASE_SCALE = 4096
 

Member Function Documentation

◆ get_antenna()

std::string bladerf_source_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 source_iface.

◆ get_antennas()

std::vector<std::string> bladerf_source_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 source_iface.

◆ get_bandwidth()

double bladerf_source_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 source_iface.

◆ get_bandwidth_range()

osmosdr::freq_range_t bladerf_source_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 source_iface.

◆ get_center_freq()

double bladerf_source_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 source_iface.

◆ get_clock_source()

std::string bladerf_source_c::get_clock_source ( size_t  mboard)
virtual

Get the currently set clock source.

Parameters
mboardwhich motherboard to get the config
Returns
the string representing the clock source

Reimplemented from source_iface.

◆ get_clock_sources()

std::vector<std::string> bladerf_source_c::get_clock_sources ( size_t  mboard)
virtual

Get a list of possible clock sources.

Parameters
mboardwhich motherboard to get the list
Returns
a vector of strings for possible settings

Reimplemented from source_iface.

◆ get_devices()

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

◆ get_freq_corr()

double bladerf_source_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 source_iface.

◆ get_freq_range()

osmosdr::freq_range_t bladerf_source_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 source_iface.

◆ get_gain() [1/2]

double bladerf_source_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 source_iface.

◆ get_gain() [2/2]

double bladerf_source_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 source_iface.

◆ get_gain_mode()

bool bladerf_source_c::get_gain_mode ( size_t  chan = 0)
virtual

Get the gain mode selected for the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
the actual gain mode (true means automatic gain mode)

Reimplemented from source_iface.

◆ get_gain_names()

std::vector<std::string> bladerf_source_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 source_iface.

◆ get_gain_range() [1/2]

osmosdr::gain_range_t bladerf_source_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 source_iface.

◆ get_gain_range() [2/2]

osmosdr::gain_range_t bladerf_source_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 source_iface.

◆ get_max_channels()

size_t bladerf_source_c::get_max_channels ( void  )

◆ get_num_channels()

size_t bladerf_source_c::get_num_channels ( void  )
virtual

Get the number of channels the underlying radio hardware offers.

Returns
the number of available channels

Implements source_iface.

◆ get_sample_rate()

double bladerf_source_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 source_iface.

◆ get_sample_rates()

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

Get the possible sample rates for the underlying radio hardware.

Returns
a range of rates in Sps

Implements source_iface.

◆ name()

std::string bladerf_source_c::name ( )

◆ set_agc_mode()

void bladerf_source_c::set_agc_mode ( const std::string &  agcmode)

◆ set_antenna()

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

Select the active antenna of the underlying radio hardware.

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

Implements source_iface.

◆ set_bandwidth()

double bladerf_source_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 source_iface.

◆ set_biastee_mode()

void bladerf_source_c::set_biastee_mode ( const std::string &  mode)

◆ set_center_freq()

double bladerf_source_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 source_iface.

◆ set_clock_source()

void bladerf_source_c::set_clock_source ( const std::string &  source,
size_t  mboard = 0 
)
virtual

Set the clock source for the device. This sets the source for a 10 Mhz reference clock. Typical options for source: internal, external, MIMO.

Parameters
sourcea string representing the clock source
mboardwhich motherboard to set the config

Reimplemented from source_iface.

◆ set_dc_offset()

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

Set a constant DC offset value. The value is complex to control both I and Q. Only set this when automatic correction is disabled.

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

Reimplemented from source_iface.

◆ set_dc_offset_mode()

void bladerf_source_c::set_dc_offset_mode ( int  mode,
size_t  chan = 0 
)
virtual

Set the RX frontend DC correction mode. The automatic correction subtracts out the long-run average.

When disabled, the averaging option operation is reset. Once in Manual mode, the average value will be held constant until the user re-enables the automatic correction or overrides the value by manually setting the offset.

Parameters
modedc offset correction mode: 0 = Off, 1 = Manual, 2 = Automatic
chanthe channel index 0 to N-1

Reimplemented from source_iface.

◆ set_freq_corr()

double bladerf_source_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 source_iface.

◆ set_gain() [1/2]

double bladerf_source_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 source_iface.

◆ set_gain() [2/2]

double bladerf_source_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 source_iface.

◆ set_gain_mode()

bool bladerf_source_c::set_gain_mode ( bool  automatic,
size_t  chan = 0 
)
virtual

Set the gain mode for the underlying radio hardware. This might be supported only for certain hardware types.

Parameters
automaticthe gain mode (true means automatic gain mode)
chanthe channel index 0 to N-1
Returns
the actual gain mode

Reimplemented from source_iface.

◆ set_iq_balance()

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

Set the RX 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 source_iface.

◆ set_iq_balance_mode()

void bladerf_source_c::set_iq_balance_mode ( int  mode,
size_t  chan = 0 
)
virtual

Set the RX frontend IQ balance mode.

Parameters
modeiq balance correction mode: 0 = Off, 1 = Manual, 2 = Automatic
chanthe channel index 0 to N-1

Reimplemented from source_iface.

◆ set_loopback_mode()

void bladerf_source_c::set_loopback_mode ( const std::string &  loopback)

◆ set_rx_mux_mode()

void bladerf_source_c::set_rx_mux_mode ( const std::string &  rxmux)

◆ set_sample_rate()

double bladerf_source_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 source_iface.

◆ start()

bool bladerf_source_c::start ( )

◆ stop()

bool bladerf_source_c::stop ( )

◆ work()

int bladerf_source_c::work ( int  noutput_items,
gr_vector_const_void_star &  input_items,
gr_vector_void_star &  output_items 
)

Friends And Related Function Documentation

◆ make_bladerf_source_c

bladerf_source_c_sptr make_bladerf_source_c ( const std::string &  args)
friend

Return a shared_ptr to a new instance of bladerf_source_c.

To avoid accidental use of raw pointers, bladerf_source_c's constructor is private. bladerf_make_source_c is the public interface for creating new instances.


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