sink_impl Class Reference

`#include <sink_impl.h>`

Inheritance diagram for sink_impl:
[legend]

## Public Member Functions

| sink_impl (const std::string &args)
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)
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)
double | set_if_gain (double gain, size_t chan=0)
double | set_bb_gain (double gain, 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)
void | set_time_source (const std::string &source, const size_t mboard=0)
std::string | get_time_source (const size_t mboard)
std::vector< std::string > | get_time_sources (const size_t mboard)
void | set_clock_source (const std::string &source, const size_t mboard=0)
std::string | get_clock_source (const size_t mboard)
std::vector< std::string > | get_clock_sources (const size_t mboard)
double | get_clock_rate (size_t mboard=0)
void | set_clock_rate (double rate, size_t mboard=0)
::osmosdr::time_spec_t | get_time_now (size_t mboard=0)
::osmosdr::time_spec_t | get_time_last_pps (size_t mboard=0)
void | set_time_now (const ::osmosdr::time_spec_t &time_spec, size_t mboard=0)
void | set_time_next_pps (const ::osmosdr::time_spec_t &time_spec)
void | set_time_unknown_pps (const ::osmosdr::time_spec_t &time_spec)
virtual size_t | get_num_channels (void)=0
virtual osmosdr::meta_range_t | get_sample_rates (void)=0
virtual double | set_sample_rate (double rate)=0
virtual double | get_sample_rate (void)=0
virtual osmosdr::freq_range_t | get_freq_range (size_t chan=0)=0
virtual double | set_center_freq (double freq, size_t chan=0)=0
virtual double | get_center_freq (size_t chan=0)=0
virtual double | set_freq_corr (double ppm, size_t chan=0)=0
virtual double | get_freq_corr (size_t chan=0)=0
virtual std::vector< std::string > | get_gain_names (size_t chan=0)=0
virtual osmosdr::gain_range_t | get_gain_range (size_t chan=0)=0
virtual osmosdr::gain_range_t | get_gain_range (const std::string &name, size_t chan=0)=0
virtual bool | set_gain_mode (bool automatic, size_t chan=0)=0
virtual bool | get_gain_mode (size_t chan=0)=0
virtual double | set_gain (double gain, size_t chan=0)=0
virtual double | set_gain (double gain, const std::string &name, size_t chan=0)=0
virtual double | get_gain (size_t chan=0)=0
virtual double | get_gain (const std::string &name, size_t chan=0)=0
virtual double | set_if_gain (double gain, size_t chan=0)=0
virtual double | set_bb_gain (double gain, size_t chan=0)=0
virtual std::vector< std::string > | get_antennas (size_t chan=0)=0
virtual std::string | set_antenna (const std::string &antenna, size_t chan=0)=0
virtual std::string | get_antenna (size_t chan=0)=0
virtual void | set_dc_offset (const std::complex< double > &offset, size_t chan=0)=0
virtual void | set_iq_balance (const std::complex< double > &balance, size_t chan=0)=0
virtual double | set_bandwidth (double bandwidth, size_t chan=0)=0
virtual double | get_bandwidth (size_t chan=0)=0
virtual osmosdr::freq_range_t | get_bandwidth_range (size_t chan=0)=0
virtual void | set_time_source (const std::string &source, const size_t mboard=0)=0
virtual std::string | get_time_source (const size_t mboard)=0
virtual std::vector< std::string > | get_time_sources (const size_t mboard)=0
virtual void | set_clock_source (const std::string &source, const size_t mboard=0)=0
virtual std::string | get_clock_source (const size_t mboard)=0
virtual std::vector< std::string > | get_clock_sources (const size_t mboard)=0
virtual double | get_clock_rate (size_t mboard=0)=0
virtual void | set_clock_rate (double rate, size_t mboard=0)=0
virtual ::osmosdr::time_spec_t | get_time_now (size_t mboard=0)=0
virtual ::osmosdr::time_spec_t | get_time_last_pps (size_t mboard=0)=0
virtual void | set_time_now (const ::osmosdr::time_spec_t &time_spec, size_t mboard=0)=0
virtual void | set_time_next_pps (const ::osmosdr::time_spec_t &time_spec)=0
virtual void | set_time_unknown_pps (const ::osmosdr::time_spec_t &time_spec)=0

## Additional Inherited Members

Public Types inherited from osmosdr::sink
typedef boost::shared_ptr< sink > | sptr
Static Public Member Functions inherited from osmosdr::sink
static sptr | make (const std::string &args="")
| Return a shared_ptr to a new instance of sink. More...

## Constructor & Destructor Documentation

## sink_impl()

sink_impl::sink_impl | ( | const std::string & | args | ) |

## Member Function Documentation

## get_antenna()

std::string sink_impl::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 osmosdr::sink.

## get_antennas()

std::vector< std::string > sink_impl::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 osmosdr::sink.

## get_bandwidth()

double sink_impl::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

Implements osmosdr::sink.

## get_bandwidth_range()

osmosdr::freq_range_t sink_impl::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

Implements osmosdr::sink.

## get_center_freq()

double sink_impl::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 osmosdr::sink.

## get_clock_rate()

double sink_impl::get_clock_rate | ( | size_t | mboard = `0` | ) |

virtual

Get the master clock rate.

Parameters

  mboard | the motherboard index 0 to M-1

Returns
  the clock rate in Hz

Implements osmosdr::sink.

## get_clock_source()

