22 namespace uhd {
namespace usrp {
23 class fe_connection_t;
56 typedef std::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;
105 virtual double read_aux_adc(unit_t unit, aux_adc_t which_adc) = 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(
195 unit_t unit,
const spi_config_t& config, uint32_t data,
size_t num_bits) = 0;
206 virtual uint32_t read_write_spi(
207 unit_t unit,
const spi_config_t& config, uint32_t data,
size_t num_bits) = 0;
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 std::chrono::nanoseconds& time);
292 std::function<
void(uint32_t, uint32_t)>,
293 std::function<uint32_t(uint32_t)>)