8 #ifndef INCLUDED_UHD_USRP_DBOARD_IFACE_HPP 9 #define INCLUDED_UHD_USRP_DBOARD_IFACE_HPP 18 #include <boost/shared_ptr.hpp> 19 #include <boost/thread/thread.hpp> 23 namespace uhd {
namespace usrp {
56 typedef boost::shared_ptr<dboard_iface>
sptr;
75 enum aux_adc_t { AUX_ADC_A = int(
'a'), AUX_ADC_B = int(
'b') };
87 virtual special_props_t get_special_props(
void) = 0;
96 virtual void write_aux_dac(
unit_t unit,
aux_dac_t which_dac,
double value) = 0;
114 virtual void set_pin_ctrl(
unit_t unit, uint32_t value, uint32_t
mask = 0xffff) = 0;
122 virtual uint32_t get_pin_ctrl(
unit_t unit) = 0;
132 virtual void set_atr_reg(
133 unit_t unit, atr_reg_t reg, uint32_t value, uint32_t
mask = 0xffff) = 0;
142 virtual uint32_t get_atr_reg(
unit_t unit, atr_reg_t reg) = 0;
151 virtual void set_gpio_ddr(
unit_t unit, uint32_t value, uint32_t
mask = 0xffff) = 0;
159 virtual uint32_t get_gpio_ddr(
unit_t unit) = 0;
168 virtual void set_gpio_out(
unit_t unit, uint32_t value, uint32_t
mask = 0xffff) = 0;
176 virtual uint32_t get_gpio_out(
unit_t unit) = 0;
184 virtual uint32_t read_gpio(
unit_t unit) = 0;
194 virtual void write_spi(
206 virtual uint32_t read_write_spi(
215 virtual void set_clock_rate(
unit_t unit,
double rate) = 0;
223 virtual double get_clock_rate(
unit_t unit) = 0;
231 virtual std::vector<double> get_clock_rates(
unit_t unit) = 0;
239 virtual void set_clock_enabled(
unit_t unit,
bool enb) = 0;
248 virtual double get_codec_rate(
unit_t unit) = 0;
257 virtual void set_fe_connection(
unit_t unit,
258 const std::string& fe_name,
284 virtual void sleep(
const boost::chrono::nanoseconds& time);
virtual ~dboard_iface(void)
Definition: dboard_iface.hpp:79
aux_adc_t
aux adc selection enums (per unit)
Definition: dboard_iface.hpp:75
Definition: serial.hpp:35
uhd::usrp::gpio_atr::gpio_atr_reg_t atr_reg_t
Definition: dboard_iface.hpp:77
Definition: time_spec.hpp:29
aux_dac_t
aux dac selection enums (per unit)
Definition: dboard_iface.hpp:67
Definition: build_info.hpp:13
Definition: dboard_iface.hpp:53
bool soft_clock_divider
Definition: dboard_iface.hpp:34
Definition: serial.hpp:82
Definition: fe_connection.hpp:17
gpio_atr_reg_t
Definition: gpio_defs.hpp:13
#define UHD_API
Definition: config.h:68
UHD_INLINE data_t mask(const soft_reg_field_t field)
Definition: soft_register.hpp:88
boost::shared_ptr< dboard_iface > sptr
Definition: dboard_iface.hpp:56
dboard_iface_special_props_t special_props_t
Definition: dboard_iface.hpp:57
Special properties that differentiate this daughterboard slot.
Definition: dboard_iface.hpp:26
virtual bool has_set_fe_connection(const unit_t)
Definition: dboard_iface.hpp:263
unit_t
tells the host which unit to use
Definition: dboard_iface.hpp:60
bool mangle_i2c_addrs
Definition: dboard_iface.hpp:44