23 #ifndef INCLUDED_SOAPY_SOURCE_H
24 #define INCLUDED_SOAPY_SOURCE_H
27 #include <gnuradio/sync_block.h>
56 typedef boost::shared_ptr<source>
sptr;
74 static sptr make(
size_t nchan,
const std::string device,
75 const std::string args,
76 double sampling_rate,
const std::string type);
78 virtual void set_overall_gain(
size_t channel,
float gain,
bool manual_mode) = 0;
80 virtual bool hasDCOffset(
int channel) = 0;
81 virtual bool hasIQBalance(
int channel) = 0;
82 virtual bool hasFrequencyCorrection(
int channel) = 0;
84 virtual std::vector<std::string> listAntennas(
int channel) = 0;
91 virtual void set_gain(
size_t channel,
float gain) = 0;
99 virtual void set_gain(
size_t channel,
const std::string name,
float gain,
100 bool manual_mode) = 0;
107 virtual void set_frequency(
size_t channel,
double freq) = 0;
115 virtual void set_frequency(
size_t channel,
const std::string &name,
116 double frequency) = 0;
123 virtual void set_gain_mode(
size_t channel,
bool gain_auto_mode) = 0;
130 virtual void set_sample_rate(
size_t channel,
double sample_rate) = 0;
137 virtual void set_bandwidth(
size_t channel,
double bandwidth) = 0;
144 virtual void set_antenna(
size_t channel,
const std::string &name) = 0;
152 virtual void set_dc_offset(
size_t channel, gr_complexd dc_offset,
153 bool dc_offset_auto_mode) = 0;
160 virtual void set_dc_offset_mode(
size_t channel,
161 bool dc_offset_auto_mode) = 0;
168 virtual void set_frequency_correction(
size_t channel,
169 double freq_correction) = 0;
176 virtual void set_iq_balance(
size_t channel, gr_complexd iq_balance) = 0;
182 virtual void set_master_clock_rate(
double clock_rate) = 0;
188 virtual void set_clock_source(
const std::string &clock_source) = 0;