soapy_source_c
gr::sync_block
source_iface
soapy_source_c.h
SoapySDR::Device * SoapySDR::Device* soapy_source_c::_device _device soapy_source_c::_device
SoapySDR::Stream * SoapySDR::Stream* soapy_source_c::_stream _stream soapy_source_c::_stream
size_t size_t soapy_source_c::_nchan _nchan soapy_source_c::_nchan
soapy_source_c_sptr soapy_source_c_sptr make_soapy_source_c (const std::string &args) make_soapy_source_c soapy_source_c::make_soapy_source_c const std::string & args

Return a shared_ptr to a new instance of soapy_source_c.

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

soapy_source_c::soapy_source_c
(const std::string &args)
soapy_source_c
soapy_source_c::soapy_source_c
const std::string & args
soapy_source_c::~soapy_source_c
(void)
~soapy_source_c
soapy_source_c::~soapy_source_c
void
bool bool soapy_source_c::start () start soapy_source_c::start
bool bool soapy_source_c::stop () stop soapy_source_c::stop
int int soapy_source_c::work (int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) work soapy_source_c::work int noutput_items gr_vector_const_void_star & input_items gr_vector_void_star & output_items
size_t size_t soapy_source_c::get_num_channels (void) get_num_channels soapy_source_c::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 osmosdr::meta_range_t soapy_source_c::get_sample_rates (void) get_sample_rates soapy_source_c::get_sample_rates get_sample_rates void

Get the possible sample rates for the underlying radio hardware.

a range of rates in Sps

double double soapy_source_c::set_sample_rate (double rate) set_sample_rate soapy_source_c::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 double soapy_source_c::get_sample_rate (void) get_sample_rate soapy_source_c::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 osmosdr::freq_range_t soapy_source_c::get_freq_range (size_t chan) get_freq_range soapy_source_c::get_freq_range get_freq_range size_t chan

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

the channel index 0 to N-1

the frequency range in Hz

double double soapy_source_c::set_center_freq (double freq, size_t chan) set_center_freq soapy_source_c::set_center_freq set_center_freq double freq size_t chan

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 double soapy_source_c::get_center_freq (size_t chan) get_center_freq soapy_source_c::get_center_freq get_center_freq size_t chan

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 double soapy_source_c::set_freq_corr (double ppm, size_t chan) set_freq_corr soapy_source_c::set_freq_corr set_freq_corr double ppm size_t chan

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 double soapy_source_c::get_freq_corr (size_t chan) get_freq_corr soapy_source_c::get_freq_corr get_freq_corr size_t chan

Get the frequency correction value. chan

the channel index 0 to N-1

correction value in parts per million

std::vector< std::string > std::vector< std::string > soapy_source_c::get_gain_names (size_t chan) get_gain_names soapy_source_c::get_gain_names get_gain_names size_t chan

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 osmosdr::gain_range_t soapy_source_c::get_gain_range (size_t chan) get_gain_range soapy_source_c::get_gain_range get_gain_range size_t chan

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 osmosdr::gain_range_t soapy_source_c::get_gain_range (const std::string &name, size_t chan) get_gain_range soapy_source_c::get_gain_range get_gain_range const std::string & name size_t chan

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 bool soapy_source_c::set_gain_mode (bool automatic, size_t chan) set_gain_mode soapy_source_c::set_gain_mode set_gain_mode bool automatic size_t chan

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 bool soapy_source_c::get_gain_mode (size_t chan) get_gain_mode soapy_source_c::get_gain_mode get_gain_mode size_t chan

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 double soapy_source_c::set_gain (double gain, size_t chan) set_gain soapy_source_c::set_gain set_gain double gain size_t chan

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 double soapy_source_c::set_gain (double gain, const std::string &name, size_t chan) set_gain soapy_source_c::set_gain set_gain double gain const std::string & name size_t chan

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 double soapy_source_c::get_gain (size_t chan) get_gain soapy_source_c::get_gain get_gain size_t chan

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

