18 #ifndef INCLUDED_UHD_USRP_DBOARD_IFACE_HPP 19 #define INCLUDED_UHD_USRP_DBOARD_IFACE_HPP 24 #include <boost/shared_ptr.hpp> 25 #include <boost/cstdint.hpp> 29 namespace uhd{
namespace usrp{
60 typedef boost::shared_ptr<dboard_iface>
sptr;
71 ATR_REG_IDLE = int(
'i'),
72 ATR_REG_TX_ONLY = int(
't'),
73 ATR_REG_RX_ONLY = int(
'r'),
74 ATR_REG_FULL_DUPLEX = int(
'f')
97 virtual special_props_t get_special_props(
void) = 0;
106 virtual void write_aux_dac(
unit_t unit,
aux_dac_t which_dac,
double value) = 0;
124 virtual void set_pin_ctrl(
125 unit_t unit, boost::uint16_t value, boost::uint16_t mask = 0xffff
134 virtual boost::uint16_t get_pin_ctrl(
unit_t unit);
144 virtual void set_atr_reg(
145 unit_t unit,
atr_reg_t reg, boost::uint16_t value, boost::uint16_t mask = 0xffff
164 virtual void set_gpio_ddr(
165 unit_t unit, boost::uint16_t value, boost::uint16_t mask = 0xffff
174 virtual boost::uint16_t get_gpio_ddr(
unit_t unit);
183 virtual void set_gpio_out(
184 unit_t unit, boost::uint16_t value, boost::uint16_t mask = 0xffff
193 virtual boost::uint16_t get_gpio_out(
unit_t unit);
201 virtual void set_gpio_debug(
unit_t unit,
int which) = 0;
209 virtual boost::uint16_t read_gpio(
unit_t unit) = 0;
219 virtual void write_spi(
222 boost::uint32_t data,
235 virtual boost::uint32_t read_write_spi(
238 boost::uint32_t data,
248 virtual void set_clock_rate(
unit_t unit,
double rate) = 0;
256 virtual double get_clock_rate(
unit_t unit) = 0;
264 virtual std::vector<double> get_clock_rates(
unit_t unit) = 0;
272 virtual void set_clock_enabled(
unit_t unit,
bool enb) = 0;
281 virtual double get_codec_rate(
unit_t unit) = 0;
286 virtual void _set_pin_ctrl(
unit_t unit, boost::uint16_t value) = 0;
287 virtual void _set_atr_reg(
unit_t unit,
atr_reg_t reg, boost::uint16_t value) = 0;
288 virtual void _set_gpio_ddr(
unit_t unit, boost::uint16_t value) = 0;
289 virtual void _set_gpio_out(
unit_t unit, boost::uint16_t value) = 0;
aux_adc_t
aux adc selection enums (per unit)
Definition: dboard_iface.hpp:86
Definition: serial.hpp:45
#define UHD_API
Definition: config.hpp:79
aux_dac_t
aux dac selection enums (per unit)
Definition: dboard_iface.hpp:78
Definition: convert.hpp:28
Definition: dboard_iface.hpp:58
bool soft_clock_divider
Definition: dboard_iface.hpp:39
Definition: serial.hpp:105
#define UHD_PIMPL_DECL(_name)
Definition: pimpl.hpp:42
boost::shared_ptr< dboard_iface > sptr
Definition: dboard_iface.hpp:60
dboard_iface_special_props_t special_props_t
Definition: dboard_iface.hpp:61
Special properties that differentiate this daughterboard slot.
Definition: dboard_iface.hpp:32
unit_t
tells the host which unit to use
Definition: dboard_iface.hpp:64
bool mangle_i2c_addrs
Definition: dboard_iface.hpp:49
atr_reg_t
possible atr registers
Definition: dboard_iface.hpp:70