freesrp_sink_c Class Reference

`#include <freesrp_sink_c.h>`

Inheritance diagram for freesrp_sink_c:

## Public Member Functions

size_t | get_num_channels (void)
osmosdr::meta_range_t | get_sample_rates (void)
osmosdr::freq_range_t | get_freq_range (size_t chan=0)
osmosdr::freq_range_t | get_bandwidth_range (size_t chan=0)
double | set_freq_corr (double ppm, size_t chan=0)
double | get_freq_corr (size_t chan=0)
bool | start ()
bool | stop ()
int | work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
double | set_sample_rate (double rate)
double | get_sample_rate (void)
double | set_center_freq (double freq, size_t chan=0)
double | get_center_freq (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)
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)
double | set_bandwidth (double bandwidth, size_t chan=0)
double | get_bandwidth (size_t chan=0)
Public Member Functions inherited from sink_iface
virtual | ~sink_iface ()=default
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 void | set_dc_offset (const std::complex< double > &offset, size_t chan=0)
virtual void | set_iq_balance (const std::complex< double > &balance, 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 void | set_clock_source (const std::string &source, const size_t mboard=0)
virtual std::string | get_clock_source (const size_t mboard)
virtual std::vector< std::string > | get_clock_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)
Public Member Functions inherited from freesrp_common
size_t | get_num_channels (void)
osmosdr::meta_range_t | get_sample_rates (void)
osmosdr::freq_range_t | get_freq_range (size_t chan=0)
osmosdr::freq_range_t | get_bandwidth_range (size_t chan=0)
double | set_freq_corr (double ppm, size_t chan=0)
double | get_freq_corr (size_t chan=0)

## Static Public Member Functions

static std::vector< std::string > | get_devices ()
Static Public Member Functions inherited from freesrp_common
static std::vector< std::string > | get_devices ()

## Friends

freesrp_sink_c_sptr | make_freesrp_sink_c (const std::string &args="")
| Return a shared_ptr to a new instance of freesrp_sink_c.

## Additional Inherited Members

Protected Member Functions inherited from freesrp_common
| freesrp_common (const std::string &args)
Protected Attributes inherited from freesrp_common
bool | _ignore_overflow = false
Static Protected Attributes inherited from freesrp_common
static std::shared_ptr<::FreeSRP::FreeSRP > | _srp

## Member Function Documentation

## get_antenna()

std::string freesrp_sink_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 sink_iface.

## get_antennas()

std::vector< std::string > freesrp_sink_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 sink_iface.

## get_bandwidth()

double freesrp_sink_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 sink_iface.

## get_bandwidth_range()

osmosdr::freq_range_t freesrp_sink_c::get_bandwidth_range | ( | size_t | chan = 0 | ) |

inline 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 sink_iface.

References freesrp_common::get_bandwidth_range().

## get_center_freq()

double freesrp_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

  chan | the channel index 0 to N-1

Returns
  the frequency in Hz

Implements sink_iface.

## get_devices()

std::vector< std::string > freesrp_sink_c::get_devices | ( |  | ) |

inline static

References freesrp_common::get_devices().

## get_freq_corr()

double freesrp_sink_c::get_freq_corr | ( | size_t | chan = 0 | ) |

inline virtual

Get the frequency correction value.

Parameters

  chan | the channel index 0 to N-1

Returns
  correction value in parts per million

Implements sink_iface.

References freesrp_common::get_freq_corr().

## get_freq_range()

osmosdr::freq_range_t freesrp_sink_c::get_freq_range | ( | size_t | chan = 0 | ) |

inline 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 sink_iface.

References freesrp_common::get_freq_range().

## get_gain() [1/2]

double freesrp_sink_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 sink_iface.

## get_gain() [2/2]

double freesrp_sink_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 sink_iface.

## get_gain_names()

std::vector< std::string > freesrp_sink_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 sink_iface.

## get_gain_range() [1/2]

osmosdr::gain_range_t freesrp_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

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

Returns
  the gain range in dB

Implements sink_iface.

## get_gain_range() [2/2]

osmosdr::gain_range_t freesrp_sink_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 sink_iface.

## get_num_channels()

size_t freesrp_sink_c::get_num_channels | ( | void |  | ) |

inline virtual

Get the number of channels the underlying radio hardware offers.

Returns
  the number of available channels

Implements sink_iface.

References freesrp_common::get_num_channels().

## get_sample_rate()

double freesrp_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.

## get_sample_rates()

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

inline virtual

Get the possible sample rates for the underlying radio hardware.

Returns
  a range of rates in Sps

Implements sink_iface.

References freesrp_common::get_sample_rates().

## set_antenna()

std::string freesrp_sink_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 sink_iface.

## set_bandwidth()

double freesrp_sink_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 sink_iface.

## set_bb_gain()

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

Reimplemented from sink_iface.

## set_center_freq()

double freesrp_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

  freq | the desired frequency in Hz
  chan | the channel index 0 to N-1

Returns
  the actual frequency in Hz

Implements sink_iface.

## set_freq_corr()

double freesrp_sink_c::set_freq_corr | ( | double | ppm,
|  | size_t | chan = 0 )

inline 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 sink_iface.

References freesrp_common::set_freq_corr().

## set_gain() [1/2]

double freesrp_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

  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 sink_iface.

## set_gain() [2/2]

double freesrp_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

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

Returns
  the actual gain in dB

Implements sink_iface.

## set_sample_rate()

double freesrp_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

  rate | a new rate in Sps

Implements sink_iface.

## start()

bool freesrp_sink_c::start | ( |  | ) |

## stop()

bool freesrp_sink_c::stop | ( |  | ) |

## work()

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

## Friends And Related Symbol Documentation

## make_freesrp_sink_c

freesrp_sink_c_sptr make_freesrp_sink_c | ( | const std::string & | args = "" | ) |

friend

Return a shared_ptr to a new instance of freesrp_sink_c.

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

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

- freesrp_sink_c.h