20 #ifndef INCLUDED_OSMOSDR_SINK_H
21 #define INCLUDED_OSMOSDR_SINK_H
26 #include <gnuradio/hier_block2.h>
41 typedef boost::shared_ptr< sink >
sptr;
53 static sptr make(
const std::string & args =
"" );
59 virtual size_t get_num_channels(
void ) = 0;
72 virtual double set_sample_rate(
double rate ) = 0;
79 virtual double get_sample_rate(
void ) = 0;
95 virtual double set_center_freq(
double freq,
size_t chan = 0 ) = 0;
103 virtual double get_center_freq(
size_t chan = 0 ) = 0;
111 virtual double set_freq_corr(
double ppm,
size_t chan = 0 ) = 0;
118 virtual double get_freq_corr(
size_t chan = 0 ) = 0;
125 virtual std::vector<std::string> get_gain_names(
size_t chan = 0 ) = 0;
141 size_t chan = 0 ) = 0;
150 virtual bool set_gain_mode(
bool automatic,
size_t chan = 0 ) = 0;
157 virtual bool get_gain_mode(
size_t chan = 0 ) = 0;
167 virtual double set_gain(
double gain,
size_t chan = 0 ) = 0;
176 virtual double set_gain(
double gain,
177 const std::string & name,
178 size_t chan = 0 ) = 0;
185 virtual double get_gain(
size_t chan = 0 ) = 0;
193 virtual double get_gain(
const std::string & name,
size_t chan = 0 ) = 0;
203 virtual double set_if_gain(
double gain,
size_t chan = 0 ) = 0;
213 virtual double set_bb_gain(
double gain,
size_t chan = 0 ) = 0;
220 virtual std::vector< std::string > get_antennas(
size_t chan = 0 ) = 0;
228 virtual std::string set_antenna(
const std::string & antenna,
229 size_t chan = 0 ) = 0;
236 virtual std::string get_antenna(
size_t chan = 0 ) = 0;
245 virtual void set_dc_offset(
const std::complex<double> &offset,
size_t chan = 0 ) = 0;
254 virtual void set_iq_balance(
const std::complex<double> &balance,
size_t chan = 0 ) = 0;
262 virtual double set_bandwidth(
double bandwidth,
size_t chan = 0 ) = 0;
269 virtual double get_bandwidth(
size_t chan = 0 ) = 0;
286 virtual void set_time_source(
const std::string &
source,
287 const size_t mboard = 0) = 0;
294 virtual std::string get_time_source(
const size_t mboard) = 0;
301 virtual std::vector<std::string> get_time_sources(
const size_t mboard) = 0;
310 virtual void set_clock_source(
const std::string &
source,
311 const size_t mboard = 0) = 0;
318 virtual std::string get_clock_source(
const size_t mboard) = 0;
325 virtual std::vector<std::string> get_clock_sources(
const size_t mboard) = 0;
332 virtual double get_clock_rate(
size_t mboard = 0) = 0;
339 virtual void set_clock_rate(
double rate,
size_t mboard = 0) = 0;
346 virtual ::osmosdr::time_spec_t get_time_now(
size_t mboard = 0) = 0;
353 virtual ::osmosdr::time_spec_t get_time_last_pps(
size_t mboard = 0) = 0;
360 virtual void set_time_now(const ::osmosdr::time_spec_t &time_spec,
361 size_t mboard = 0) = 0;
367 virtual void set_time_next_pps(const ::osmosdr::time_spec_t &time_spec) = 0;
373 virtual void set_time_unknown_pps(const ::osmosdr::time_spec_t &time_spec) = 0;
Takes a stream of complex samples.This uses the preferred technique: subclassing gr::hier_block2.
Definition: sink.h:38
Provides a stream of complex samples.This uses the preferred technique: subclassing gr::hier_block2...
Definition: source.h:38
boost::shared_ptr< sink > sptr
Definition: sink.h:41
#define OSMOSDR_API
Definition: api.h:30