the channel index 0 to N-1

the actual gain in dB

double double soapy_source_c::get_gain (const std::string &name, size_t chan) get_gain soapy_source_c::get_gain get_gain const std::string & name size_t chan

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 double soapy_source_c::set_if_gain (double gain, size_t chan) set_if_gain soapy_source_c::set_if_gain set_if_gain double gain size_t chan

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 double soapy_source_c::set_bb_gain (double gain, size_t chan) set_bb_gain soapy_source_c::set_bb_gain set_bb_gain double gain size_t chan

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 > std::vector< std::string > soapy_source_c::get_antennas (size_t chan) get_antennas soapy_source_c::get_antennas get_antennas size_t chan

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 std::string soapy_source_c::set_antenna (const std::string &antenna, size_t chan) set_antenna soapy_source_c::set_antenna set_antenna const std::string & antenna size_t chan

Select the active antenna of the underlying radio hardware. chan

the channel index 0 to N-1

the actual antenna's name

std::string std::string soapy_source_c::get_antenna (size_t chan) get_antenna soapy_source_c::get_antenna get_antenna size_t chan

Get the actual underlying radio hardware antenna setting. chan

the channel index 0 to N-1

the actual antenna's name

void void soapy_source_c::set_dc_offset_mode (int mode, size_t chan) set_dc_offset_mode soapy_source_c::set_dc_offset_mode set_dc_offset_mode int mode size_t chan

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.

mode

dc offset correction mode: 0 = Off, 1 = Manual, 2 = Automatic

chan

the channel index 0 to N-1

void void soapy_source_c::set_dc_offset (const std::complex< double > &offset, size_t chan) set_dc_offset soapy_source_c::set_dc_offset set_dc_offset const std::complex< double > & offset size_t chan

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

offset

the dc offset (1.0 is full-scale)

chan

the channel index 0 to N-1

void void soapy_source_c::set_iq_balance_mode (int mode, size_t chan) set_iq_balance_mode soapy_source_c::set_iq_balance_mode set_iq_balance_mode int mode size_t chan

Set the RX frontend IQ balance mode.

mode

iq balance correction mode: 0 = Off, 1 = Manual, 2 = Automatic

chan

the channel index 0 to N-1

void void soapy_source_c::set_iq_balance (const std::complex< double > &balance, size_t chan) set_iq_balance soapy_source_c::set_iq_balance set_iq_balance const std::complex< double > & balance size_t chan

Set the RX 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 double soapy_source_c::set_bandwidth (double bandwidth, size_t chan) set_bandwidth soapy_source_c::set_bandwidth set_bandwidth double bandwidth size_t chan

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 double soapy_source_c::get_bandwidth (size_t chan) get_bandwidth soapy_source_c::get_bandwidth get_bandwidth size_t chan

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 osmosdr::freq_range_t soapy_source_c::get_bandwidth_range (size_t chan) get_bandwidth_range soapy_source_c::get_bandwidth_range get_bandwidth_range size_t chan

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 void soapy_source_c::set_time_source (const std::string &source, const size_t mboard) set_time_source soapy_source_c::set_time_source set_time_source const std::string & source const size_t mboard

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 std::string soapy_source_c::get_time_source (const size_t mboard) get_time_source soapy_source_c::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 > std::vector< std::string > soapy_source_c::get_time_sources (const size_t mboard) get_time_sources soapy_source_c::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 void soapy_source_c::set_clock_source (const std::string &source, const size_t mboard) set_clock_source soapy_source_c::set_clock_source set_clock_source const std::string & source const size_t mboard

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 std::string soapy_source_c::get_clock_source (const size_t mboard) get_clock_source soapy_source_c::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 > std::vector< std::string > soapy_source_c::get_clock_sources (const size_t mboard) get_clock_sources soapy_source_c::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 double soapy_source_c::get_clock_rate (size_t mboard) get_clock_rate soapy_source_c::get_clock_rate get_clock_rate size_t mboard

