osmosdr::sink
gr::hier_block2
sink_impl
sink.h
boost::shared_ptr< sink > typedef boost::shared_ptr< sink > osmosdr::sink::sptr sptr osmosdr::sink::sptr
sptr static sptr osmosdr::sink::make (const std::string &args="") make osmosdr::sink::make const std::string & args ""

Return a shared_ptr to a new instance of sink.

To avoid accidental use of raw pointers, sink's constructor is private. osmosdr::sink::make is the public interface for creating new instances.

args

the address to identify the hardware

a new osmosdr sink block object

size_t virtual size_t osmosdr::sink::get_num_channels (void)=0 get_num_channels osmosdr::sink::get_num_channels get_num_channels void

Get the number of channels the underlying radio hardware offers.

the number of available channels

osmosdr::meta_range_t virtual osmosdr::meta_range_t osmosdr::sink::get_sample_rates (void)=0 get_sample_rates osmosdr::sink::get_sample_rates get_sample_rates void

Get the possible sample rates for the underlying radio hardware.

a range of rates in Sps

double virtual double osmosdr::sink::set_sample_rate (double rate)=0 set_sample_rate osmosdr::sink::set_sample_rate set_sample_rate double rate

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

a new rate in Sps

double virtual double osmosdr::sink::get_sample_rate (void)=0 get_sample_rate osmosdr::sink::get_sample_rate get_sample_rate void

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

the actual rate in Sps

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

Get the tunable frequency range for the underlying radio hardware. chan

the channel index 0 to N-1

the frequency range in Hz

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

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

the desired frequency in Hz

chan

the channel index 0 to N-1

the actual frequency in Hz

double virtual double osmosdr::sink::get_center_freq (size_t chan=0)=0 get_center_freq osmosdr::sink::get_center_freq get_center_freq size_t chan 0

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

the channel index 0 to N-1

the frequency in Hz

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

Set the frequency correction value in parts per million. ppm

the desired correction value in parts per million

chan

the channel index 0 to N-1

correction value in parts per million

double virtual double osmosdr::sink::get_freq_corr (size_t chan=0)=0 get_freq_corr osmosdr::sink::get_freq_corr get_freq_corr size_t chan 0

Get the frequency correction value. chan

the channel index 0 to N-1

correction value in parts per million

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

Get the gain stage names of the underlying radio hardware. chan

the channel index 0 to N-1

a vector of strings containing the names of gain stages

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

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

the channel index 0 to N-1

the gain range in dB

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

Get the settable gain range for a specific gain stage. name

the name of the gain stage

chan

the channel index 0 to N-1

the gain range in dB

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

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

the gain mode (true means automatic gain mode)

chan

the channel index 0 to N-1

the actual gain mode

bool virtual bool osmosdr::sink::get_gain_mode (size_t chan=0)=0 get_gain_mode osmosdr::sink::get_gain_mode get_gain_mode size_t chan 0

Get the gain mode selected for the underlying radio hardware. chan

the channel index 0 to N-1

the actual gain mode (true means automatic gain mode)

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

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

the gain in dB

chan

the channel index 0 to N-1

the actual gain in dB

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

Set the named gain on the underlying radio hardware. gain

the gain in dB

name

the name of the gain stage

chan

the channel index 0 to N-1

the actual gain in dB

double virtual double osmosdr::sink::get_gain (size_t chan=0)=0 get_gain osmosdr::sink::get_gain get_gain size_t chan 0

Get the actual gain setting of the underlying radio hardware. chan

the channel index 0 to N-1

the actual gain in dB

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

Get the actual gain setting of a named stage. name

the name of the gain stage

chan

the channel index 0 to N-1

the actual gain in dB

double virtual double osmosdr::sink::set_if_gain (double gain, size_t chan=0)=0 set_if_gain osmosdr::sink::set_if_gain set_if_gain double gain size_t chan 0

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

the gain in dB

chan

the channel index 0 to N-1

the actual gain in dB

double virtual double osmosdr::sink::set_bb_gain (double gain, size_t chan=0)=0 set_bb_gain osmosdr::sink::set_bb_gain set_bb_gain double gain size_t chan 0

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

the gain in dB

chan

the channel index 0 to N-1

the actual gain in dB

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

Get the available antennas of the underlying radio hardware. chan

the channel index 0 to N-1

a vector of strings containing the names of available antennas

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

Select the active antenna of the underlying radio hardware. antenna

name of the antenna to be selected

chan

the channel index 0 to N-1

the actual antenna's name

std::string virtual std::string osmosdr::sink::get_antenna (size_t chan=0)=0 get_antenna osmosdr::sink::get_antenna get_antenna size_t chan 0

Get the actual underlying radio hardware antenna setting. chan

the channel index 0 to N-1

the actual antenna's name

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

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

offset

the dc offset (1.0 is full-scale)

chan

the channel index 0 to N-1

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

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

balance

the complex correction value

chan

the channel index 0 to N-1

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

Set the bandpass filter on the radio frontend. bandwidth

the filter bandwidth in Hz, set to 0 for automatic selection

chan

the channel index 0 to N-1

the actual filter bandwidth in Hz

double virtual double osmosdr::sink::get_bandwidth (size_t chan=0)=0 get_bandwidth osmosdr::sink::get_bandwidth get_bandwidth size_t chan 0

Get the actual bandpass filter setting on the radio frontend. chan

the channel index 0 to N-1

the actual filter bandwidth in Hz

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

Get the possible bandpass filter settings on the radio frontend. chan

the channel index 0 to N-1

a range of bandwidths in Hz

void virtual void osmosdr::sink::set_time_source (const std::string &source, const size_t mboard=0)=0 set_time_source osmosdr::sink::set_time_source set_time_source const std::string & source const size_t mboard 0

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

