GNU Radio's OsmoSDR Package
|
#include <source_iface.h>
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) |
TODO: document
|
pure virtual |
Get the actual underlying radio hardware antenna setting.
chan | the channel index 0 to N-1 |
Implemented in airspy_source_c, hackrf_source_c, rfspace_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, rtl_tcp_source_c, file_source_c, and uhd_source_c.
Referenced by set_bb_gain().
|
pure virtual |
Get the available antennas of the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in airspy_source_c, hackrf_source_c, rfspace_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, rtl_tcp_source_c, file_source_c, and uhd_source_c.
Referenced by set_bb_gain().
|
inlinevirtual |
Get the actual bandpass filter setting on the radio frontend.
chan | the channel index 0 to N-1 |
Reimplemented in airspy_source_c, hackrf_source_c, rfspace_source_c, bladerf_source_c, and uhd_source_c.
|
inlinevirtual |
Get the possible bandpass filter settings on the radio frontend.
chan | the channel index 0 to N-1 |
Reimplemented in airspy_source_c, hackrf_source_c, rfspace_source_c, bladerf_source_c, and uhd_source_c.
|
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.
chan | the channel index 0 to N-1 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().
|
pure virtual |
Get the frequency correction value.
chan | the channel index 0 to N-1 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().
|
pure virtual |
Get the tunable frequency range for the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().
|
pure virtual |
Get the actual gain setting of the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by get_gain_mode().
|
pure virtual |
Get the actual gain setting of a named stage.
name | the name of the gain stage |
chan | the channel index 0 to N-1 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
|
inlinevirtual |
Get the gain mode selected for the underlying radio hardware.
chan | the channel index 0 to N-1 |
Reimplemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, and rtl_tcp_source_c.
References get_gain(), and set_gain().
|
pure virtual |
Get the gain stage names of the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().
|
pure virtual |
Get the settable overall gain range for the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().
|
pure virtual |
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 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
|
pure virtual |
Get the number of channels the underlying radio hardware offers.
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
|
pure virtual |
Get the sample rate for the underlying radio hardware. This is the actual sample rate and may differ from the rate set.
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().
|
pure virtual |
Get the possible sample rates for the underlying radio hardware.
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().
|
inlinevirtual |
seek file to seek_point
relative to whence
seek_point | sample offset in file |
whence | one of SEEK_SET, SEEK_CUR, SEEK_END (man fseek) |
Reimplemented in file_source_c.
References get_center_freq(), get_freq_corr(), get_freq_range(), get_gain_names(), get_gain_range(), get_sample_rate(), get_sample_rates(), set_center_freq(), set_freq_corr(), and set_sample_rate().
|
pure virtual |
Select the active antenna of the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in airspy_source_c, hackrf_source_c, rfspace_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, rtl_tcp_source_c, file_source_c, and uhd_source_c.
Referenced by set_bb_gain().
|
inlinevirtual |
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 |
Reimplemented in airspy_source_c, hackrf_source_c, rfspace_source_c, bladerf_source_c, and uhd_source_c.
|
inlinevirtual |
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 |
Reimplemented in hackrf_source_c, and bladerf_source_c.
References get_antenna(), get_antennas(), and set_antenna().
|
pure virtual |
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 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().
|
inlinevirtual |
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 |
Reimplemented in bladerf_source_c, and uhd_source_c.
|
inlinevirtual |
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 |
Reimplemented in bladerf_source_c, and uhd_source_c.
|
pure virtual |
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 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().
|
pure 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.
gain | the gain in dB |
chan | the channel index 0 to N-1 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by get_gain_mode().
|
pure virtual |
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 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
|
inlinevirtual |
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 |
Reimplemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, and rtl_tcp_source_c.
|
inlinevirtual |
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 |
Reimplemented in airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, and rtl_tcp_source_c.
|
inlinevirtual |
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 |
Reimplemented in bladerf_source_c, and uhd_source_c.
|
inlinevirtual |
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 |
Reimplemented in bladerf_source_c, and uhd_source_c.
|
pure virtual |
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 |
Implemented in rfspace_source_c, airspy_source_c, hackrf_source_c, rtl_source_c, osmosdr_src_c, miri_source_c, bladerf_source_c, fcd_source_c, file_source_c, rtl_tcp_source_c, and uhd_source_c.
Referenced by seek().