20 #ifndef INCLUDED_OSMOSDR_SOURCE_H
21 #define INCLUDED_OSMOSDR_SOURCE_H
25 #include <gnuradio/hier_block2.h>
40 typedef boost::shared_ptr< source >
sptr;
52 static sptr make(
const std::string & args =
"" );
58 virtual size_t get_num_channels(
void ) = 0;
71 virtual double set_sample_rate(
double rate ) = 0;
78 virtual double get_sample_rate(
void ) = 0;
94 virtual double set_center_freq(
double freq,
size_t chan = 0 ) = 0;
102 virtual double get_center_freq(
size_t chan = 0 ) = 0;
110 virtual double set_freq_corr(
double ppm,
size_t chan = 0 ) = 0;
117 virtual double get_freq_corr(
size_t chan = 0 ) = 0;
124 virtual std::vector<std::string> get_gain_names(
size_t chan = 0 ) = 0;
140 size_t chan = 0 ) = 0;
149 virtual bool set_gain_mode(
bool automatic,
size_t chan = 0 ) = 0;
156 virtual bool get_gain_mode(
size_t chan = 0 ) = 0;
166 virtual double set_gain(
double gain,
size_t chan = 0 ) = 0;
175 virtual double set_gain(
double gain,
176 const std::string & name,
177 size_t chan = 0 ) = 0;
184 virtual double get_gain(
size_t chan = 0 ) = 0;
192 virtual double get_gain(
const std::string & name,
size_t chan = 0 ) = 0;
202 virtual double set_if_gain(
double gain,
size_t chan = 0 ) = 0;
212 virtual double set_bb_gain(
double gain,
size_t chan = 0 ) = 0;
219 virtual std::vector< std::string > get_antennas(
size_t chan = 0 ) = 0;
227 virtual std::string set_antenna(
const std::string & antenna,
228 size_t chan = 0 ) = 0;
235 virtual std::string get_antenna(
size_t chan = 0 ) = 0;
255 virtual void set_dc_offset_mode(
int mode,
size_t chan = 0) = 0;
265 virtual void set_dc_offset(
const std::complex<double> &offset,
size_t chan = 0 ) = 0;
279 virtual void set_iq_balance_mode(
int mode,
size_t chan = 0 ) = 0;
288 virtual void set_iq_balance(
const std::complex<double> &balance,
size_t chan = 0 ) = 0;
296 virtual double set_bandwidth(
double bandwidth,
size_t chan = 0 ) = 0;
303 virtual double get_bandwidth(
size_t chan = 0 ) = 0;
Provides a stream of complex samples.This uses the preferred technique: subclassing gr::hier_block2...
Definition: source.h:37
IQBalanceMode
Definition: source.h:267
boost::shared_ptr< source > sptr
Definition: source.h:40
#define OSMOSDR_API
Definition: api.h:30
DCOffsetMode
Definition: source.h:237