21#ifndef OSMOSDR_SINK_IFACE_H
22#define OSMOSDR_SINK_IFACE_H
26#include <gnuradio/basic_block.h>
123 size_t chan = 0 ) = 0;
132 virtual bool set_gain_mode(
bool automatic,
size_t chan = 0 ) {
return false; }
149 virtual double set_gain(
double gain,
size_t chan = 0 ) = 0;
159 const std::string & name,
160 size_t chan = 0 ) = 0;
175 virtual double get_gain(
const std::string & name,
size_t chan = 0 ) = 0;
185 virtual double set_if_gain(
double gain,
size_t chan = 0 ) {
return 0; }
195 virtual double set_bb_gain(
double gain,
size_t chan = 0 ) {
return 0; }
202 virtual std::vector< std::string >
get_antennas(
size_t chan = 0 ) = 0;
211 size_t chan = 0 ) = 0;
227 virtual void set_dc_offset(
const std::complex<double> &offset,
size_t chan = 0 ) { }
236 virtual void set_iq_balance(
const std::complex<double> &balance,
size_t chan = 0 ) { }
244 virtual double set_bandwidth(
double bandwidth,
size_t chan = 0 ) {
return 0; }
270 const size_t mboard = 0) { }
286 return std::vector<std::string>();
297 const size_t mboard = 0) { }
313 return std::vector<std::string>();
337 return ::osmosdr::time_spec_t::get_system_time();
347 return ::osmosdr::time_spec_t::get_system_time();
356 size_t mboard = 0) { }
Definition sink_iface.h:33
virtual osmosdr::gain_range_t get_gain_range(const std::string &name, size_t chan=0)=0
virtual double set_gain(double gain, const std::string &name, size_t chan=0)=0
virtual double get_freq_corr(size_t chan=0)=0
virtual void set_clock_source(const std::string &source, const size_t mboard=0)
Definition sink_iface.h:296
virtual bool get_gain_mode(size_t chan=0)
Definition sink_iface.h:139
virtual double get_clock_rate(size_t mboard=0)
Definition sink_iface.h:321
virtual double set_freq_corr(double ppm, size_t chan=0)=0
virtual osmosdr::meta_range_t get_sample_rates(void)=0
virtual double set_gain(double gain, size_t chan=0)=0
virtual double get_gain(size_t chan=0)=0
virtual void set_dc_offset(const std::complex< double > &offset, size_t chan=0)
Definition sink_iface.h:227
virtual std::string set_antenna(const std::string &antenna, size_t chan=0)=0
virtual ::osmosdr::time_spec_t get_time_last_pps(size_t mboard=0)
Definition sink_iface.h:345
virtual ~sink_iface()=default
virtual std::string get_time_source(const size_t mboard)
Definition sink_iface.h:277
virtual ::osmosdr::time_spec_t get_time_now(size_t mboard=0)
Definition sink_iface.h:335
virtual void set_time_now(const ::osmosdr::time_spec_t &time_spec, size_t mboard=0)
Definition sink_iface.h:355
virtual void set_time_unknown_pps(const ::osmosdr::time_spec_t &time_spec)
Definition sink_iface.h:368
virtual void set_time_source(const std::string &source, const size_t mboard=0)
Definition sink_iface.h:269
virtual std::vector< std::string > get_gain_names(size_t chan=0)=0
virtual void set_iq_balance(const std::complex< double > &balance, size_t chan=0)
Definition sink_iface.h:236
virtual double set_center_freq(double freq, size_t chan=0)=0
virtual double set_bandwidth(double bandwidth, size_t chan=0)
Definition sink_iface.h:244
virtual osmosdr::freq_range_t get_freq_range(size_t chan=0)=0
virtual std::vector< std::string > get_time_sources(const size_t mboard)
Definition sink_iface.h:284
virtual void set_clock_rate(double rate, size_t mboard=0)
Definition sink_iface.h:328
virtual double get_center_freq(size_t chan=0)=0
virtual bool set_gain_mode(bool automatic, size_t chan=0)
Definition sink_iface.h:132
virtual double set_if_gain(double gain, size_t chan=0)
Definition sink_iface.h:185
virtual size_t get_num_channels(void)=0
virtual void set_time_next_pps(const ::osmosdr::time_spec_t &time_spec)
Definition sink_iface.h:362
virtual double set_bb_gain(double gain, size_t chan=0)
Definition sink_iface.h:195
virtual std::string get_clock_source(const size_t mboard)
Definition sink_iface.h:304
virtual double get_gain(const std::string &name, size_t chan=0)=0
virtual std::vector< std::string > get_clock_sources(const size_t mboard)
Definition sink_iface.h:311
virtual osmosdr::freq_range_t get_bandwidth_range(size_t chan=0)
Definition sink_iface.h:258
virtual double set_sample_rate(double rate)=0
virtual std::string get_antenna(size_t chan=0)=0
virtual std::vector< std::string > get_antennas(size_t chan=0)=0
virtual double get_sample_rate(void)=0
virtual double get_bandwidth(size_t chan=0)
Definition sink_iface.h:251
virtual osmosdr::gain_range_t get_gain_range(size_t chan=0)=0
meta_range_t freq_range_t
Definition ranges.h:125