bladerf_source_c Class Reference

`#include <bladerf_source_c.h>`

Inheritance diagram for bladerf_source_c:

## 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 | ~source_iface ()=default
virtual bool | seek (long seek_point, int whence, size_t chan=0)
| seek file to `seek_point` relative to `whence`
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.

## 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_feature | _feature
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

  chan | the 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

  chan | the 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

  chan | the 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

  chan | the 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

  chan | the 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

  mboard | which 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

  mboard | which motherboard to get the list

Returns
  a vector of strings for possible settings

Reimplemented from source_iface.

## get_devices()

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

  chan | the 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

  chan | the 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

  name | the name of the gain stage
  chan | the channel index 0 to N-1

Returns
  the actual gain in dB

Implements source_iface.

References name().

## 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

  chan | the 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

  chan | the 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

  chan | the 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

  name | the name of the gain stage
  chan | the channel index 0 to N-1

Returns
  the gain range in dB

Implements source_iface.

References name().

## 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

  chan | the 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 | ( |  | ) |

Referenced by get_gain(), get_gain_range(), and set_gain().

## 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

  antenna | the antenna name
  chan | the 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

  bandwidth | the filter bandwidth in Hz, set to 0 for automatic selection
  chan | the 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

  freq | the desired frequency in Hz
  chan | the 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

  source | a string representing the clock source
  mboard | which 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

  offset | the dc offset (1.0 is full-scale)
  chan | the 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

  mode | dc offset correction mode: 0 = Off, 1 = Manual, 2 = Automatic
  chan | the 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

  ppm | the desired correction value in parts per million
  chan | the 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

  gain | the gain in dB
  name | the name of the gain stage
  chan | the channel index 0 to N-1

Returns
  the actual gain in dB

Implements source_iface.

References name().

## 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

  gain | the gain in dB
  chan | the 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

  automatic | the gain mode (true means automatic gain mode)
  chan | the 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

  balance | the complex correction value
  chan | the 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

  mode | iq balance correction mode: 0 = Off, 1 = Manual, 2 = Automatic
  chan | the 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

  rate | a 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 Symbol 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:

- bladerf_source_c.h