23 #ifndef INCLUDED_GR_UHD_USRP_BLOCK_H
24 #define INCLUDED_GR_UHD_USRP_BLOCK_H
28 #include <uhd/usrp/multi_usrp.hpp>
32 #include <gnuradio/uhd/clock_config.hpp>
33 #include <gnuradio/uhd/io_type.hpp>
79 virtual void set_subdev_spec(
const std::string& spec,
size_t mboard = 0) = 0;
87 virtual std::string get_subdev_spec(
size_t mboard = 0) = 0;
92 virtual size_t get_num_mboards() = 0;
99 virtual void set_samp_rate(
double rate) = 0;
107 virtual double get_samp_rate(
void) = 0;
114 virtual ::uhd::meta_range_t get_samp_rates(
void) = 0;
123 virtual ::uhd::tune_result_t set_center_freq(const ::uhd::tune_request_t tune_request,
124 size_t chan = 0) = 0;
139 return set_center_freq(::uhd::tune_request_t(freq), chan);
148 virtual double get_center_freq(
size_t chan = 0) = 0;
156 virtual ::uhd::freq_range_t get_freq_range(
size_t chan = 0) = 0;
164 virtual void set_gain(
double gain,
size_t chan = 0) = 0;
173 virtual void set_gain(
double gain,
const std::string& name,
size_t chan = 0) = 0;
191 virtual void set_normalized_gain(
double norm_gain,
size_t chan = 0) = 0;
199 virtual double get_gain(
size_t chan = 0) = 0;
208 virtual double get_gain(
const std::string& name,
size_t chan = 0) = 0;
221 virtual double get_normalized_gain(
size_t chan = 0) = 0;
229 virtual std::vector<std::string> get_gain_names(
size_t chan = 0) = 0;
237 virtual ::uhd::gain_range_t get_gain_range(
size_t chan = 0) = 0;
246 virtual ::uhd::gain_range_t get_gain_range(
const std::string& name,
247 size_t chan = 0) = 0;
255 virtual void set_antenna(
const std::string& ant,
size_t chan = 0) = 0;
263 virtual std::string get_antenna(
size_t chan = 0) = 0;
271 virtual std::vector<std::string> get_antennas(
size_t chan = 0) = 0;
279 virtual void set_bandwidth(
double bandwidth,
size_t chan = 0) = 0;
287 virtual double get_bandwidth(
size_t chan = 0) = 0;
295 virtual ::uhd::freq_range_t get_bandwidth_range(
size_t chan = 0) = 0;
303 virtual ::uhd::sensor_value_t get_sensor(
const std::string& name,
304 size_t chan = 0) = 0;
311 virtual std::vector<std::string> get_sensor_names(
size_t chan = 0) = 0;
316 return this->get_sensor(name, chan);
322 return this->get_sensor_names(chan);
332 virtual ::uhd::sensor_value_t get_mboard_sensor(
const std::string& name,
333 size_t mboard = 0) = 0;
341 virtual std::vector<std::string> get_mboard_sensor_names(
size_t mboard = 0) = 0;
349 virtual std::string get_time_source(
const size_t mboard) = 0;
357 virtual std::vector<std::string> get_time_sources(
const size_t mboard) = 0;
368 virtual void set_clock_source(
const std::string& source,
const size_t mboard = 0) = 0;
376 virtual std::string get_clock_source(
const size_t mboard) = 0;
384 virtual std::vector<std::string> get_clock_sources(
const size_t mboard) = 0;
392 virtual double get_clock_rate(
size_t mboard = 0) = 0;
400 virtual void set_clock_rate(
double rate,
size_t mboard = 0) = 0;
408 virtual ::uhd::time_spec_t get_time_now(
size_t mboard = 0) = 0;
415 virtual ::uhd::time_spec_t get_time_last_pps(
size_t mboard = 0) = 0;
422 virtual void set_time_now(const ::uhd::time_spec_t& time_spec,
size_t mboard = 0) = 0;
428 virtual void set_time_next_pps(const ::uhd::time_spec_t& time_spec) = 0;
434 virtual void set_time_unknown_pps(const ::uhd::time_spec_t& time_spec) = 0;
446 virtual void set_command_time(const ::uhd::time_spec_t& time_spec,
447 size_t mboard = 0) = 0;
454 virtual void clear_command_time(
size_t mboard = 0) = 0;
461 virtual ::uhd::usrp::dboard_iface::sptr get_dboard_iface(
size_t chan = 0) = 0;
469 virtual ::uhd::usrp::multi_usrp::sptr get_device(
void) = 0;
481 set_user_register(
const uint8_t addr,
const uint32_t data,
size_t mboard = 0) = 0;
490 virtual void set_clock_config(const ::uhd::clock_config_t& clock_config,
491 size_t mboard = 0) = 0;
502 virtual void set_time_source(
const std::string& source,
const size_t mboard = 0) = 0;
519 virtual void set_stream_args(const ::uhd::stream_args_t& stream_args) = 0;
529 virtual std::vector<std::string> get_gpio_banks(
const size_t mboard) = 0;
547 virtual void set_gpio_attr(
const std::string& bank,
548 const std::string& attr,
549 const boost::uint32_t value,
550 const boost::uint32_t mask = 0xffffffff,
551 const size_t mboard = 0) = 0;
569 virtual boost::uint32_t get_gpio_attr(
const std::string& bank,
570 const std::string& attr,
571 const size_t mboard = 0) = 0;
GR_UHD_API const pmt::pmt_t cmd_mboard_key()
boost::shared_ptr< io_signature > sptr
Definition: io_signature.h:46
Definition: usrp_block.h:64
GR_UHD_API const pmt::pmt_t cmd_tune_key()
GR_UHD_API const pmt::pmt_t ant_direction_rx()
GR_UHD_API const pmt::pmt_t cmd_bandwidth_key()
GR_UHD_API const pmt::pmt_t cmd_lo_freq_key()
::uhd::tune_result_t set_center_freq(double freq, size_t chan=0)
Definition: usrp_block.h:137
GR_UHD_API const pmt::pmt_t ant_direction_tx()
usrp_block()
Definition: usrp_block.h:67
GR_UHD_API const pmt::pmt_t cmd_tag_key()
GR_UHD_API const pmt::pmt_t cmd_dsp_freq_key()
synchronous 1:1 input to output with historyOverride work to provide the signal processing implementa...
Definition: sync_block.h:37
GR_UHD_API const pmt::pmt_t cmd_lo_offset_key()
GR_UHD_API const pmt::pmt_t cmd_direction_key()
#define GR_UHD_API
Definition: gr-uhd/include/gnuradio/uhd/api.h:30
GR_UHD_API const pmt::pmt_t cmd_gain_key()
GR_UHD_API const pmt::pmt_t cmd_chan_key()
GR_UHD_API const pmt::pmt_t cmd_antenna_key()
GR_UHD_API const pmt::pmt_t cmd_time_key()
std::vector< std::string > get_dboard_sensor_names(size_t chan=0)
DEPRECATED use get_sensor_names.
Definition: usrp_block.h:320
::uhd::sensor_value_t get_dboard_sensor(const std::string &name, size_t chan=0)
DEPRECATED use get_sensor.
Definition: usrp_block.h:314
boost::intrusive_ptr< pmt_base > pmt_t
typedef for shared pointer (transparent reference counting). See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
Definition: pmt.h:56
GR_UHD_API const pmt::pmt_t cmd_rate_key()
GR_UHD_API const pmt::pmt_t cmd_freq_key()