Get the master clock rate. mboard

the motherboard index 0 to M-1

the clock rate in Hz

void void soapy_source_c::set_clock_rate (double rate, size_t mboard) set_clock_rate soapy_source_c::set_clock_rate set_clock_rate double rate size_t mboard

Set the master clock rate. rate

the new rate in Hz

mboard

the motherboard index 0 to M-1

::osmosdr::time_spec_t ::osmosdr::time_spec_t soapy_source_c::get_time_now (size_t mboard) get_time_now soapy_source_c::get_time_now size_t mboard
::osmosdr::time_spec_t ::osmosdr::time_spec_t soapy_source_c::get_time_last_pps (size_t mboard) get_time_last_pps soapy_source_c::get_time_last_pps size_t mboard
void void soapy_source_c::set_time_now (const ::osmosdr::time_spec_t &time_spec, size_t mboard) set_time_now soapy_source_c::set_time_now set_time_now const ::osmosdr::time_spec_t & time_spec size_t mboard

Sets the time registers immediately. time_spec

the new time

mboard

the motherboard index 0 to M-1

void void soapy_source_c::set_time_next_pps (const ::osmosdr::time_spec_t &time_spec) set_time_next_pps soapy_source_c::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 void soapy_source_c::set_time_unknown_pps (const ::osmosdr::time_spec_t &time_spec) set_time_unknown_pps soapy_source_c::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

std::vector< std::string > static std::vector< std::string > soapy_source_c::get_devices () get_devices soapy_source_c::get_devices
gr::sync_block
soapy_source_c
source_iface
gr::sync_block
soapy_source_c
source_iface
- soapy_source_c
  _device
- soapy_source_c
  _nchan
- soapy_source_c
  _stream
- soapy_source_c
  get_antenna
- soapy_source_c
  get_antennas
- soapy_source_c
  get_bandwidth
- soapy_source_c
  get_bandwidth_range
- soapy_source_c
  get_center_freq
- soapy_source_c
  get_clock_rate
- soapy_source_c
  get_clock_source
- soapy_source_c
  get_clock_sources
- soapy_source_c
  get_devices
- soapy_source_c
  get_freq_corr
- soapy_source_c
  get_freq_range
- soapy_source_c
  get_gain
- soapy_source_c
  get_gain
- soapy_source_c
  get_gain_mode
- soapy_source_c
  get_gain_names
- soapy_source_c
  get_gain_range
- soapy_source_c
  get_gain_range
- soapy_source_c
  get_num_channels
- soapy_source_c
  get_sample_rate
- soapy_source_c
  get_sample_rates
- soapy_source_c
  get_time_last_pps
- soapy_source_c
  get_time_now
- soapy_source_c
  get_time_source
- soapy_source_c
  get_time_sources
- soapy_source_c
  make_soapy_source_c
- soapy_source_c
  seek
- soapy_source_c
  set_antenna
- soapy_source_c
  set_bandwidth
- soapy_source_c
  set_bb_gain
- soapy_source_c
  set_center_freq
- soapy_source_c
  set_clock_rate
- soapy_source_c
  set_clock_source
- soapy_source_c
  set_dc_offset
- soapy_source_c
  set_dc_offset_mode
- soapy_source_c
  set_freq_corr
- soapy_source_c
  set_gain
- soapy_source_c
  set_gain
- soapy_source_c
  set_gain_mode
- soapy_source_c
  set_if_gain
- soapy_source_c
  set_iq_balance
- soapy_source_c
  set_iq_balance_mode
- soapy_source_c
  set_sample_rate
- soapy_source_c
  set_time_next_pps
- soapy_source_c
  set_time_now
- soapy_source_c
  set_time_source
- soapy_source_c
  set_time_unknown_pps
- soapy_source_c
  soapy_source_c
- soapy_source_c
  start
- soapy_source_c
  stop
- soapy_source_c
  work
- soapy_source_c
  ~soapy_source_c