11 #ifndef INCLUDED_GR_UHD_USRP_BLOCK_H
12 #define INCLUDED_GR_UHD_USRP_BLOCK_H
16 #include <uhd/usrp/multi_usrp.hpp>
66 virtual void set_subdev_spec(
const std::string& spec,
size_t mboard = 0) = 0;
74 virtual std::string get_subdev_spec(
size_t mboard = 0) = 0;
79 virtual size_t get_num_mboards() = 0;
86 virtual void set_samp_rate(
double rate) = 0;
94 virtual double get_samp_rate(
void) = 0;
101 virtual ::uhd::meta_range_t get_samp_rates(
void) = 0;
110 virtual ::uhd::tune_result_t set_center_freq(const ::uhd::tune_request_t tune_request,
111 size_t chan = 0) = 0;
126 return set_center_freq(::uhd::tune_request_t(freq), chan);
135 virtual double get_center_freq(
size_t chan = 0) = 0;
143 virtual ::uhd::freq_range_t get_freq_range(
size_t chan = 0) = 0;
163 virtual void set_gain(
double gain,
const std::string& name,
size_t chan = 0) = 0;
181 virtual void set_normalized_gain(
double norm_gain,
size_t chan = 0) = 0;
189 virtual double get_gain(
size_t chan = 0) = 0;
198 virtual double get_gain(
const std::string& name,
size_t chan = 0) = 0;
211 virtual double get_normalized_gain(
size_t chan = 0) = 0;
219 virtual std::vector<std::string> get_gain_names(
size_t chan = 0) = 0;
227 virtual ::uhd::gain_range_t get_gain_range(
size_t chan = 0) = 0;
236 virtual ::uhd::gain_range_t get_gain_range(
const std::string& name,
237 size_t chan = 0) = 0;
249 virtual bool has_power_reference(
size_t chan = 0) = 0;
273 virtual void set_power_reference(
double power_dbm,
size_t chan = 0) = 0;
287 virtual double get_power_reference(
size_t chan = 0) = 0;
296 virtual ::uhd::meta_range_t get_power_range(
size_t chan = 0) = 0;
304 virtual void set_antenna(
const std::string& ant,
size_t chan = 0) = 0;
312 virtual std::string get_antenna(
size_t chan = 0) = 0;
320 virtual std::vector<std::string> get_antennas(
size_t chan = 0) = 0;
328 virtual void set_bandwidth(
double bandwidth,
size_t chan = 0) = 0;
336 virtual double get_bandwidth(
size_t chan = 0) = 0;
344 virtual ::uhd::freq_range_t get_bandwidth_range(
size_t chan = 0) = 0;
352 virtual ::uhd::sensor_value_t get_sensor(
const std::string& name,
353 size_t chan = 0) = 0;
360 virtual std::vector<std::string> get_sensor_names(
size_t chan = 0) = 0;
365 return this->get_sensor(name, chan);
371 return this->get_sensor_names(chan);
381 virtual ::uhd::sensor_value_t get_mboard_sensor(
const std::string& name,
382 size_t mboard = 0) = 0;
390 virtual std::vector<std::string> get_mboard_sensor_names(
size_t mboard = 0) = 0;
398 virtual std::string get_time_source(
const size_t mboard) = 0;
406 virtual std::vector<std::string> get_time_sources(
const size_t mboard) = 0;
417 virtual void set_clock_source(
const std::string& source,
const size_t mboard = 0) = 0;
425 virtual std::string get_clock_source(
const size_t mboard) = 0;
433 virtual std::vector<std::string> get_clock_sources(
const size_t mboard) = 0;
441 virtual double get_clock_rate(
size_t mboard = 0) = 0;
449 virtual void set_clock_rate(
double rate,
size_t mboard = 0) = 0;
457 virtual ::uhd::time_spec_t get_time_now(
size_t mboard = 0) = 0;
464 virtual ::uhd::time_spec_t get_time_last_pps(
size_t mboard = 0) = 0;
471 virtual void set_time_now(const ::uhd::time_spec_t& time_spec,
size_t mboard = 0) = 0;
477 virtual void set_time_next_pps(const ::uhd::time_spec_t& time_spec) = 0;
483 virtual void set_time_unknown_pps(const ::uhd::time_spec_t& time_spec) = 0;
495 virtual void set_command_time(const ::uhd::time_spec_t& time_spec,
496 size_t mboard = 0) = 0;
503 virtual void clear_command_time(
size_t mboard = 0) = 0;
510 virtual ::uhd::usrp::dboard_iface::sptr get_dboard_iface(
size_t chan = 0) = 0;
518 virtual ::uhd::usrp::multi_usrp::sptr get_device(
void) = 0;
530 set_user_register(
const uint8_t addr,
const uint32_t data,
size_t mboard = 0) = 0;
541 virtual void set_time_source(
const std::string& source,
const size_t mboard = 0) = 0;
558 virtual void set_stream_args(const ::uhd::stream_args_t& stream_args) = 0;
568 virtual std::vector<std::string> get_gpio_banks(
const size_t mboard) = 0;
586 virtual void set_gpio_attr(
const std::string& bank,
587 const std::string& attr,
588 const uint32_t value,
589 const uint32_t mask = 0xffffffff,
590 const size_t mboard = 0) = 0;
608 virtual uint32_t get_gpio_attr(
const std::string& bank,
609 const std::string& attr,
610 const size_t mboard = 0) = 0;
618 virtual std::vector<std::string> get_filter_names(
const size_t chan = 0) = 0;
628 virtual void set_filter(
const std::string& path,
629 ::uhd::filter_info_base::sptr filter,
630 const size_t chan = 0) = 0;
638 virtual ::uhd::filter_info_base::sptr get_filter(
const std::string& path,
639 const size_t chan = 0) = 0;
648 virtual ::uhd::dict<std::string, std::string> get_usrp_info(
size_t chan = 0) = 0;