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;
67 virtual bool seek(
long seek_point,
int whence,
size_t chan = 0 ) = 0;
80 virtual double set_sample_rate(
double rate ) = 0;
87 virtual double get_sample_rate(
void ) = 0;
103 virtual double set_center_freq(
double freq,
size_t chan = 0 ) = 0;
111 virtual double get_center_freq(
size_t chan = 0 ) = 0;
119 virtual double set_freq_corr(
double ppm,
size_t chan = 0 ) = 0;
126 virtual double get_freq_corr(
size_t chan = 0 ) = 0;
133 virtual std::vector<std::string> get_gain_names(
size_t chan = 0 ) = 0;
149 size_t chan = 0 ) = 0;
158 virtual bool set_gain_mode(
bool automatic,
size_t chan = 0 ) = 0;
165 virtual bool get_gain_mode(
size_t chan = 0 ) = 0;
175 virtual double set_gain(
double gain,
size_t chan = 0 ) = 0;
184 virtual double set_gain(
double gain,
185 const std::string & name,
186 size_t chan = 0 ) = 0;
193 virtual double get_gain(
size_t chan = 0 ) = 0;
201 virtual double get_gain(
const std::string & name,
size_t chan = 0 ) = 0;
211 virtual double set_if_gain(
double gain,
size_t chan = 0 ) = 0;
221 virtual double set_bb_gain(
double gain,
size_t chan = 0 ) = 0;
228 virtual std::vector< std::string > get_antennas(
size_t chan = 0 ) = 0;
236 virtual std::string set_antenna(
const std::string & antenna,
237 size_t chan = 0 ) = 0;
244 virtual std::string get_antenna(
size_t chan = 0 ) = 0;
264 virtual void set_dc_offset_mode(
int mode,
size_t chan = 0) = 0;
274 virtual void set_dc_offset(
const std::complex<double> &offset,
size_t chan = 0 ) = 0;
288 virtual void set_iq_balance_mode(
int mode,
size_t chan = 0 ) = 0;
297 virtual void set_iq_balance(
const std::complex<double> &balance,
size_t chan = 0 ) = 0;
305 virtual double set_bandwidth(
double bandwidth,
size_t chan = 0 ) = 0;
312 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:276
boost::shared_ptr< source > sptr
Definition: source.h:40
#define OSMOSDR_API
Definition: api.h:30
DCOffsetMode
Definition: source.h:246