18 #ifndef INCLUDED_UHD_USRP_DBOARD_IFACE_HPP
19 #define INCLUDED_UHD_USRP_DBOARD_IFACE_HPP
25 #include <boost/shared_ptr.hpp>
26 #include <boost/cstdint.hpp>
30 namespace uhd{
namespace usrp{
61 typedef boost::shared_ptr<dboard_iface>
sptr;
72 ATR_REG_IDLE = int(
'i'),
73 ATR_REG_TX_ONLY = int(
't'),
74 ATR_REG_RX_ONLY = int(
'r'),
75 ATR_REG_FULL_DUPLEX = int(
'f')
98 virtual special_props_t get_special_props(
void) = 0;
107 virtual void write_aux_dac(unit_t unit, aux_dac_t which_dac,
double value) = 0;
116 virtual double read_aux_adc(unit_t unit, aux_adc_t which_adc) = 0;
125 virtual void set_pin_ctrl(
126 unit_t unit, boost::uint16_t value, boost::uint16_t mask = 0xffff
135 virtual boost::uint16_t get_pin_ctrl(unit_t unit);
145 virtual void set_atr_reg(
146 unit_t unit, atr_reg_t reg, boost::uint16_t value, boost::uint16_t mask = 0xffff
156 virtual boost::uint16_t get_atr_reg(unit_t unit, atr_reg_t reg);
165 virtual void set_gpio_ddr(
166 unit_t unit, boost::uint16_t value, boost::uint16_t mask = 0xffff
175 virtual boost::uint16_t get_gpio_ddr(unit_t unit);
184 virtual void set_gpio_out(
185 unit_t unit, boost::uint16_t value, boost::uint16_t mask = 0xffff
194 virtual boost::uint16_t get_gpio_out(unit_t unit);
202 virtual void set_gpio_debug(unit_t unit,
int which) = 0;
210 virtual boost::uint16_t read_gpio(unit_t unit) = 0;
220 virtual void write_spi(
223 boost::uint32_t data,
236 virtual boost::uint32_t read_write_spi(
239 boost::uint32_t data,
249 virtual void set_clock_rate(unit_t unit,
double rate) = 0;
257 virtual double get_clock_rate(unit_t unit) = 0;
265 virtual std::vector<double> get_clock_rates(unit_t unit) = 0;
273 virtual void set_clock_enabled(unit_t unit,
bool enb) = 0;
282 virtual double get_codec_rate(unit_t unit) = 0;
299 virtual
void _set_pin_ctrl(unit_t unit, boost::uint16_t value) = 0;
300 virtual
void _set_atr_reg(unit_t unit, atr_reg_t reg, boost::uint16_t value) = 0;
301 virtual
void _set_gpio_ddr(unit_t unit, boost::uint16_t value) = 0;
302 virtual
void _set_gpio_out(unit_t unit, boost::uint16_t value) = 0;