a string representing the time source

mboard

which motherboard to set the config

std::string virtual std::string osmosdr::sink::get_time_source (const size_t mboard)=0 get_time_source osmosdr::sink::get_time_source get_time_source const size_t mboard

Get the currently set time source. mboard

which motherboard to get the config

the string representing the time source

std::vector< std::string > virtual std::vector< std::string > osmosdr::sink::get_time_sources (const size_t mboard)=0 get_time_sources osmosdr::sink::get_time_sources get_time_sources const size_t mboard

Get a list of possible time sources. mboard

which motherboard to get the list

a vector of strings for possible settings

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

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

a string representing the clock source

mboard

which motherboard to set the config

std::string virtual std::string osmosdr::sink::get_clock_source (const size_t mboard)=0 get_clock_source osmosdr::sink::get_clock_source get_clock_source const size_t mboard

Get the currently set clock source. mboard

which motherboard to get the config

the string representing the clock source

std::vector< std::string > virtual std::vector< std::string > osmosdr::sink::get_clock_sources (const size_t mboard)=0 get_clock_sources osmosdr::sink::get_clock_sources get_clock_sources const size_t mboard

Get a list of possible clock sources. mboard

which motherboard to get the list

a vector of strings for possible settings

double virtual double osmosdr::sink::get_clock_rate (size_t mboard=0)=0 get_clock_rate osmosdr::sink::get_clock_rate get_clock_rate size_t mboard 0

Get the master clock rate. mboard

the motherboard index 0 to M-1

the clock rate in Hz

void virtual void osmosdr::sink::set_clock_rate (double rate, size_t mboard=0)=0 set_clock_rate osmosdr::sink::set_clock_rate set_clock_rate double rate size_t mboard 0

Set the master clock rate. rate

the new rate in Hz

mboard

the motherboard index 0 to M-1

::osmosdr::time_spec_t virtual ::osmosdr::time_spec_t osmosdr::sink::get_time_now (size_t mboard=0)=0 get_time_now osmosdr::sink::get_time_now get_time_now size_t mboard 0

Get the current time registers. mboard

the motherboard index 0 to M-1

the current device time

::osmosdr::time_spec_t virtual ::osmosdr::time_spec_t osmosdr::sink::get_time_last_pps (size_t mboard=0)=0 get_time_last_pps osmosdr::sink::get_time_last_pps get_time_last_pps size_t mboard 0

Get the time when the last pps pulse occured. mboard

the motherboard index 0 to M-1

the current device time

void virtual void osmosdr::sink::set_time_now (const ::osmosdr::time_spec_t &time_spec, size_t mboard=0)=0 set_time_now osmosdr::sink::set_time_now set_time_now const ::osmosdr::time_spec_t & time_spec size_t mboard 0

Sets the time registers immediately. time_spec

the new time

mboard

the motherboard index 0 to M-1

void virtual void osmosdr::sink::set_time_next_pps (const ::osmosdr::time_spec_t &time_spec)=0 set_time_next_pps osmosdr::sink::set_time_next_pps set_time_next_pps const ::osmosdr::time_spec_t & time_spec

Set the time registers at the next pps. time_spec

the new time

void virtual void osmosdr::sink::set_time_unknown_pps (const ::osmosdr::time_spec_t &time_spec)=0 set_time_unknown_pps osmosdr::sink::set_time_unknown_pps set_time_unknown_pps const ::osmosdr::time_spec_t & time_spec

Sync the time registers with an unknown pps edge. time_spec

the new time

Takes a stream of complex samples.

This uses the preferred technique: subclassing gr::hier_block2.

gr::hier_block2
osmosdr::sink
sink_impl
gr::hier_block2
osmosdr::sink
- osmosdr::sink
  get_antenna
- osmosdr::sink
  get_antennas
- osmosdr::sink
  get_bandwidth
- osmosdr::sink
  get_bandwidth_range
- osmosdr::sink
  get_center_freq
- osmosdr::sink
  get_clock_rate
- osmosdr::sink
  get_clock_source
- osmosdr::sink
  get_clock_sources
- osmosdr::sink
  get_freq_corr
- osmosdr::sink
  get_freq_range
- osmosdr::sink
  get_gain
- osmosdr::sink
  get_gain
- osmosdr::sink
  get_gain_mode
- osmosdr::sink
  get_gain_names
- osmosdr::sink
  get_gain_range
- osmosdr::sink
  get_gain_range
- osmosdr::sink
  get_num_channels
- osmosdr::sink
  get_sample_rate
- osmosdr::sink
  get_sample_rates
- osmosdr::sink
  get_time_last_pps
- osmosdr::sink
  get_time_now
- osmosdr::sink
  get_time_source
- osmosdr::sink
  get_time_sources
- osmosdr::sink
  make
- osmosdr::sink
  set_antenna
- osmosdr::sink
  set_bandwidth
- osmosdr::sink
  set_bb_gain
- osmosdr::sink
  set_center_freq
- osmosdr::sink
  set_clock_rate
- osmosdr::sink
  set_clock_source
- osmosdr::sink
  set_dc_offset
- osmosdr::sink
  set_freq_corr
- osmosdr::sink
  set_gain
- osmosdr::sink
  set_gain
- osmosdr::sink
  set_gain_mode
- osmosdr::sink
  set_if_gain
- osmosdr::sink
  set_iq_balance
- osmosdr::sink
  set_sample_rate
- osmosdr::sink
  set_time_next_pps
- osmosdr::sink
  set_time_now
- osmosdr::sink
  set_time_source
- osmosdr::sink
  set_time_unknown_pps
- osmosdr::sink
  sptr