USRP Hardware Driver and USRP Manual  Version: 4.0.0.0-3
UHD and USRP Manual
multi_usrp.hpp
Go to the documentation of this file.
1 //
2 // Copyright 2010-2012,2014-2015 Ettus Research LLC
3 // Copyright 2018 Ettus Research, a National Instruments Company
4 //
5 // SPDX-License-Identifier: GPL-3.0-or-later
6 //
7 
8 #pragma once
9 
10 // define API capabilities for compile time detection of new features
11 #define UHD_USRP_MULTI_USRP_REF_SOURCES_API
12 #define UHD_USRP_MULTI_USRP_GET_RATES_API
13 #define UHD_USRP_MULTI_USRP_FRONTEND_CAL_API
14 #define UHD_USRP_MULTI_USRP_FRONTEND_IQ_AUTO_API
15 #define UHD_USRP_MULTI_USRP_COMMAND_TIME_API
16 #define UHD_USRP_MULTI_USRP_BW_RANGE_API
17 #define UHD_USRP_MULTI_USRP_USER_REGS_API
18 #define UHD_USRP_MULTI_USRP_GET_USRP_INFO_API
19 #define UHD_USRP_MULTI_USRP_NORMALIZED_GAIN
20 #define UHD_USRP_MULTI_USRP_GPIO_API
21 #define UHD_USRP_MULTI_USRP_REGISTER_API
22 #define UHD_USRP_MULTI_USRP_FILTER_API
23 #define UHD_USRP_MULTI_USRP_LO_CONFIG_API
24 #define UHD_USRP_MULTI_USRP_TX_LO_CONFIG_API
25 #define UHD_USRP_MULTI_USRP_POWER_LEVEL
26 
27 #include <uhd/config.hpp>
28 #include <uhd/device.hpp>
29 #include <uhd/types/filters.hpp>
30 #include <uhd/types/ranges.hpp>
31 #include <uhd/types/sensors.hpp>
32 #include <uhd/types/stream_cmd.hpp>
35 #include <uhd/types/wb_iface.hpp>
37 #include <uhd/usrp/subdev_spec.hpp>
41 #include <complex>
42 #include <memory>
43 #include <string>
44 #include <vector>
45 
46 namespace uhd {
47 class device3;
48 
49 namespace usrp {
50 
98 {
99 public:
100  typedef std::shared_ptr<multi_usrp> sptr;
101 
102  virtual ~multi_usrp(void) = 0;
103 
105  static const size_t ALL_MBOARDS;
106 
108  static const size_t ALL_CHANS;
109 
111  static const std::string ALL_GAINS;
112 
114  static const std::string ALL_LOS;
115 
123  static sptr make(const device_addr_t& dev_addr);
124 
139  virtual device::sptr get_device(void) = 0;
140 
143  virtual uhd::property_tree::sptr get_tree(void) const = 0;
144 
147 
150 
158  virtual dict<std::string, std::string> get_usrp_rx_info(size_t chan = 0) = 0;
159 
167  virtual dict<std::string, std::string> get_usrp_tx_info(size_t chan = 0) = 0;
168 
169  /*******************************************************************
170  * Mboard methods
171  ******************************************************************/
172 
195  virtual void set_master_clock_rate(double rate, size_t mboard = ALL_MBOARDS) = 0;
196 
202  virtual double get_master_clock_rate(size_t mboard = 0) = 0;
203 
222  virtual meta_range_t get_master_clock_rate_range(const size_t mboard = 0) = 0;
223 
228  virtual std::string get_pp_string(void) = 0;
229 
235  virtual std::string get_mboard_name(size_t mboard = 0) = 0;
236 
242  virtual time_spec_t get_time_now(size_t mboard = 0) = 0;
243 
249  virtual time_spec_t get_time_last_pps(size_t mboard = 0) = 0;
250 
262  virtual void set_time_now(
263  const time_spec_t& time_spec, size_t mboard = ALL_MBOARDS) = 0;
264 
277  virtual void set_time_next_pps(
278  const time_spec_t& time_spec, size_t mboard = ALL_MBOARDS) = 0;
279 
295  virtual void set_time_unknown_pps(const time_spec_t& time_spec) = 0;
296 
303  virtual bool get_time_synchronized(void) = 0;
304 
315  virtual void set_command_time(
316  const uhd::time_spec_t& time_spec, size_t mboard = ALL_MBOARDS) = 0;
317 
323  virtual void clear_command_time(size_t mboard = ALL_MBOARDS) = 0;
324 
337  virtual void issue_stream_cmd(
338  const stream_cmd_t& stream_cmd, size_t chan = ALL_CHANS) = 0;
339 
382  virtual void set_time_source(
383  const std::string& source, const size_t mboard = ALL_MBOARDS) = 0;
384 
390  virtual std::string get_time_source(const size_t mboard) = 0;
391 
397  virtual std::vector<std::string> get_time_sources(const size_t mboard) = 0;
398 
441  virtual void set_clock_source(
442  const std::string& source, const size_t mboard = ALL_MBOARDS) = 0;
443 
449  virtual std::string get_clock_source(const size_t mboard) = 0;
450 
456  virtual std::vector<std::string> get_clock_sources(const size_t mboard) = 0;
457 
468  virtual void set_sync_source(const std::string& clock_source,
469  const std::string& time_source,
470  const size_t mboard = ALL_MBOARDS) = 0;
471 
494  virtual void set_sync_source(
495  const device_addr_t& sync_source, const size_t mboard = ALL_MBOARDS) = 0;
496 
502  virtual device_addr_t get_sync_source(const size_t mboard) = 0;
503 
509  virtual std::vector<device_addr_t> get_sync_sources(const size_t mboard) = 0;
510 
519  virtual void set_clock_source_out(
520  const bool enb, const size_t mboard = ALL_MBOARDS) = 0;
521 
530  virtual void set_time_source_out(
531  const bool enb, const size_t mboard = ALL_MBOARDS) = 0;
532 
536  virtual size_t get_num_mboards(void) = 0;
537 
545  const std::string& name, size_t mboard = 0) = 0;
546 
552  virtual std::vector<std::string> get_mboard_sensor_names(size_t mboard = 0) = 0;
553 
563  virtual void set_user_register(
564  const uint8_t addr, const uint32_t data, size_t mboard = ALL_MBOARDS) = 0;
565 
590  virtual uhd::wb_iface::sptr get_user_settings_iface(const size_t chan = 0) = 0;
591 
609  virtual uhd::rfnoc::radio_control& get_radio_control(const size_t chan = 0) = 0;
610 
611  /*******************************************************************
612  * RX methods
613  ******************************************************************/
622  virtual void set_rx_subdev_spec(
623  const uhd::usrp::subdev_spec_t& spec, size_t mboard = ALL_MBOARDS) = 0;
624 
630  virtual uhd::usrp::subdev_spec_t get_rx_subdev_spec(size_t mboard = 0) = 0;
631 
637  virtual size_t get_rx_num_channels(void) = 0;
638 
644  virtual std::string get_rx_subdev_name(size_t chan = 0) = 0;
645 
651  virtual void set_rx_rate(double rate, size_t chan = ALL_CHANS) = 0;
652 
662  virtual void set_rx_spp(const size_t spp, const size_t chan = ALL_CHANS) = 0;
663 
669  virtual double get_rx_rate(size_t chan = 0) = 0;
670 
676  virtual meta_range_t get_rx_rates(size_t chan = 0) = 0;
677 
685  const tune_request_t& tune_request, size_t chan = 0) = 0;
686 
692  virtual double get_rx_freq(size_t chan = 0) = 0;
693 
703  virtual freq_range_t get_rx_freq_range(size_t chan = 0) = 0;
704 
710  virtual freq_range_t get_fe_rx_freq_range(size_t chan = 0) = 0;
711 
712  /**************************************************************************
713  * LO controls
714  *************************************************************************/
728  virtual std::vector<std::string> get_rx_lo_names(size_t chan = 0) = 0;
729 
741  virtual void set_rx_lo_source(
742  const std::string& src, const std::string& name = ALL_LOS, size_t chan = 0) = 0;
743 
752  virtual const std::string get_rx_lo_source(
753  const std::string& name = ALL_LOS, size_t chan = 0) = 0;
754 
766  virtual std::vector<std::string> get_rx_lo_sources(
767  const std::string& name = ALL_LOS, size_t chan = 0) = 0;
768 
780  bool enabled, const std::string& name = ALL_LOS, size_t chan = 0) = 0;
781 
788  const std::string& name = ALL_LOS, size_t chan = 0) = 0;
789 
813  virtual double set_rx_lo_freq(
814  double freq, const std::string& name, size_t chan = 0) = 0;
815 
826  virtual double get_rx_lo_freq(const std::string& name, size_t chan = 0) = 0;
827 
838  const std::string& name, size_t chan = 0) = 0;
839 
852  virtual std::vector<std::string> get_tx_lo_names(size_t chan = 0) = 0;
853 
865  virtual void set_tx_lo_source(const std::string& src,
866  const std::string& name = ALL_LOS,
867  const size_t chan = 0) = 0;
868 
877  virtual const std::string get_tx_lo_source(
878  const std::string& name = ALL_LOS, const size_t chan = 0) = 0;
879 
890  virtual std::vector<std::string> get_tx_lo_sources(
891  const std::string& name = ALL_LOS, const size_t chan = 0) = 0;
892 
904  const bool enabled, const std::string& name = ALL_LOS, const size_t chan = 0) = 0;
905 
912  const std::string& name = ALL_LOS, const size_t chan = 0) = 0;
913 
937  virtual double set_tx_lo_freq(
938  const double freq, const std::string& name, const size_t chan = 0) = 0;
939 
950  virtual double get_tx_lo_freq(const std::string& name, const size_t chan = 0) = 0;
951 
962  const std::string& name, const size_t chan = 0) = 0;
963 
964  /**************************************************************************
965  * Gain controls
966  *************************************************************************/
974  virtual void set_rx_gain(double gain, const std::string& name, size_t chan = 0) = 0;
975 
988  virtual std::vector<std::string> get_rx_gain_profile_names(const size_t chan = 0) = 0;
989 
995  virtual void set_rx_gain_profile(
996  const std::string& profile, const size_t chan = 0) = 0;
997 
1003  virtual std::string get_rx_gain_profile(const size_t chan = 0) = 0;
1004 
1006  void set_rx_gain(double gain, size_t chan = 0)
1007  {
1008  return this->set_rx_gain(gain, ALL_GAINS, chan);
1009  }
1010 
1027  virtual void set_normalized_rx_gain(double gain, size_t chan = 0) = 0;
1028 
1037  virtual void set_rx_agc(bool enable, size_t chan = 0) = 0;
1038 
1046  virtual double get_rx_gain(const std::string& name, size_t chan = 0) = 0;
1047 
1049  double get_rx_gain(size_t chan = 0)
1050  {
1051  return this->get_rx_gain(ALL_GAINS, chan);
1052  }
1053 
1064  virtual double get_normalized_rx_gain(size_t chan = 0) = 0;
1065 
1073  virtual gain_range_t get_rx_gain_range(const std::string& name, size_t chan = 0) = 0;
1074 
1077  {
1078  return this->get_rx_gain_range(ALL_GAINS, chan);
1079  }
1080 
1087  virtual std::vector<std::string> get_rx_gain_names(size_t chan = 0) = 0;
1088 
1094  virtual void set_rx_antenna(const std::string& ant, size_t chan = 0) = 0;
1095 
1101  virtual std::string get_rx_antenna(size_t chan = 0) = 0;
1102 
1108  virtual std::vector<std::string> get_rx_antennas(size_t chan = 0) = 0;
1109 
1115  virtual void set_rx_bandwidth(double bandwidth, size_t chan = 0) = 0;
1116 
1122  virtual double get_rx_bandwidth(size_t chan = 0) = 0;
1123 
1129  virtual meta_range_t get_rx_bandwidth_range(size_t chan = 0) = 0;
1130 
1138  virtual dboard_iface::sptr get_rx_dboard_iface(size_t chan = 0) = 0;
1139 
1146  virtual sensor_value_t get_rx_sensor(const std::string& name, size_t chan = 0) = 0;
1147 
1153  virtual std::vector<std::string> get_rx_sensor_names(size_t chan = 0) = 0;
1154 
1167  virtual void set_rx_dc_offset(const bool enb, size_t chan = ALL_CHANS) = 0;
1168 
1176  virtual void set_rx_dc_offset(
1177  const std::complex<double>& offset, size_t chan = ALL_CHANS) = 0;
1178 
1183  virtual meta_range_t get_rx_dc_offset_range(size_t chan = 0) = 0;
1184 
1191  virtual void set_rx_iq_balance(const bool enb, size_t chan) = 0;
1192 
1200  virtual void set_rx_iq_balance(
1201  const std::complex<double>& correction, size_t chan = ALL_CHANS) = 0;
1202 
1203 
1204  /**************************************************************************
1205  * Power level controls
1206  *************************************************************************/
1223  virtual bool has_rx_power_reference(const size_t chan = 0) = 0;
1224 
1240  const double power_dbm, const size_t chan = 0) = 0;
1241 
1254  virtual double get_rx_power_reference(const size_t chan = 0) = 0;
1255 
1265  virtual meta_range_t get_rx_power_range(const size_t chan) = 0;
1266 
1267  /*******************************************************************
1268  * TX methods
1269  ******************************************************************/
1278  virtual void set_tx_subdev_spec(
1279  const uhd::usrp::subdev_spec_t& spec, size_t mboard = ALL_MBOARDS) = 0;
1280 
1286  virtual uhd::usrp::subdev_spec_t get_tx_subdev_spec(size_t mboard = 0) = 0;
1287 
1293  virtual size_t get_tx_num_channels(void) = 0;
1294 
1300  virtual std::string get_tx_subdev_name(size_t chan = 0) = 0;
1301 
1307  virtual void set_tx_rate(double rate, size_t chan = ALL_CHANS) = 0;
1308 
1314  virtual double get_tx_rate(size_t chan = 0) = 0;
1315 
1321  virtual meta_range_t get_tx_rates(size_t chan = 0) = 0;
1322 
1330  const tune_request_t& tune_request, size_t chan = 0) = 0;
1331 
1337  virtual double get_tx_freq(size_t chan = 0) = 0;
1338 
1348  virtual freq_range_t get_tx_freq_range(size_t chan = 0) = 0;
1349 
1355  virtual freq_range_t get_fe_tx_freq_range(size_t chan = 0) = 0;
1356 
1364  virtual void set_tx_gain(double gain, const std::string& name, size_t chan = 0) = 0;
1365 
1378  virtual std::vector<std::string> get_tx_gain_profile_names(const size_t chan = 0) = 0;
1379 
1385  virtual void set_tx_gain_profile(
1386  const std::string& profile, const size_t chan = 0) = 0;
1387 
1393  virtual std::string get_tx_gain_profile(const size_t chan = 0) = 0;
1394 
1396  void set_tx_gain(double gain, size_t chan = 0)
1397  {
1398  return this->set_tx_gain(gain, ALL_GAINS, chan);
1399  }
1400 
1411  virtual void set_normalized_tx_gain(double gain, size_t chan = 0) = 0;
1412 
1420  virtual double get_tx_gain(const std::string& name, size_t chan = 0) = 0;
1421 
1423  double get_tx_gain(size_t chan = 0)
1424  {
1425  return this->get_tx_gain(ALL_GAINS, chan);
1426  }
1427 
1438  virtual double get_normalized_tx_gain(size_t chan = 0) = 0;
1439 
1447  virtual gain_range_t get_tx_gain_range(const std::string& name, size_t chan = 0) = 0;
1448 
1451  {
1452  return this->get_tx_gain_range(ALL_GAINS, chan);
1453  }
1454 
1461  virtual std::vector<std::string> get_tx_gain_names(size_t chan = 0) = 0;
1462 
1463  /**************************************************************************
1464  * Power level controls
1465  *************************************************************************/
1482  virtual bool has_tx_power_reference(const size_t chan = 0) = 0;
1483 
1499  const double power_dbm, const size_t chan = 0) = 0;
1500 
1513  virtual double get_tx_power_reference(const size_t chan = 0) = 0;
1514 
1524  virtual meta_range_t get_tx_power_range(const size_t chan) = 0;
1525 
1531  virtual void set_tx_antenna(const std::string& ant, size_t chan = 0) = 0;
1532 
1538  virtual std::string get_tx_antenna(size_t chan = 0) = 0;
1539 
1545  virtual std::vector<std::string> get_tx_antennas(size_t chan = 0) = 0;
1546 
1552  virtual void set_tx_bandwidth(double bandwidth, size_t chan = 0) = 0;
1553 
1559  virtual double get_tx_bandwidth(size_t chan = 0) = 0;
1560 
1566  virtual meta_range_t get_tx_bandwidth_range(size_t chan = 0) = 0;
1567 
1575  virtual dboard_iface::sptr get_tx_dboard_iface(size_t chan = 0) = 0;
1576 
1583  virtual sensor_value_t get_tx_sensor(const std::string& name, size_t chan = 0) = 0;
1584 
1590  virtual std::vector<std::string> get_tx_sensor_names(size_t chan = 0) = 0;
1591 
1598  virtual void set_tx_dc_offset(
1599  const std::complex<double>& offset, size_t chan = ALL_CHANS) = 0;
1600 
1605  virtual meta_range_t get_tx_dc_offset_range(size_t chan = 0) = 0;
1606 
1614  virtual void set_tx_iq_balance(
1615  const std::complex<double>& correction, size_t chan = ALL_CHANS) = 0;
1616 
1617  /*******************************************************************
1618  * GPIO methods
1619  ******************************************************************/
1620 
1626  virtual std::vector<std::string> get_gpio_banks(const size_t mboard) = 0;
1627 
1644  virtual void set_gpio_attr(const std::string& bank,
1645  const std::string& attr,
1646  const uint32_t value,
1647  const uint32_t mask = 0xffffffff,
1648  const size_t mboard = 0) = 0;
1649 
1666  virtual uint32_t get_gpio_attr(
1667  const std::string& bank, const std::string& attr, const size_t mboard = 0) = 0;
1668 
1682  virtual std::vector<std::string> get_gpio_src_banks(const size_t mboard = 0) = 0;
1683 
1694  virtual std::vector<std::string> get_gpio_srcs(
1695  const std::string& bank, const size_t mboard = 0) = 0;
1696 
1706  virtual std::vector<std::string> get_gpio_src(
1707  const std::string& bank, const size_t mboard = 0) = 0;
1708 
1719  virtual void set_gpio_src(const std::string& bank,
1720  const std::vector<std::string>& src,
1721  const size_t mboard = 0) = 0;
1722 
1723  /*******************************************************************
1724  * Filter API methods
1725  ******************************************************************/
1726  // TODO: This should be a const function, but I don't want to wrestle with the
1727  // compiler right now
1735  virtual std::vector<std::string> get_rx_filter_names(const size_t chan) = 0;
1736 
1744  const std::string& name, const size_t chan) = 0;
1745 
1753  virtual void set_rx_filter(const std::string& name,
1755  const size_t chan) = 0;
1756 
1757  // TODO: This should be a const function, but I don't want to wrestle with the
1758  // compiler right now
1766  virtual std::vector<std::string> get_tx_filter_names(const size_t chan) = 0;
1767 
1775  const std::string& name, const size_t chan) = 0;
1776 
1784  virtual void set_tx_filter(const std::string& name,
1786  const size_t chan) = 0;
1787 
1805  virtual uhd::rfnoc::mb_controller& get_mb_controller(const size_t mboard = 0) = 0;
1806 };
1807 
1808 } // namespace usrp
1809 } // namespace uhd
uhd::soft_reg_field::mask
UHD_INLINE data_t mask(const soft_reg_field_t field)
Definition: soft_register.hpp:87
uhd::usrp::multi_usrp::clear_command_time
virtual void clear_command_time(size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::get_rx_power_range
virtual meta_range_t get_rx_power_range(const size_t chan)=0
uhd::usrp::multi_usrp::get_time_last_pps
virtual time_spec_t get_time_last_pps(size_t mboard=0)=0
uhd::usrp::multi_usrp::set_rx_freq
virtual tune_result_t set_rx_freq(const tune_request_t &tune_request, size_t chan=0)=0
uhd::usrp::multi_usrp::set_user_register
virtual void set_user_register(const uint8_t addr, const uint32_t data, size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::get_sync_source
virtual device_addr_t get_sync_source(const size_t mboard)=0
uhd::usrp::multi_usrp::get_rx_dc_offset_range
virtual meta_range_t get_rx_dc_offset_range(size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_gain_range
virtual gain_range_t get_tx_gain_range(const std::string &name, size_t chan=0)=0
uhd::usrp::multi_usrp::get_normalized_tx_gain
virtual double get_normalized_tx_gain(size_t chan=0)=0
sensors.hpp
uhd::usrp::multi_usrp::get_tx_power_reference
virtual double get_tx_power_reference(const size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_gain
virtual double get_tx_gain(const std::string &name, size_t chan=0)=0
uhd::usrp::multi_usrp::set_tx_gain
virtual void set_tx_gain(double gain, const std::string &name, size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_subdev_name
virtual std::string get_tx_subdev_name(size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_filter
virtual uhd::filter_info_base::sptr get_rx_filter(const std::string &name, const size_t chan)=0
uhd::usrp::multi_usrp::set_clock_source_out
virtual void set_clock_source_out(const bool enb, const size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::get_pp_string
virtual std::string get_pp_string(void)=0
uhd::usrp::multi_usrp::get_rx_lo_freq
virtual double get_rx_lo_freq(const std::string &name, size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_gain
virtual double get_rx_gain(const std::string &name, size_t chan=0)=0
radio_control.hpp
uhd::usrp::multi_usrp::get_mboard_sensor_names
virtual std::vector< std::string > get_mboard_sensor_names(size_t mboard=0)=0
config.hpp
uhd::wb_iface::sptr
std::shared_ptr< wb_iface > sptr
Definition: wb_iface.hpp:20
uhd::usrp::multi_usrp::set_tx_iq_balance
virtual void set_tx_iq_balance(const std::complex< double > &correction, size_t chan=ALL_CHANS)=0
uhd::usrp::multi_usrp::get_mb_controller
virtual uhd::rfnoc::mb_controller & get_mb_controller(const size_t mboard=0)=0
device.hpp
uhd::usrp::multi_usrp::set_rx_gain_profile
virtual void set_rx_gain_profile(const std::string &profile, const size_t chan=0)=0
uhd::usrp::multi_usrp::get_time_sources
virtual std::vector< std::string > get_time_sources(const size_t mboard)=0
uhd::usrp::multi_usrp::get_gpio_src
virtual std::vector< std::string > get_gpio_src(const std::string &bank, const size_t mboard=0)=0
uhd::usrp::multi_usrp::get_rx_freq_range
virtual freq_range_t get_rx_freq_range(size_t chan=0)=0
uhd::usrp::multi_usrp::get_gpio_src_banks
virtual std::vector< std::string > get_gpio_src_banks(const size_t mboard=0)=0
uhd::usrp::multi_usrp::set_tx_bandwidth
virtual void set_tx_bandwidth(double bandwidth, size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_dboard_iface
virtual dboard_iface::sptr get_rx_dboard_iface(size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_num_channels
virtual size_t get_tx_num_channels(void)=0
tune_request.hpp
uhd::usrp::multi_usrp::set_tx_gain
void set_tx_gain(double gain, size_t chan=0)
A convenience wrapper for setting overall TX gain.
Definition: multi_usrp.hpp:1396
uhd::usrp::multi_usrp::get_tx_gain_names
virtual std::vector< std::string > get_tx_gain_names(size_t chan=0)=0
uhd::usrp::multi_usrp::set_sync_source
virtual void set_sync_source(const std::string &clock_source, const std::string &time_source, const size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::get_rx_lo_source
virtual const std::string get_rx_lo_source(const std::string &name=ALL_LOS, size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_freq
virtual double get_rx_freq(size_t chan=0)=0
uhd::usrp::multi_usrp::set_rx_power_reference
virtual void set_rx_power_reference(const double power_dbm, const size_t chan=0)=0
uhd::usrp::multi_usrp::set_tx_lo_freq
virtual double set_tx_lo_freq(const double freq, const std::string &name, const size_t chan=0)=0
uhd::usrp::multi_usrp::set_rx_lo_freq
virtual double set_rx_lo_freq(double freq, const std::string &name, size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_gain_profile
virtual std::string get_tx_gain_profile(const size_t chan=0)=0
uhd::rx_streamer::sptr
std::shared_ptr< rx_streamer > sptr
Definition: stream.hpp:172
dboard_iface.hpp
uhd::usrp::multi_usrp::set_tx_subdev_spec
virtual void set_tx_subdev_spec(const uhd::usrp::subdev_spec_t &spec, size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::get_tx_gain_range
gain_range_t get_tx_gain_range(size_t chan=0)
A convenience wrapper for getting overall TX gain range.
Definition: multi_usrp.hpp:1450
uhd::tx_streamer::sptr
std::shared_ptr< tx_streamer > sptr
Definition: stream.hpp:250
uhd::rfnoc::mb_controller
Definition: mb_controller.hpp:25
uhd::usrp::multi_usrp::set_rx_filter
virtual void set_rx_filter(const std::string &name, uhd::filter_info_base::sptr filter, const size_t chan)=0
uhd::usrp::multi_usrp::get_fe_rx_freq_range
virtual freq_range_t get_fe_rx_freq_range(size_t chan=0)=0
uhd::usrp::multi_usrp::set_gpio_attr
virtual void set_gpio_attr(const std::string &bank, const std::string &attr, const uint32_t value, const uint32_t mask=0xffffffff, const size_t mboard=0)=0
uhd::usrp::multi_usrp::get_normalized_rx_gain
virtual double get_normalized_rx_gain(size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_dc_offset_range
virtual meta_range_t get_tx_dc_offset_range(size_t chan=0)=0
uhd::usrp::multi_usrp::set_time_source_out
virtual void set_time_source_out(const bool enb, const size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::set_master_clock_rate
virtual void set_master_clock_rate(double rate, size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::set_tx_filter
virtual void set_tx_filter(const std::string &name, uhd::filter_info_base::sptr filter, const size_t chan)=0
uhd::usrp::multi_usrp::get_time_now
virtual time_spec_t get_time_now(size_t mboard=0)=0
uhd::usrp::multi_usrp::sptr
std::shared_ptr< multi_usrp > sptr
Definition: multi_usrp.hpp:100
uhd::usrp::multi_usrp::set_time_source
virtual void set_time_source(const std::string &source, const size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::set_rx_iq_balance
virtual void set_rx_iq_balance(const bool enb, size_t chan)=0
uhd::usrp::multi_usrp::get_tx_antennas
virtual std::vector< std::string > get_tx_antennas(size_t chan=0)=0
uhd::usrp::multi_usrp::set_rx_dc_offset
virtual void set_rx_dc_offset(const bool enb, size_t chan=ALL_CHANS)=0
UHD_API
#define UHD_API
Definition: config.h:67
uhd::usrp::cal::source
source
Identify the source of calibration data, i.e., where was it stored.
Definition: database.hpp:22
uhd::usrp::multi_usrp::get_tx_sensor_names
virtual std::vector< std::string > get_tx_sensor_names(size_t chan=0)=0
uhd::usrp::multi_usrp::get_tree
virtual uhd::property_tree::sptr get_tree(void) const =0
uhd::property_tree::sptr
std::shared_ptr< property_tree > sptr
Definition: property_tree.hpp:217
uhd::usrp::multi_usrp::make
static sptr make(const device_addr_t &dev_addr)
noncopyable.hpp
uhd::usrp::dboard_iface::sptr
std::shared_ptr< dboard_iface > sptr
Definition: dboard_iface.hpp:55
uhd::usrp::multi_usrp::set_rx_bandwidth
virtual void set_rx_bandwidth(double bandwidth, size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_sensor
virtual sensor_value_t get_tx_sensor(const std::string &name, size_t chan=0)=0
uhd::usrp::multi_usrp::~multi_usrp
virtual ~multi_usrp(void)=0
uhd::usrp::multi_usrp::get_user_settings_iface
virtual uhd::wb_iface::sptr get_user_settings_iface(const size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_lo_freq_range
virtual freq_range_t get_tx_lo_freq_range(const std::string &name, const size_t chan=0)=0
uhd::usrp::multi_usrp::get_gpio_banks
virtual std::vector< std::string > get_gpio_banks(const size_t mboard)=0
uhd::usrp::multi_usrp::get_master_clock_rate
virtual double get_master_clock_rate(size_t mboard=0)=0
uhd::usrp::multi_usrp::set_tx_power_reference
virtual void set_tx_power_reference(const double power_dbm, const size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_bandwidth
virtual double get_tx_bandwidth(size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_bandwidth_range
virtual meta_range_t get_rx_bandwidth_range(size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_gain_profile_names
virtual std::vector< std::string > get_rx_gain_profile_names(const size_t chan=0)=0
uhd::usrp::multi_usrp::get_sync_sources
virtual std::vector< device_addr_t > get_sync_sources(const size_t mboard)=0
uhd::usrp::multi_usrp::get_rx_sensor
virtual sensor_value_t get_rx_sensor(const std::string &name, size_t chan=0)=0
stream_cmd.hpp
uhd::device_addr_t
Definition: device_addr.hpp:38
uhd::filter_info_base::sptr
std::shared_ptr< filter_info_base > sptr
Definition: filters.hpp:26
subdev_spec.hpp
uhd::usrp::multi_usrp::get_fe_tx_freq_range
virtual freq_range_t get_fe_tx_freq_range(size_t chan=0)=0
uhd::usrp::multi_usrp::set_normalized_tx_gain
virtual void set_normalized_tx_gain(double gain, size_t chan=0)=0
uhd::usrp::multi_usrp::set_tx_antenna
virtual void set_tx_antenna(const std::string &ant, size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_gain_names
virtual std::vector< std::string > get_rx_gain_names(size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_stream
virtual tx_streamer::sptr get_tx_stream(const stream_args_t &args)=0
Convenience method to get a TX streamer. See also uhd::device::get_tx_stream().
uhd::usrp::multi_usrp::set_tx_rate
virtual void set_tx_rate(double rate, size_t chan=ALL_CHANS)=0
uhd::usrp::multi_usrp::set_clock_source
virtual void set_clock_source(const std::string &source, const size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::get_tx_rates
virtual meta_range_t get_tx_rates(size_t chan=0)=0
uhd::usrp::multi_usrp::set_tx_dc_offset
virtual void set_tx_dc_offset(const std::complex< double > &offset, size_t chan=ALL_CHANS)=0
uhd::usrp::multi_usrp::get_rx_antennas
virtual std::vector< std::string > get_rx_antennas(size_t chan=0)=0
uhd::usrp::multi_usrp::set_tx_gain_profile
virtual void set_tx_gain_profile(const std::string &profile, const size_t chan=0)=0
uhd::usrp::multi_usrp::get_time_synchronized
virtual bool get_time_synchronized(void)=0
uhd::usrp::multi_usrp::get_tx_rate
virtual double get_tx_rate(size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_lo_names
virtual std::vector< std::string > get_rx_lo_names(size_t chan=0)=0
uhd
Definition: build_info.hpp:12
uhd::usrp::multi_usrp::get_tx_filter
virtual uhd::filter_info_base::sptr get_tx_filter(const std::string &name, const size_t chan)=0
uhd::usrp::multi_usrp::get_clock_source
virtual std::string get_clock_source(const size_t mboard)=0
uhd::usrp::multi_usrp::set_rx_subdev_spec
virtual void set_rx_subdev_spec(const uhd::usrp::subdev_spec_t &spec, size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::has_rx_power_reference
virtual bool has_rx_power_reference(const size_t chan=0)=0
uhd::time_spec_t
Definition: time_spec.hpp:31
uhd::usrp::multi_usrp::get_master_clock_rate_range
virtual meta_range_t get_master_clock_rate_range(const size_t mboard=0)=0
uhd::usrp::multi_usrp::get_tx_lo_freq
virtual double get_tx_lo_freq(const std::string &name, const size_t chan=0)=0
uhd::usrp::multi_usrp::set_rx_lo_export_enabled
virtual void set_rx_lo_export_enabled(bool enabled, const std::string &name=ALL_LOS, size_t chan=0)=0
uhd::rfnoc::radio_control
Definition: radio_control.hpp:25
uhd::usrp::multi_usrp::set_rx_dc_offset
virtual void set_rx_dc_offset(const std::complex< double > &offset, size_t chan=ALL_CHANS)=0
ranges.hpp
uhd::usrp::multi_usrp::get_tx_power_range
virtual meta_range_t get_tx_power_range(const size_t chan)=0
uhd::usrp::multi_usrp::get_rx_lo_sources
virtual std::vector< std::string > get_rx_lo_sources(const std::string &name=ALL_LOS, size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_gain_profile_names
virtual std::vector< std::string > get_tx_gain_profile_names(const size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_freq_range
virtual freq_range_t get_tx_freq_range(size_t chan=0)=0
uhd::stream_cmd_t
Definition: stream_cmd.hpp:36
uhd::tune_request_t
Definition: tune_request.hpp:25
uhd::usrp::multi_usrp::set_rx_agc
virtual void set_rx_agc(bool enable, size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_lo_freq_range
virtual freq_range_t get_rx_lo_freq_range(const std::string &name, size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_num_channels
virtual size_t get_rx_num_channels(void)=0
uhd::usrp::multi_usrp::get_rx_rates
virtual meta_range_t get_rx_rates(size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_lo_export_enabled
virtual bool get_rx_lo_export_enabled(const std::string &name=ALL_LOS, size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_lo_source
virtual const std::string get_tx_lo_source(const std::string &name=ALL_LOS, const size_t chan=0)=0
uhd::usrp::multi_usrp::get_gpio_attr
virtual uint32_t get_gpio_attr(const std::string &bank, const std::string &attr, const size_t mboard=0)=0
uhd::usrp::multi_usrp::ALL_GAINS
static const std::string ALL_GAINS
A wildcard gain element name.
Definition: multi_usrp.hpp:111
uhd::usrp::multi_usrp::get_tx_lo_export_enabled
virtual bool get_tx_lo_export_enabled(const std::string &name=ALL_LOS, const size_t chan=0)=0
uhd::usrp::multi_usrp::set_command_time
virtual void set_command_time(const uhd::time_spec_t &time_spec, size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::get_tx_filter_names
virtual std::vector< std::string > get_tx_filter_names(const size_t chan)=0
uhd::usrp::multi_usrp::set_tx_lo_export_enabled
virtual void set_tx_lo_export_enabled(const bool enabled, const std::string &name=ALL_LOS, const size_t chan=0)=0
uhd::usrp::multi_usrp::set_rx_antenna
virtual void set_rx_antenna(const std::string &ant, size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_rate
virtual double get_rx_rate(size_t chan=0)=0
filters.hpp
uhd::usrp::multi_usrp::issue_stream_cmd
virtual void issue_stream_cmd(const stream_cmd_t &stream_cmd, size_t chan=ALL_CHANS)=0
uhd::dict< std::string, std::string >
uhd::usrp::multi_usrp::get_rx_gain_range
virtual gain_range_t get_rx_gain_range(const std::string &name, size_t chan=0)=0
uhd::usrp::multi_usrp::has_tx_power_reference
virtual bool has_tx_power_reference(const size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_sensor_names
virtual std::vector< std::string > get_rx_sensor_names(size_t chan=0)=0
uhd::stream_args_t
Definition: stream.hpp:59
uhd::usrp::multi_usrp::set_rx_spp
virtual void set_rx_spp(const size_t spp, const size_t chan=ALL_CHANS)=0
uhd::usrp::multi_usrp::get_rx_gain_profile
virtual std::string get_rx_gain_profile(const size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_subdev_spec
virtual uhd::usrp::subdev_spec_t get_tx_subdev_spec(size_t mboard=0)=0
uhd::usrp::multi_usrp::set_normalized_rx_gain
virtual void set_normalized_rx_gain(double gain, size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_lo_sources
virtual std::vector< std::string > get_tx_lo_sources(const std::string &name=ALL_LOS, const size_t chan=0)=0
uhd::usrp::multi_usrp::get_tx_gain
double get_tx_gain(size_t chan=0)
A convenience wrapper for getting overall TX gain.
Definition: multi_usrp.hpp:1423
uhd::usrp::multi_usrp::set_rx_lo_source
virtual void set_rx_lo_source(const std::string &src, const std::string &name=ALL_LOS, size_t chan=0)=0
uhd::usrp::multi_usrp::set_time_now
virtual void set_time_now(const time_spec_t &time_spec, size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::get_clock_sources
virtual std::vector< std::string > get_clock_sources(const size_t mboard)=0
uhd::device::sptr
std::shared_ptr< device > sptr
Definition: device.hpp:29
uhd::usrp::multi_usrp
Definition: multi_usrp.hpp:98
uhd::usrp::multi_usrp::get_time_source
virtual std::string get_time_source(const size_t mboard)=0
uhd::usrp::multi_usrp::get_tx_freq
virtual double get_tx_freq(size_t chan=0)=0
uhd::usrp::multi_usrp::set_tx_lo_source
virtual void set_tx_lo_source(const std::string &src, const std::string &name=ALL_LOS, const size_t chan=0)=0
wb_iface.hpp
uhd::usrp::multi_usrp::set_time_next_pps
virtual void set_time_next_pps(const time_spec_t &time_spec, size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::set_tx_freq
virtual tune_result_t set_tx_freq(const tune_request_t &tune_request, size_t chan=0)=0
uhd::usrp::multi_usrp::set_gpio_src
virtual void set_gpio_src(const std::string &bank, const std::vector< std::string > &src, const size_t mboard=0)=0
uhd::usrp::multi_usrp::get_num_mboards
virtual size_t get_num_mboards(void)=0
uhd::usrp::multi_usrp::get_usrp_rx_info
virtual dict< std::string, std::string > get_usrp_rx_info(size_t chan=0)=0
uhd::usrp::multi_usrp::set_rx_gain
void set_rx_gain(double gain, size_t chan=0)
A convenience wrapper for setting overall RX gain.
Definition: multi_usrp.hpp:1006
uhd::usrp::multi_usrp::set_sync_source
virtual void set_sync_source(const device_addr_t &sync_source, const size_t mboard=ALL_MBOARDS)=0
uhd::usrp::multi_usrp::get_tx_lo_names
virtual std::vector< std::string > get_tx_lo_names(size_t chan=0)=0
uhd::usrp::multi_usrp::set_rx_rate
virtual void set_rx_rate(double rate, size_t chan=ALL_CHANS)=0
uhd::noncopyable
boost::noncopyable noncopyable
Definition: noncopyable.hpp:45
uhd::usrp::multi_usrp::get_rx_subdev_spec
virtual uhd::usrp::subdev_spec_t get_rx_subdev_spec(size_t mboard=0)=0
uhd::usrp::multi_usrp::ALL_LOS
static const std::string ALL_LOS
A wildcard LO stage name.
Definition: multi_usrp.hpp:114
uhd::usrp::subdev_spec_t
Definition: subdev_spec.hpp:60
uhd::usrp::multi_usrp::get_rx_gain
double get_rx_gain(size_t chan=0)
A convenience wrapper for getting overall RX gain.
Definition: multi_usrp.hpp:1049
uhd::usrp::multi_usrp::get_usrp_tx_info
virtual dict< std::string, std::string > get_usrp_tx_info(size_t chan=0)=0
mb_controller.hpp
uhd::usrp::multi_usrp::get_device
virtual device::sptr get_device(void)=0
uhd::usrp::multi_usrp::get_rx_antenna
virtual std::string get_rx_antenna(size_t chan=0)=0
uhd::usrp::multi_usrp::ALL_CHANS
static const size_t ALL_CHANS
A wildcard channel index.
Definition: multi_usrp.hpp:108
uhd::usrp::multi_usrp::set_rx_iq_balance
virtual void set_rx_iq_balance(const std::complex< double > &correction, size_t chan=ALL_CHANS)=0
uhd::usrp::multi_usrp::ALL_MBOARDS
static const size_t ALL_MBOARDS
A wildcard motherboard index.
Definition: multi_usrp.hpp:105
uhd::usrp::multi_usrp::get_tx_bandwidth_range
virtual meta_range_t get_tx_bandwidth_range(size_t chan=0)=0
uhd::usrp::multi_usrp::get_mboard_name
virtual std::string get_mboard_name(size_t mboard=0)=0
uhd::usrp::multi_usrp::get_rx_filter_names
virtual std::vector< std::string > get_rx_filter_names(const size_t chan)=0
uhd::usrp::multi_usrp::get_rx_power_reference
virtual double get_rx_power_reference(const size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_bandwidth
virtual double get_rx_bandwidth(size_t chan=0)=0
uhd::usrp::multi_usrp::get_radio_control
virtual uhd::rfnoc::radio_control & get_radio_control(const size_t chan=0)=0
uhd::sensor_value_t
Definition: sensors.hpp:29
uhd::usrp::multi_usrp::get_tx_dboard_iface
virtual dboard_iface::sptr get_tx_dboard_iface(size_t chan=0)=0
uhd::usrp::multi_usrp::get_mboard_sensor
virtual sensor_value_t get_mboard_sensor(const std::string &name, size_t mboard=0)=0
uhd::usrp::multi_usrp::get_gpio_srcs
virtual std::vector< std::string > get_gpio_srcs(const std::string &bank, const size_t mboard=0)=0
uhd::usrp::multi_usrp::get_rx_gain_range
gain_range_t get_rx_gain_range(size_t chan=0)
A convenience wrapper for getting overall RX gain range.
Definition: multi_usrp.hpp:1076
uhd::meta_range_t
Definition: ranges.hpp:65
uhd::usrp::multi_usrp::get_tx_antenna
virtual std::string get_tx_antenna(size_t chan=0)=0
uhd::usrp::multi_usrp::get_rx_stream
virtual rx_streamer::sptr get_rx_stream(const stream_args_t &args)=0
Convenience method to get a RX streamer. See also uhd::device::get_rx_stream().
uhd::usrp::multi_usrp::get_rx_subdev_name
virtual std::string get_rx_subdev_name(size_t chan=0)=0
uhd::usrp::multi_usrp::set_rx_gain
virtual void set_rx_gain(double gain, const std::string &name, size_t chan=0)=0
tune_result.hpp
uhd::usrp::multi_usrp::set_time_unknown_pps
virtual void set_time_unknown_pps(const time_spec_t &time_spec)=0
uhd::tune_result_t
Definition: tune_result.hpp:19