22 #ifndef INCLUDED_GR_SHD_SMINI_SINK_H
23 #define INCLUDED_GR_SHD_SMINI_SINK_H
27 #include <shd/xmini/multi_xmini.hpp>
32 const shd::device_addr_t &device_addr,
33 const shd::io_type_t &io_type,
46 virtual void set_subdev_spec(
const std::string &spec,
size_t mboard = 0) = 0;
52 virtual void set_samp_rate(
double rate) = 0;
59 virtual double get_samp_rate(
void) = 0;
67 virtual shd::tune_result_t set_center_freq(
68 const shd::tune_request_t tune_request,
size_t chan = 0
80 return set_center_freq(shd::tune_request_t(freq), chan);
88 virtual double get_center_freq(
size_t chan = 0) = 0;
95 virtual shd::freq_range_t get_freq_range(
size_t chan = 0) = 0;
102 virtual void set_gain(
double gain,
size_t chan = 0) = 0;
110 virtual void set_gain(
double gain,
const std::string &name,
111 size_t chan = 0) = 0;
118 virtual double get_gain(
size_t chan = 0) = 0;
126 virtual double get_gain(
const std::string &name,
127 size_t chan = 0) = 0;
134 virtual std::vector<std::string> get_gain_names(
size_t chan = 0) = 0;
141 virtual shd::gain_range_t get_gain_range(
size_t chan = 0) = 0;
149 virtual shd::gain_range_t get_gain_range(
const std::string &name,
150 size_t chan = 0) = 0;
157 virtual void set_antenna(
const std::string &ant,
158 size_t chan = 0) = 0;
165 virtual std::string get_antenna(
size_t chan = 0) = 0;
172 virtual std::vector<std::string> get_antennas(
size_t chan = 0) = 0;
179 virtual void set_bandwidth(
double bandwidth,
size_t chan = 0) = 0;
187 virtual shd::sensor_value_t get_dboard_sensor(
const std::string &name,
188 size_t chan = 0) = 0;
195 virtual std::vector<std::string> get_dboard_sensor_names(
size_t chan = 0) = 0;
203 virtual shd::sensor_value_t get_mboard_sensor(
const std::string &name,
204 size_t mboard = 0) = 0;
211 virtual std::vector<std::string> get_mboard_sensor_names(
size_t mboard = 0) = 0;
218 virtual void set_clock_config(
const shd::clock_config_t &clock_config,
219 size_t mboard = 0) = 0;
226 virtual double get_clock_rate(
size_t mboard = 0) = 0;
233 virtual void set_clock_rate(
double rate,
size_t mboard = 0) = 0;
240 virtual shd::time_spec_t get_time_now(
size_t mboard = 0) = 0;
247 virtual shd::time_spec_t get_time_last_pps(
size_t mboard = 0) = 0;
254 virtual void set_time_now(
const shd::time_spec_t &time_spec,
255 size_t mboard = 0) = 0;
261 virtual void set_time_next_pps(
const shd::time_spec_t &time_spec) = 0;
267 virtual void set_time_unknown_pps(
const shd::time_spec_t &time_spec) = 0;
273 virtual shd::xmini::dboard_iface::sptr get_dboard_iface(
size_t chan = 0) = 0;
279 virtual shd::xmini::multi_xmini::sptr get_device(
void) = 0;