Takes a stream of complex samples.This uses the preferred technique: subclassing gr::hier_block2.
More...
#include <sink.h>
|
virtual size_t | get_num_channels (void)=0 |
|
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 (const std::complex< double > &offset, 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 |
|
|
static sptr | make (const std::string &args="") |
| Return a shared_ptr to a new instance of sink. More...
|
|
Takes a stream of complex samples.
This uses the preferred technique: subclassing gr::hier_block2.
§ sptr
§ get_antenna()
virtual std::string osmosdr::sink::get_antenna |
( |
size_t |
chan = 0 | ) |
|
|
pure virtual |
Get the actual underlying radio hardware antenna setting.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- the actual antenna's name
Implemented in sink_impl.
§ get_antennas()
virtual std::vector< std::string > osmosdr::sink::get_antennas |
( |
size_t |
chan = 0 | ) |
|
|
pure virtual |
Get the available antennas of the underlying radio hardware.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- a vector of strings containing the names of available antennas
Implemented in sink_impl.
§ get_bandwidth()
virtual double osmosdr::sink::get_bandwidth |
( |
size_t |
chan = 0 | ) |
|
|
pure virtual |
Get the actual bandpass filter setting on the radio frontend.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- the actual filter bandwidth in Hz
Implemented in sink_impl.
§ get_bandwidth_range()
Get the possible bandpass filter settings on the radio frontend.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- a range of bandwidths in Hz
Implemented in sink_impl.
§ get_center_freq()
virtual double osmosdr::sink::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
-
chan | the channel index 0 to N-1 |
- Returns
- the frequency in Hz
Implemented in sink_impl.
§ get_freq_corr()
virtual double osmosdr::sink::get_freq_corr |
( |
size_t |
chan = 0 | ) |
|
|
pure virtual |
Get the frequency correction value.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- correction value in parts per million
Implemented in sink_impl.
§ get_freq_range()
Get the tunable frequency range for the underlying radio hardware.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- the frequency range in Hz
Implemented in sink_impl.
§ get_gain() [1/2]
virtual double osmosdr::sink::get_gain |
( |
size_t |
chan = 0 | ) |
|
|
pure virtual |
Get the actual gain setting of the underlying radio hardware.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- the actual gain in dB
Implemented in sink_impl.
§ get_gain() [2/2]
virtual double osmosdr::sink::get_gain |
( |
const std::string & |
name, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Get the actual gain setting of a named stage.
- Parameters
-
name | the name of the gain stage |
chan | the channel index 0 to N-1 |
- Returns
- the actual gain in dB
Implemented in sink_impl.
§ get_gain_mode()
virtual bool osmosdr::sink::get_gain_mode |
( |
size_t |
chan = 0 | ) |
|
|
pure virtual |
Get the gain mode selected for the underlying radio hardware.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- the actual gain mode (true means automatic gain mode)
Implemented in sink_impl.
§ get_gain_names()
virtual std::vector<std::string> osmosdr::sink::get_gain_names |
( |
size_t |
chan = 0 | ) |
|
|
pure virtual |
Get the gain stage names of the underlying radio hardware.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- a vector of strings containing the names of gain stages
Implemented in sink_impl.
§ get_gain_range() [1/2]
Get the settable overall gain range for the underlying radio hardware.
- Parameters
-
chan | the channel index 0 to N-1 |
- Returns
- the gain range in dB
Implemented in sink_impl.
§ get_gain_range() [2/2]
virtual osmosdr::gain_range_t osmosdr::sink::get_gain_range |
( |
const std::string & |
name, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Get the settable gain range for a specific gain stage.
- Parameters
-
name | the name of the gain stage |
chan | the channel index 0 to N-1 |
- Returns
- the gain range in dB
Implemented in sink_impl.
§ get_num_channels()
virtual size_t osmosdr::sink::get_num_channels |
( |
void |
| ) |
|
|
pure virtual |
Get the number of channels the underlying radio hardware offers.
- Returns
- the number of available channels
Implemented in sink_impl.
§ get_sample_rate()
virtual double osmosdr::sink::get_sample_rate |
( |
void |
| ) |
|
|
pure virtual |
Get the sample rate for the underlying radio hardware. This is the actual sample rate and may differ from the rate set.
- Returns
- the actual rate in Sps
Implemented in sink_impl.
§ get_sample_rates()
Get the possible sample rates for the underlying radio hardware.
- Returns
- a range of rates in Sps
Implemented in sink_impl.
§ make()
static sptr osmosdr::sink::make |
( |
const std::string & |
args = "" | ) |
|
|
static |
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.
- Parameters
-
args | the address to identify the hardware |
- Returns
- a new osmosdr sink block object
§ set_antenna()
virtual std::string osmosdr::sink::set_antenna |
( |
const std::string & |
antenna, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Select the active antenna of the underlying radio hardware.
- Parameters
-
antenna | name of the antenna to be selected |
chan | the channel index 0 to N-1 |
- Returns
- the actual antenna's name
Implemented in sink_impl.
§ set_bandwidth()
virtual double osmosdr::sink::set_bandwidth |
( |
double |
bandwidth, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Set the bandpass filter on the radio frontend.
- Parameters
-
bandwidth | the filter bandwidth in Hz, set to 0 for automatic selection |
chan | the channel index 0 to N-1 |
- Returns
- the actual filter bandwidth in Hz
Implemented in sink_impl.
§ set_bb_gain()
virtual double osmosdr::sink::set_bb_gain |
( |
double |
gain, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
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.
- Parameters
-
gain | the gain in dB |
chan | the channel index 0 to N-1 |
- Returns
- the actual gain in dB
Implemented in sink_impl.
§ set_center_freq()
virtual double osmosdr::sink::set_center_freq |
( |
double |
freq, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Tune the underlying radio hardware to the desired center frequency. This also will select the appropriate RF bandpass.
- Parameters
-
freq | the desired frequency in Hz |
chan | the channel index 0 to N-1 |
- Returns
- the actual frequency in Hz
Implemented in sink_impl.
§ set_dc_offset()
virtual void osmosdr::sink::set_dc_offset |
( |
const std::complex< double > & |
offset, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Set the TX frontend DC offset value. The value is complex to control both I and Q.
- Parameters
-
offset | the dc offset (1.0 is full-scale) |
chan | the channel index 0 to N-1 |
Implemented in sink_impl.
§ set_freq_corr()
virtual double osmosdr::sink::set_freq_corr |
( |
double |
ppm, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Set the frequency correction value in parts per million.
- Parameters
-
ppm | the desired correction value in parts per million |
chan | the channel index 0 to N-1 |
- Returns
- correction value in parts per million
Implemented in sink_impl.
§ set_gain() [1/2]
virtual double osmosdr::sink::set_gain |
( |
double |
gain, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
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.
- Parameters
-
gain | the gain in dB |
chan | the channel index 0 to N-1 |
- Returns
- the actual gain in dB
Implemented in sink_impl.
§ set_gain() [2/2]
virtual double osmosdr::sink::set_gain |
( |
double |
gain, |
|
|
const std::string & |
name, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Set the named gain on the underlying radio hardware.
- Parameters
-
gain | the gain in dB |
name | the name of the gain stage |
chan | the channel index 0 to N-1 |
- Returns
- the actual gain in dB
Implemented in sink_impl.
§ set_gain_mode()
virtual bool osmosdr::sink::set_gain_mode |
( |
bool |
automatic, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Set the gain mode for the underlying radio hardware. This might be supported only for certain hardware types.
- Parameters
-
automatic | the gain mode (true means automatic gain mode) |
chan | the channel index 0 to N-1 |
- Returns
- the actual gain mode
Implemented in sink_impl.
§ set_if_gain()
virtual double osmosdr::sink::set_if_gain |
( |
double |
gain, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
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.
- Parameters
-
gain | the gain in dB |
chan | the channel index 0 to N-1 |
- Returns
- the actual gain in dB
Implemented in sink_impl.
§ set_iq_balance()
virtual void osmosdr::sink::set_iq_balance |
( |
const std::complex< double > & |
balance, |
|
|
size_t |
chan = 0 |
|
) |
| |
|
pure virtual |
Set the TX frontend IQ balance correction. Use this to adjust the magnitude and phase of I and Q.
- Parameters
-
balance | the complex correction value |
chan | the channel index 0 to N-1 |
Implemented in sink_impl.
§ set_sample_rate()
virtual double osmosdr::sink::set_sample_rate |
( |
double |
rate | ) |
|
|
pure virtual |
Set the sample rate for the underlying radio hardware. This also will select the appropriate IF bandpass, if applicable.
- Parameters
-
Implemented in sink_impl.
The documentation for this class was generated from the following file: