GNU Radio's TEST Package
source_iface Class Referenceabstract

#include <source_iface.h>

Inheritance diagram for source_iface:
airspy_source_c airspyhf_source_c bladerf_source_c fcd_source_c file_source_c freesrp_source_c hackrf_source_c miri_source_c osmosdr_src_c redpitaya_source_c rfspace_source_c rtl_source_c rtl_tcp_source_c sdrplay_source_c soapy_source_c uhd_source_c

Public Member Functions

virtual size_t get_num_channels (void)=0
 
virtual bool seek (long seek_point, int whence, size_t chan=0)
 seek file to seek_point relative to whence More...
 
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)
 
virtual bool get_gain_mode (size_t chan=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)
 
virtual double set_bb_gain (double gain, size_t chan=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_mode (int mode, size_t chan=0)
 
virtual void set_dc_offset (const std::complex< double > &offset, size_t chan=0)
 
virtual void set_iq_balance_mode (int mode, size_t chan=0)
 
virtual void set_iq_balance (const std::complex< double > &balance, size_t chan=0)
 
virtual double set_bandwidth (double bandwidth, size_t chan=0)
 
virtual double get_bandwidth (size_t chan=0)
 
virtual osmosdr::freq_range_t get_bandwidth_range (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)
 

Detailed Description

TODO: document

Member Function Documentation

◆ get_antenna()

virtual std::string source_iface::get_antenna ( size_t  chan = 0)
pure virtual

Get the actual underlying radio hardware antenna setting.

Parameters
chanthe channel index 0 to N-1
Returns
the actual antenna's name

Implemented in uhd_source_c, sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, redpitaya_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, file_source_c, fcd_source_c, bladerf_source_c, airspyhf_source_c, airspy_source_c, and soapy_source_c.

◆ get_antennas()

virtual std::vector< std::string > source_iface::get_antennas ( size_t  chan = 0)
pure virtual

Get the available antennas of the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
a vector of strings containing the names of available antennas

Implemented in uhd_source_c, sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, redpitaya_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, file_source_c, fcd_source_c, bladerf_source_c, airspyhf_source_c, airspy_source_c, and soapy_source_c.

◆ get_bandwidth()

virtual double source_iface::get_bandwidth ( size_t  chan = 0)
inlinevirtual

Get the actual bandpass filter setting on the radio frontend.

Parameters
chanthe channel index 0 to N-1
Returns
the actual filter bandwidth in Hz

Reimplemented in uhd_source_c, sdrplay_source_c, rfspace_source_c, hackrf_source_c, freesrp_source_c, bladerf_source_c, airspy_source_c, and soapy_source_c.

◆ get_bandwidth_range()

virtual osmosdr::freq_range_t source_iface::get_bandwidth_range ( size_t  chan = 0)
inlinevirtual

Get the possible bandpass filter settings on the radio frontend.

Parameters
chanthe channel index 0 to N-1
Returns
a range of bandwidths in Hz

Reimplemented in uhd_source_c, sdrplay_source_c, rfspace_source_c, hackrf_source_c, freesrp_source_c, bladerf_source_c, airspy_source_c, and soapy_source_c.

◆ get_center_freq()

virtual double source_iface::get_center_freq ( size_t  chan = 0)
pure 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
chanthe channel index 0 to N-1
Returns
the frequency in Hz

Implemented in uhd_source_c, sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, redpitaya_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, file_source_c, fcd_source_c, bladerf_source_c, airspyhf_source_c, airspy_source_c, and soapy_source_c.

◆ get_clock_rate()

virtual double source_iface::get_clock_rate ( size_t  mboard = 0)
inlinevirtual

Get the master clock rate.

Parameters
mboardthe motherboard index 0 to M-1
Returns
the clock rate in Hz

Reimplemented in uhd_source_c, and soapy_source_c.

◆ get_clock_source()

virtual std::string source_iface::get_clock_source ( const size_t  mboard)
inlinevirtual

Get the currently set clock source.

Parameters
mboardwhich motherboard to get the config
Returns
the string representing the clock source

Reimplemented in bladerf_source_c, uhd_source_c, and soapy_source_c.

◆ get_clock_sources()

virtual std::vector<std::string> source_iface::get_clock_sources ( const size_t  mboard)
inlinevirtual

Get a list of possible clock sources.

Parameters
mboardwhich motherboard to get the list
Returns
a vector of strings for possible settings

Reimplemented in bladerf_source_c, uhd_source_c, and soapy_source_c.

◆ get_freq_corr()

virtual double source_iface::get_freq_corr ( size_t  chan = 0)
pure virtual

Get the frequency correction value.

Parameters
chanthe channel index 0 to N-1
Returns
correction value in parts per million

Implemented in uhd_source_c, sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, redpitaya_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, file_source_c, fcd_source_c, bladerf_source_c, airspyhf_source_c, airspy_source_c, and soapy_source_c.

◆ get_freq_range()

virtual osmosdr::freq_range_t source_iface::get_freq_range ( size_t  chan = 0)
pure virtual

Get the tunable frequency range for the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
the frequency range in Hz

Implemented in uhd_source_c, sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, redpitaya_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, file_source_c, fcd_source_c, bladerf_source_c, airspyhf_source_c, airspy_source_c, and soapy_source_c.

◆ get_gain() [1/2]

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

Get the actual gain setting of a named stage.

Parameters
namethe name of the gain stage
chanthe channel index 0 to N-1
Returns
the actual gain in dB

Implemented in uhd_source_c, sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, redpitaya_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, file_source_c, fcd_source_c, bladerf_source_c, airspyhf_source_c, airspy_source_c, and soapy_source_c.

◆ get_gain() [2/2]

virtual double source_iface::get_gain ( size_t  chan = 0)
pure virtual

Get the actual gain setting of the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
the actual gain in dB

Implemented in uhd_source_c, sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, redpitaya_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, file_source_c, fcd_source_c, bladerf_source_c, airspyhf_source_c, airspy_source_c, and soapy_source_c.

◆ get_gain_mode()

virtual bool source_iface::get_gain_mode ( size_t  chan = 0)
inlinevirtual

Get the gain mode selected for the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
the actual gain mode (true means automatic gain mode)

Reimplemented in sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, bladerf_source_c, airspy_source_c, and soapy_source_c.

◆ get_gain_names()

virtual std::vector<std::string> source_iface::get_gain_names ( size_t  chan = 0)
pure virtual

Get the gain stage names of the underlying radio hardware.

Parameters
chanthe channel index 0 to N-1
Returns
a vector of strings containing the names of gain stages

Implemented in uhd_source_c, sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, redpitaya_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, file_source_c, fcd_source_c, bladerf_source_c, airspyhf_source_c, airspy_source_c, and soapy_source_c.

◆ get_gain_range() [1/2]

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

Get the settable gain range for a specific gain stage.

Parameters
namethe name of the gain stage
chanthe channel index 0 to N-1
Returns
the gain range in dB

Implemented in uhd_source_c, sdrplay_source_c, rtl_tcp_source_c, rtl_source_c, rfspace_source_c, redpitaya_source_c, osmosdr_src_c, miri_source_c, hackrf_source_c, freesrp_source_c, file_source_c, fcd_source_c, bladerf_source_c, airspyhf_source_c, airspy_source_c, and soapy_source_c.

◆ get_gain_range() [2/2]