9 #ifndef INCLUDED_GR_SOAPY_BLOCK_H 10 #define INCLUDED_GR_SOAPY_BLOCK_H 30 virtual std::string get_driver_key()
const = 0;
37 virtual std::string get_hardware_key()
const = 0;
46 virtual kwargs_t get_hardware_info()
const = 0;
53 virtual void set_frontend_mapping(
const std::string& frontend_mapping) = 0;
60 virtual std::string get_frontend_mapping()
const = 0;
71 virtual kwargs_t get_channel_info(
size_t channel)
const = 0;
78 virtual void set_sample_rate(
size_t channel,
double sample_rate) = 0;
85 virtual double get_sample_rate(
size_t channel)
const = 0;
92 virtual range_list_t get_sample_rate_range(
size_t channel)
const = 0;
99 virtual void set_frequency(
size_t channel,
double freq) = 0;
107 virtual void set_frequency(
size_t channel,
const std::string& name,
double freq) = 0;
114 virtual double get_frequency(
size_t channel)
const = 0;
122 virtual double get_frequency(
size_t channel,
const std::string& name)
const = 0;
130 virtual std::vector<std::string> list_frequencies(
size_t channel)
const = 0;
137 virtual range_list_t get_frequency_range(
size_t channel)
const = 0;
145 virtual range_list_t get_frequency_range(
size_t channel,
146 const std::string& name)
const = 0;
153 virtual arginfo_list_t get_frequency_args_info(
size_t channel)
const = 0;
160 virtual void set_bandwidth(
size_t channel,
double bandwidth) = 0;
167 virtual double get_bandwidth(
size_t channel)
const = 0;
174 virtual range_list_t get_bandwidth_range(
size_t channel)
const = 0;
181 virtual std::vector<std::string> list_antennas(
int channel)
const = 0;
188 virtual void set_antenna(
size_t channel,
const std::string& name) = 0;
195 virtual std::string get_antenna(
size_t channel)
const = 0;
201 virtual bool has_gain_mode(
size_t channel)
const = 0;
208 virtual void set_gain_mode(
size_t channel,
bool enable) = 0;
215 virtual bool get_gain_mode(
size_t channel)
const = 0;
223 virtual std::vector<std::string> list_gains(
size_t channel)
const = 0;
232 virtual void set_gain(
size_t channel,
double gain) = 0;
240 virtual void set_gain(
size_t channel,
const std::string& name,
double gain) = 0;
247 virtual double get_gain(
size_t channel)
const = 0;
255 virtual double get_gain(
size_t channel,
const std::string& name)
const = 0;
262 virtual range_t get_gain_range(
size_t channel)
const = 0;
270 virtual range_t get_gain_range(
size_t channel,
const std::string& name)
const = 0;
276 virtual bool has_frequency_correction(
size_t channel)
const = 0;
283 virtual void set_frequency_correction(
size_t channel,
double freq_correction) = 0;
290 virtual double get_frequency_correction(
size_t channel)
const = 0;
296 virtual bool has_dc_offset_mode(
size_t channel)
const = 0;
303 virtual void set_dc_offset_mode(
size_t channel,
bool automatic) = 0;
310 virtual bool get_dc_offset_mode(
size_t channel)
const = 0;
316 virtual bool has_dc_offset(
size_t channel)
const = 0;
323 virtual void set_dc_offset(
size_t channel,
const gr_complexd& dc_offset) = 0;
330 virtual gr_complexd get_dc_offset(
size_t channel)
const = 0;
336 virtual bool has_iq_balance(
size_t channel)
const = 0;
343 virtual void set_iq_balance(
size_t channel,
const gr_complexd& iq_balance) = 0;
350 virtual gr_complexd get_iq_balance(
size_t channel)
const = 0;
357 virtual bool has_iq_balance_mode(
size_t channel)
const = 0;
364 virtual void set_iq_balance_mode(
size_t channel,
bool automatic) = 0;
371 virtual bool get_iq_balance_mode(
size_t channel)
const = 0;
377 virtual void set_master_clock_rate(
double clock_rate) = 0;
383 virtual double get_master_clock_rate()
const = 0;
389 virtual range_list_t get_master_clock_rates()
const = 0;
395 virtual void set_reference_clock_rate(
double rate) = 0;
401 virtual double get_reference_clock_rate()
const = 0;
407 virtual range_list_t get_reference_clock_rates()
const = 0;
413 virtual std::vector<std::string> list_clock_sources()
const = 0;
419 virtual void set_clock_source(
const std::string& clock_source) = 0;
425 virtual std::string get_clock_source()
const = 0;
431 virtual std::vector<std::string> list_time_sources()
const = 0;
437 virtual void set_time_source(
const std::string&
source) = 0;
443 virtual std::string get_time_source()
const = 0;
450 virtual bool has_hardware_time(
const std::string& what =
"")
const = 0;
458 virtual long long get_hardware_time(
const std::string& what =
"")
const = 0;
466 virtual void set_hardware_time(
long long timeNs,
const std::string& what =
"") = 0;
473 virtual std::vector<std::string> list_sensors()
const = 0;
481 virtual arginfo_t get_sensor_info(
const std::string& key)
const = 0;
490 virtual std::string read_sensor(
const std::string& key)
const = 0;
498 virtual std::vector<std::string> list_sensors(
size_t channel)
const = 0;
507 virtual arginfo_t get_sensor_info(
size_t channel,
const std::string& key)
const = 0;
517 virtual std::string read_sensor(
size_t channel,
const std::string& key)
const = 0;
523 virtual std::vector<std::string> list_register_interfaces()
const = 0;
534 write_register(
const std::string& name,
unsigned addr,
unsigned value) = 0;
542 virtual unsigned read_register(
const std::string& name,
unsigned addr)
const = 0;
552 virtual void write_registers(
const std::string& name,
554 const std::vector<unsigned>& value) = 0;
563 virtual std::vector<unsigned>
564 read_registers(
const std::string& name,
unsigned addr,
size_t length)
const = 0;
578 virtual void write_setting(
const std::string& key,
const std::string& value) = 0;
585 virtual std::string read_setting(
const std::string& key)
const = 0;
592 virtual arginfo_list_t get_setting_info(
size_t channel)
const = 0;
602 write_setting(
size_t channel,
const std::string& key,
const std::string& value) = 0;
610 virtual std::string read_setting(
size_t channel,
const std::string& key)
const = 0;
615 virtual std::vector<std::string> list_gpio_banks()
const = 0;
622 virtual void write_gpio(
const std::string& bank,
unsigned value) = 0;
630 virtual void write_gpio(
const std::string& bank,
unsigned value,
unsigned mask) = 0;
637 virtual unsigned read_gpio(
const std::string& bank)
const = 0;
645 virtual void write_gpio_dir(
const std::string& bank,
unsigned dir) = 0;
654 virtual void write_gpio_dir(
const std::string& bank,
unsigned dir,
unsigned mask) = 0;
662 virtual unsigned read_gpio_dir(
const std::string& bank)
const = 0;
671 virtual void write_i2c(
int addr,
const std::string& data) = 0;
681 virtual std::string read_i2c(
int addr,
size_t num_bytes) = 0;
697 virtual unsigned transact_spi(
int addr,
unsigned data,
size_t num_bits) = 0;
703 virtual std::vector<std::string> list_uarts()
const = 0;
712 virtual void write_uart(
const std::string& which,
const std::string& data) = 0;
722 virtual std::string read_uart(
const std::string& which,
723 long timeout_us = 100000)
const = 0;
SoapySDR::ArgInfoList arginfo_list_t
Definition: soapy_types.h:21
std::complex< double > gr_complexd
Definition: gr_complex.h:16
Definition: gr-soapy/include/gnuradio/soapy/source.h:40
SoapySDR::Range range_t
Definition: soapy_types.h:28
GNU Radio logging wrapper.
Definition: basic_block.h:29
Definition: gr-soapy/include/gnuradio/soapy/block.h:22
#define SOAPY_API
Definition: gr-soapy/include/gnuradio/soapy/api.h:19
SoapySDR::ArgInfo arginfo_t
Definition: soapy_types.h:20
PMT_API size_t length(const pmt_t &v)
Return the number of elements in v.
SoapySDR::Kwargs kwargs_t
Definition: soapy_types.h:25
The abstract base class for all 'terminal' processing blocks.A signal processing flow is constructed ...
Definition: gnuradio-runtime/include/gnuradio/block.h:62
SoapySDR::RangeList range_list_t
Definition: soapy_types.h:29