22 namespace uhd {
namespace usrp {
55 typedef std::shared_ptr<dboard_iface>
sptr;
74 enum aux_adc_t { AUX_ADC_A = int(
'a'), AUX_ADC_B = int(
'b') };
86 virtual special_props_t get_special_props(
void) = 0;
95 virtual void write_aux_dac(unit_t unit, aux_dac_t which_dac,
double value) = 0;
104 virtual double read_aux_adc(unit_t unit, aux_adc_t which_adc) = 0;
113 virtual void set_pin_ctrl(unit_t unit, uint32_t value, uint32_t
mask = 0xffff) = 0;
121 virtual uint32_t get_pin_ctrl(unit_t unit) = 0;
131 virtual void set_atr_reg(
132 unit_t unit, atr_reg_t reg, uint32_t value, uint32_t
mask = 0xffff) = 0;
141 virtual uint32_t get_atr_reg(unit_t unit, atr_reg_t reg) = 0;
150 virtual void set_gpio_ddr(unit_t unit, uint32_t value, uint32_t
mask = 0xffff) = 0;
158 virtual uint32_t get_gpio_ddr(unit_t unit) = 0;
167 virtual void set_gpio_out(unit_t unit, uint32_t value, uint32_t
mask = 0xffff) = 0;
175 virtual uint32_t get_gpio_out(unit_t unit) = 0;
183 virtual uint32_t read_gpio(unit_t unit) = 0;
193 virtual void write_spi(
194 unit_t unit,
const spi_config_t& config, uint32_t data,
size_t num_bits) = 0;
205 virtual uint32_t read_write_spi(
206 unit_t unit,
const spi_config_t& config, uint32_t data,
size_t num_bits) = 0;
214 virtual void set_clock_rate(unit_t unit,
double rate) = 0;
222 virtual double get_clock_rate(unit_t unit) = 0;
230 virtual std::vector<double> get_clock_rates(unit_t unit) = 0;
238 virtual void set_clock_enabled(unit_t unit,
bool enb) = 0;
247 virtual double get_codec_rate(unit_t unit) = 0;
256 virtual void set_fe_connection(unit_t unit,
257 const std::string& fe_name,
283 virtual void sleep(
const std::chrono::nanoseconds& time);