#include <uhd/usrp/dboard_iface.hpp>
Public Types | |
enum | unit_t { UNIT_RX = int('r'), UNIT_TX = int('t'), UNIT_BOTH = int('b') } |
tells the host which unit to use More... | |
enum | aux_dac_t { AUX_DAC_A = int('a'), AUX_DAC_B = int('b'), AUX_DAC_C = int('c'), AUX_DAC_D = int('d') } |
aux dac selection enums (per unit) More... | |
enum | aux_adc_t { AUX_ADC_A = int('a'), AUX_ADC_B = int('b') } |
aux adc selection enums (per unit) More... | |
typedef std::shared_ptr< dboard_iface > | sptr |
typedef dboard_iface_special_props_t | special_props_t |
typedef uhd::usrp::gpio_atr::gpio_atr_reg_t | atr_reg_t |
Public Types inherited from uhd::i2c_iface | |
typedef std::shared_ptr< i2c_iface > | sptr |
Public Member Functions | |
~dboard_iface (void) override | |
virtual special_props_t | get_special_props (void)=0 |
virtual void | write_aux_dac (unit_t unit, aux_dac_t which_dac, double value)=0 |
virtual double | read_aux_adc (unit_t unit, aux_adc_t which_adc)=0 |
virtual void | set_pin_ctrl (unit_t unit, uint32_t value, uint32_t mask=0xffff)=0 |
virtual uint32_t | get_pin_ctrl (unit_t unit)=0 |
virtual void | set_atr_reg (unit_t unit, atr_reg_t reg, uint32_t value, uint32_t mask=0xffff)=0 |
virtual uint32_t | get_atr_reg (unit_t unit, atr_reg_t reg)=0 |
virtual void | set_gpio_ddr (unit_t unit, uint32_t value, uint32_t mask=0xffff)=0 |
virtual uint32_t | get_gpio_ddr (unit_t unit)=0 |
virtual void | set_gpio_out (unit_t unit, uint32_t value, uint32_t mask=0xffff)=0 |
virtual uint32_t | get_gpio_out (unit_t unit)=0 |
virtual uint32_t | read_gpio (unit_t unit)=0 |
virtual void | write_spi (unit_t unit, const spi_config_t &config, uint32_t data, size_t num_bits)=0 |
virtual uint32_t | read_write_spi (unit_t unit, const spi_config_t &config, uint32_t data, size_t num_bits)=0 |
virtual void | set_clock_rate (unit_t unit, double rate)=0 |
virtual double | get_clock_rate (unit_t unit)=0 |
virtual std::vector< double > | get_clock_rates (unit_t unit)=0 |
virtual void | set_clock_enabled (unit_t unit, bool enb)=0 |
virtual double | get_codec_rate (unit_t unit)=0 |
virtual void | set_fe_connection (unit_t unit, const std::string &fe_name, const uhd::usrp::fe_connection_t &fe_conn)=0 |
virtual bool | has_set_fe_connection (const unit_t) |
virtual uhd::time_spec_t | get_command_time (void)=0 |
virtual void | set_command_time (const uhd::time_spec_t &t)=0 |
virtual void | sleep (const std::chrono::nanoseconds &time) |
virtual void | define_custom_register_space (const uint32_t, const uint32_t, std::function< void(uint32_t, uint32_t)>, std::function< uint32_t(uint32_t)>) |
Public Member Functions inherited from uhd::i2c_iface | |
virtual | ~i2c_iface (void) |
i2c_iface::sptr | eeprom16 (void) |
Create an i2c_iface than can talk to 16 bit addressable EEPROMS. More... | |
virtual void | write_i2c (uint16_t addr, const byte_vector_t &buf)=0 |
virtual byte_vector_t | read_i2c (uint16_t addr, size_t num_bytes)=0 |
virtual void | write_eeprom (uint16_t addr, uint16_t offset, const byte_vector_t &buf) |
virtual byte_vector_t | read_eeprom (uint16_t addr, uint16_t offset, size_t num_bytes) |
The daughter board dboard interface to be subclassed. A dboard instance interfaces with the mboard though this api. This interface provides i2c, spi, gpio, atr, aux dac/adc access. Each mboard should have a specially tailored iface for its dboard.
typedef std::shared_ptr<dboard_iface> uhd::usrp::dboard_iface::sptr |
|
inlineoverride |
|
inlinevirtual |
Used to allow daughterboards to be able to call into the define_custom_register_space function of the NoC block, see register_iface.hpp for more information.
Read back an ATR register setting.
unit | which unit rx or tx |
reg | which ATR register |
|
pure virtual |
Get the rate of a dboard clock.
unit | which unit rx or tx |
|
pure virtual |
Get a list of possible rates for the dboard clock.
unit | which unit rx or tx |
|
pure virtual |
Get the rate of the codec. For rx, this is the rate the ADC feeds the DSP. For tx, this is the rate the DSP feeds the DAC.
unit | which unit rx or tx |
|
pure virtual |
Get the command time.
|
pure virtual |
Read back the GPIO data direction setting.
unit | which unit rx or tx |
|
pure virtual |
Read back the GPIO pin output setting.
unit | which unit rx or tx |
|
pure virtual |
Read back the pin control setting.
unit | which unit rx or tx |
|
pure virtual |
Get special properties information for this dboard slot. This call helps the dboard code to handle implementation differences between different motherboards and dboard slots.
|
inlinevirtual |
Returns the true if set_fe_connection() is implemented on this dboard_iface
|
pure virtual |
Read from an aux adc.
unit | which unit rx or tx |
which_adc | the adc index 0, 1, 2, 3... |
|
pure virtual |
Read daughterboard GPIO pin values.
unit | which unit rx or tx |
|
pure virtual |
Read and write data to SPI bus peripheral.
unit | which unit, rx or tx |
config | configuration settings |
data | the bits to write MSB first |
num_bits | the number of bits in data |
|
pure virtual |
Set a daughterboard ATR register.
unit | which unit rx or tx |
reg | which ATR register |
value | 16-bits, 0=ATR output low, 1=ATR output high |
mask | 16-bits, 0=do not change, 1=change value |
|
pure virtual |
Enable or disable a dboard clock.
unit | which unit rx or tx |
enb | true for enabled |
|
pure virtual |
Set the rate of a dboard clock.
unit | which unit rx or tx |
rate | the clock rate in Hz |
|
pure virtual |
Set the command time.
t | the time |
|
pure virtual |
Configure the front-end connection parameters.
unit | which unit rx or tx |
fe_name | name of the front-end to update |
fe_conn | connection parameters class |
|
pure virtual |
Set daughterboard GPIO data direction setting.
unit | which unit rx or tx |
value | 16-bits, 0=GPIO input, 1=GPIO output |
mask | 16-bits, 0=do not change, 1=change value |
|
pure virtual |
Set daughterboard GPIO pin output setting.
unit | which unit rx or tx |
value | 16-bits, 0=GPIO output low, 1=GPIO output high |
mask | 16-bits, 0=do not change, 1=change value |
|
pure virtual |
Set a daughterboard output pin control source.
unit | which unit rx or tx |
value | 16-bits, 0=GPIO controlled, 1=ATR controlled |
mask | 16-bits, 0=do not change, 1=change value |
|
virtual |
Sleep for a set time
time | time to sleep in nanoseconds |
|
pure virtual |
Write to an aux dac.
unit | which unit rx or tx |
which_dac | the dac index 0, 1, 2, 3... |
value | the value in volts |
|
pure virtual |
Write data to SPI bus peripheral.
unit | which unit, rx or tx |
config | configuration settings |
data | the bits to write MSB first |
num_bits | the number of bits in data |