20 #ifndef INCLUDED_OSMOSDR_SOURCE_C_H
21 #define INCLUDED_OSMOSDR_SOURCE_C_H
25 #include <gnuradio/gr_hier_block2.h>
40 typedef boost::shared_ptr<osmosdr_source_c> osmosdr_source_c_sptr;
64 virtual size_t get_num_channels(
void ) = 0;
77 virtual double set_sample_rate(
double rate ) = 0;
84 virtual double get_sample_rate(
void ) = 0;
100 virtual double set_center_freq(
double freq,
size_t chan = 0 ) = 0;
108 virtual double get_center_freq(
size_t chan = 0 ) = 0;
116 virtual double set_freq_corr(
double ppm,
size_t chan = 0 ) = 0;
123 virtual double get_freq_corr(
size_t chan = 0 ) = 0;
130 virtual std::vector<std::string> get_gain_names(
size_t chan = 0 ) = 0;
146 size_t chan = 0 ) = 0;
155 virtual bool set_gain_mode(
bool automatic,
size_t chan = 0 ) = 0;
162 virtual bool get_gain_mode(
size_t chan = 0 ) = 0;
172 virtual double set_gain(
double gain,
size_t chan = 0 ) = 0;
181 virtual double set_gain(
double gain,
182 const std::string & name,
183 size_t chan = 0 ) = 0;
190 virtual double get_gain(
size_t chan = 0 ) = 0;
198 virtual double get_gain(
const std::string & name,
size_t chan = 0 ) = 0;
208 virtual double set_if_gain(
double gain,
size_t chan = 0 ) = 0;
215 virtual std::vector< std::string > get_antennas(
size_t chan = 0 ) = 0;
223 virtual std::string set_antenna(
const std::string & antenna,
224 size_t chan = 0 ) = 0;
231 virtual std::string get_antenna(
size_t chan = 0 ) = 0;
245 virtual void set_iq_balance_mode(
int mode,
size_t chan = 0 ) = 0;
254 virtual void set_iq_balance(
const std::complex<double> &correction,
255 size_t chan = 0 ) = 0;