GNU Radio's TEST Package
|
Provides a stream of complex samples. More...
#include <source.h>
Public Types | |
enum | DCOffsetMode { DCOffsetOff = 0 , DCOffsetManual , DCOffsetAutomatic } |
enum | IQBalanceMode { IQBalanceOff = 0 , IQBalanceManual , IQBalanceAutomatic } |
typedef std::shared_ptr< source > | sptr |
Public Member Functions | |
virtual size_t | get_num_channels (void)=0 |
virtual bool | seek (long seek_point, int whence, size_t chan=0)=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)=0 |
virtual bool | get_gain_mode (size_t chan=0)=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)=0 |
virtual double | set_bb_gain (double gain, size_t chan=0)=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)=0 |
virtual void | set_dc_offset (const std::complex< double > &offset, size_t chan=0)=0 |
virtual void | set_iq_balance_mode (int mode, size_t chan=0)=0 |
virtual void | set_iq_balance (const std::complex< double > &balance, size_t chan=0)=0 |
virtual double | set_bandwidth (double bandwidth, size_t chan=0)=0 |
virtual double | get_bandwidth (size_t chan=0)=0 |
virtual osmosdr::freq_range_t | get_bandwidth_range (size_t chan=0)=0 |
virtual void | set_time_source (const std::string &source, const size_t mboard=0)=0 |
virtual std::string | get_time_source (const size_t mboard)=0 |
virtual std::vector< std::string > | get_time_sources (const size_t mboard)=0 |
virtual void | set_clock_source (const std::string &source, const size_t mboard=0)=0 |
virtual std::string | get_clock_source (const size_t mboard)=0 |
virtual std::vector< std::string > | get_clock_sources (const size_t mboard)=0 |
virtual double | get_clock_rate (size_t mboard=0)=0 |
virtual void | set_clock_rate (double rate, size_t mboard=0)=0 |
virtual ::osmosdr::time_spec_t | get_time_now (size_t mboard=0)=0 |
virtual ::osmosdr::time_spec_t | get_time_last_pps (size_t mboard=0)=0 |
virtual void | set_time_now (const ::osmosdr::time_spec_t &time_spec, size_t mboard=0)=0 |
virtual void | set_time_next_pps (const ::osmosdr::time_spec_t &time_spec)=0 |
virtual void | set_time_unknown_pps (const ::osmosdr::time_spec_t &time_spec)=0 |
Static Public Member Functions | |
static sptr | make (const std::string &args="") |
Return a shared_ptr to a new instance of source. More... | |
Provides a stream of complex samples.
This uses the preferred technique: subclassing gr::hier_block2.
typedef std::shared_ptr< source > osmosdr::source::sptr |
|
pure virtual |
Get the actual underlying radio hardware antenna setting.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
pure virtual |
Get the available antennas of the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
pure virtual |
Get the actual bandpass filter setting on the radio frontend.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
pure virtual |
Get the possible bandpass filter settings on the radio frontend.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
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 source_impl.
|
pure virtual |
Get the master clock rate.
mboard | the motherboard index 0 to M-1 |
Implemented in source_impl.
|
pure virtual |
Get the currently set clock source.
mboard | which motherboard to get the config |
Implemented in source_impl.
|
pure virtual |
Get a list of possible clock sources.
mboard | which motherboard to get the list |
Implemented in source_impl.
|
pure virtual |
Get the frequency correction value.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
pure virtual |
Get the tunable frequency range for the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
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 source_impl.
|
pure virtual |
Get the actual gain setting of the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
pure virtual |
Get the gain mode selected for the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
pure virtual |
Get the gain stage names of the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
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 source_impl.
|
pure virtual |
Get the settable overall gain range for the underlying radio hardware.
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
pure virtual |
Get the number of channels the underlying radio hardware offers.
Implemented in source_impl.
|
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 source_impl.
|
pure virtual |
Get the possible sample rates for the underlying radio hardware.
Implemented in source_impl.
|
pure virtual |
Get the time when the last pps pulse occured.
mboard | the motherboard index 0 to M-1 |
Implemented in source_impl.
|
pure virtual |
Get the current time registers.
mboard | the motherboard index 0 to M-1 |
Implemented in source_impl.
|
pure virtual |
Get the currently set time source.
mboard | which motherboard to get the config |
Implemented in source_impl.
|
pure virtual |
Get a list of possible time sources.
mboard | which motherboard to get the list |
Implemented in source_impl.
|
static |
Return a shared_ptr to a new instance of source.
To avoid accidental use of raw pointers, source's constructor is private. osmosdr::source::make is the public interface for creating new instances.
args | the address to identify the hardware |
|
pure virtual |
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) |
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
pure virtual |
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 |
Implemented in source_impl.
|
pure virtual |
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 |
Implemented in source_impl.
|
pure 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.
gain | the gain in dB |
chan | the channel index 0 to N-1 |
Implemented in source_impl.
|
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 source_impl.
|
pure virtual |
Set the master clock rate.
rate | the new rate in Hz |
mboard | the motherboard index 0 to M-1 |
Implemented in source_impl.
|
pure virtual |
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 |
Implemented in source_impl.
|
pure virtual |
Set the RX frontend 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 |
Implemented in source_impl.
|
pure virtual |
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 |
Implemented in source_impl.
|
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 source_impl.
|
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 source_impl.
|
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 source_impl.
|
pure virtual |
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 |
Implemented in source_impl.
|
pure virtual |
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 |
Implemented in source_impl.
|
pure virtual |
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 |
Implemented in source_impl.
|
pure virtual |
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 |
Implemented in source_impl.
|
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 source_impl.
|
pure virtual |
Set the time registers at the next pps.
time_spec | the new time |
Implemented in source_impl.
|
pure virtual |
Sets the time registers immediately.
time_spec | the new time |
mboard | the motherboard index 0 to M-1 |
Implemented in source_impl.
|
pure virtual |
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 |
Implemented in source_impl.
|
pure virtual |
Sync the time registers with an unknown pps edge.
time_spec | the new time |
Implemented in source_impl.