23 #ifndef INCLUDED_SOAPY_SINK_H
24 #define INCLUDED_SOAPY_SINK_H
27 #include <gnuradio/sync_block.h>
54 typedef boost::shared_ptr<sink>
sptr;
72 static sptr make(
size_t nchan,
const std::string device,
73 const std::string args,
double sampling_rate,
74 const std::string type,
const std::string length_tag_name =
"");
81 virtual void set_gain(
size_t channel,
float gain) = 0;
83 virtual void set_overall_gain(
size_t channel,
float gain,
bool manual_mode) = 0;
84 virtual bool hasDCOffset(
int channel) = 0;
85 virtual bool hasIQBalance(
int channel) = 0;
86 virtual bool hasFrequencyCorrection(
int channel) = 0;
88 virtual std::vector<std::string> listAntennas(
int channel) = 0;
96 virtual void set_gain(
size_t channel,
const std::string name,
float gain,
97 bool manual_mode) = 0;
104 virtual void set_frequency(
size_t channel,
double freq) = 0;
112 virtual void set_frequency(
size_t channel,
const std::string &name,
113 double frequency) = 0;
120 virtual void set_gain_mode(
size_t channel,
bool gain_auto_mode) = 0;
127 virtual void set_sample_rate(
size_t channel,
double sample_rate) = 0;
134 virtual void set_bandwidth(
size_t channel,
double bandwidth) = 0;
141 virtual void set_antenna(
size_t channel,
const std::string &name) = 0;
149 virtual void set_dc_offset(
size_t channel, gr_complexd dc_offset,
150 bool dc_offset_auto_mode) = 0;
157 virtual void set_dc_offset_mode(
size_t channel,
bool dc_offset_auto_mode) = 0;
164 virtual void set_frequency_correction(
size_t channel,
165 double freq_correction) = 0;
172 virtual void set_iq_balance(
size_t channel, gr_complexd iq_balance) = 0;
178 virtual void set_master_clock_rate(
double clock_rate) = 0;
184 virtual void set_clock_source(
const std::string &clock_source) = 0;