std::string sink_impl::get_clock_source | ( | const 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

Implements osmosdr::sink.

## get_clock_sources()

std::vector< std::string > sink_impl::get_clock_sources | ( | const 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

Implements osmosdr::sink.

## get_freq_corr()

double sink_impl::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 osmosdr::sink.

## get_freq_range()

osmosdr::freq_range_t sink_impl::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 osmosdr::sink.

## get_gain() [1/2]

double sink_impl::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 osmosdr::sink.

## get_gain() [2/2]

double sink_impl::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 osmosdr::sink.

## get_gain_mode()

bool sink_impl::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)

Implements osmosdr::sink.

## get_gain_names()

std::vector< std::string > sink_impl::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 osmosdr::sink.

## get_gain_range() [1/2]

osmosdr::gain_range_t sink_impl::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 osmosdr::sink.

## get_gain_range() [2/2]

osmosdr::gain_range_t sink_impl::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 osmosdr::sink.

## get_num_channels()

size_t sink_impl::get_num_channels | ( | void |  | ) |

virtual

Get the number of channels the underlying radio hardware offers.

Returns
  the number of available channels

Implements osmosdr::sink.

## get_sample_rate()

double sink_impl::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 osmosdr::sink.

## get_sample_rates()

osmosdr::meta_range_t sink_impl::get_sample_rates | ( | void |  | ) |

virtual

Get the possible sample rates for the underlying radio hardware.

Returns
  a range of rates in Sps

Implements osmosdr::sink.

## get_time_last_pps()

::osmosdr::time_spec_t sink_impl::get_time_last_pps | ( | size_t | mboard = `0` | ) |

virtual

Get the time when the last pps pulse occured.

Parameters

  mboard | the motherboard index 0 to M-1

Returns
  the current device time

Implements osmosdr::sink.

## get_time_now()

::osmosdr::time_spec_t sink_impl::get_time_now | ( | size_t | mboard = `0` | ) |

virtual

Get the current time registers.

Parameters

  mboard | the motherboard index 0 to M-1

Returns
  the current device time

Implements osmosdr::sink.

## get_time_source()

std::string sink_impl::get_time_source | ( | const size_t | mboard | ) |

virtual

Get the currently set time source.

Parameters

  mboard | which motherboard to get the config

Returns
  the string representing the time source

Implements osmosdr::sink.

## get_time_sources()

std::vector< std::string > sink_impl::get_time_sources | ( | const size_t | mboard | ) |

virtual

Get a list of possible time sources.

Parameters

  mboard | which motherboard to get the list

Returns
  a vector of strings for possible settings

Implements osmosdr::sink.

## set_antenna()

std::string sink_impl::set_antenna | ( | const std::string & | antenna,
|  | size_t | chan = `0`
| ) |  |

virtual

Select the active antenna of the underlying radio hardware.

Parameters

  antenna | name of the antenna to be selected
  chan | the channel index 0 to N-1

Returns
  the actual antenna's name

Implements osmosdr::sink.

## set_bandwidth()

double sink_impl::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

Implements osmosdr::sink.

## set_bb_gain()

double sink_impl::set_bb_gain | ( | double | gain,
|  | size_t | chan = `0`
| ) |  |

virtual

Set the BB gain for the underlying radio hardware. This function will automatically distribute the desired gain value over available BB 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 osmosdr::sink.

## set_center_freq()

double sink_impl::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 osmosdr::sink.

## set_clock_rate()

void sink_impl::set_clock_rate | ( | double | rate,
|  | size_t | mboard = `0`
| ) |  |

virtual

Set the master clock rate.

Parameters

  rate | the new rate in Hz
  mboard | the motherboard index 0 to M-1

Implements osmosdr::sink.

## set_clock_source()

void sink_impl::set_clock_source | ( | const std::string & | source,
|  | const 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

Implements osmosdr::sink.

## set_dc_offset()

void sink_impl::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

  offset | the dc offset (1.0 is full-scale)
  chan | the channel index 0 to N-1

Implements osmosdr::sink.

## set_freq_corr()

double sink_impl::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 osmosdr::sink.

## set_gain() [1/2]

double sink_impl::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 osmosdr::sink.

## set_gain() [2/2]

double sink_impl::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 osmosdr::sink.

## set_gain_mode()

bool sink_impl::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

Implements osmosdr::sink.

## set_if_gain()

double sink_impl::set_if_gain | ( | double | gain,
|  | size_t | chan = `0`
| ) |  |

virtual

Set the IF gain for the underlying radio hardware. This function will automatically distribute the desired gain value over available IF 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 osmosdr::sink.

## set_iq_balance()

void sink_impl::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

  balance | the complex correction value
  chan | the channel index 0 to N-1

Implements osmosdr::sink.

## set_sample_rate()

double sink_impl::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 osmosdr::sink.

## set_time_next_pps()

void sink_impl::set_time_next_pps | ( | const ::osmosdr::time_spec_t & | time_spec | ) |

virtual

Set the time registers at the next pps.

Parameters

  time_spec | the new time

Implements osmosdr::sink.

## set_time_now()

void sink_impl::set_time_now | ( | const ::osmosdr::time_spec_t & | time_spec,
|  | size_t | mboard = `0`
| ) |  |

virtual

Sets the time registers immediately.

Parameters

  time_spec | the new time
  mboard | the motherboard index 0 to M-1

Implements osmosdr::sink.

## set_time_source()

void sink_impl::set_time_source | ( | const std::string & | source,
|  | const size_t | mboard = `0`
| ) |  |

virtual

Set the time source for the device. This sets the method of time synchronization, typically a pulse per second or an encoded time. Typical options for source: external, MIMO.

Parameters

  source | a string representing the time source
  mboard | which motherboard to set the config

Implements osmosdr::sink.

## set_time_unknown_pps()

void sink_impl::set_time_unknown_pps | ( | const ::osmosdr::time_spec_t & | time_spec | ) |

virtual

Sync the time registers with an unknown pps edge.

Parameters

  time_spec | the new time

Implements osmosdr::sink.

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

- sink_impl.h