UHD  003.004.002-0-unknown
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Types | Public Member Functions | Protected Member Functions
uhd::usrp::dboard_iface Class Reference

#include <dboard_iface.hpp>

Inheritance diagram for uhd::usrp::dboard_iface:
uhd::i2c_iface

List of all members.

Public Types

enum  unit_t { UNIT_RX = int('r'), UNIT_TX = int('t') }
 tells the host which unit to use More...
enum  atr_reg_t { ATR_REG_IDLE = int('i'), ATR_REG_TX_ONLY = int('t'), ATR_REG_RX_ONLY = int('r'), ATR_REG_FULL_DUPLEX = int('f') }
 possible atr registers 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 boost::shared_ptr
< dboard_iface
sptr
typedef
dboard_iface_special_props_t 
special_props_t
- Public Types inherited from uhd::i2c_iface

Public Member Functions

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, boost::uint16_t value, boost::uint16_t mask=0xffff)
virtual boost::uint16_t get_pin_ctrl (unit_t unit)
virtual void set_atr_reg (unit_t unit, atr_reg_t reg, boost::uint16_t value, boost::uint16_t mask=0xffff)
virtual boost::uint16_t get_atr_reg (unit_t unit, atr_reg_t reg)
virtual void set_gpio_ddr (unit_t unit, boost::uint16_t value, boost::uint16_t mask=0xffff)
virtual boost::uint16_t get_gpio_ddr (unit_t unit)
virtual void set_gpio_out (unit_t unit, boost::uint16_t value, boost::uint16_t mask=0xffff)
virtual boost::uint16_t get_gpio_out (unit_t unit)
virtual void set_gpio_debug (unit_t unit, int which)=0
virtual boost::uint16_t read_gpio (unit_t unit)=0
virtual void write_spi (unit_t unit, const spi_config_t &config, boost::uint32_t data, size_t num_bits)=0
virtual boost::uint32_t read_write_spi (unit_t unit, const spi_config_t &config, boost::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
- Public Member Functions inherited from uhd::i2c_iface
virtual void write_i2c (boost::uint8_t addr, const byte_vector_t &buf)=0
virtual byte_vector_t read_i2c (boost::uint8_t addr, size_t num_bytes)=0
virtual void write_eeprom (boost::uint8_t addr, boost::uint8_t offset, const byte_vector_t &buf)
virtual byte_vector_t read_eeprom (boost::uint8_t addr, boost::uint8_t offset, size_t num_bytes)

Protected Member Functions

 dboard_iface (void)

Detailed Description

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.


Member Typedef Documentation

typedef boost::shared_ptr<dboard_iface> uhd::usrp::dboard_iface::sptr

Reimplemented from uhd::i2c_iface.


Member Enumeration Documentation

possible atr registers

Enumerator:
ATR_REG_IDLE 
ATR_REG_TX_ONLY 
ATR_REG_RX_ONLY 
ATR_REG_FULL_DUPLEX 

aux adc selection enums (per unit)

Enumerator:
AUX_ADC_A 
AUX_ADC_B 

aux dac selection enums (per unit)

Enumerator:
AUX_DAC_A 
AUX_DAC_B 
AUX_DAC_C 
AUX_DAC_D 

tells the host which unit to use

Enumerator:
UNIT_RX 
UNIT_TX 

Constructor & Destructor Documentation

uhd::usrp::dboard_iface::dboard_iface ( void  )
protected

Member Function Documentation

virtual boost::uint16_t uhd::usrp::dboard_iface::get_atr_reg ( unit_t  unit,
atr_reg_t  reg 
)
virtual

Read back an ATR register setting.

Parameters:
unitwhich unit rx or tx
regwhich ATR register
Returns:
the 16-bit settings value
virtual double uhd::usrp::dboard_iface::get_clock_rate ( unit_t  unit)
pure virtual

Get the rate of a dboard clock.

Parameters:
unitwhich unit rx or tx
Returns:
the clock rate in Hz
virtual std::vector<double> uhd::usrp::dboard_iface::get_clock_rates ( unit_t  unit)
pure virtual

Get a list of possible rates for the dboard clock.

Parameters:
unitwhich unit rx or tx
Returns:
a list of clock rates in Hz
virtual double uhd::usrp::dboard_iface::get_codec_rate ( unit_t  unit)
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.

Parameters:
unitwhich unit rx or tx
Returns:
the codec rate in Hz
virtual boost::uint16_t uhd::usrp::dboard_iface::get_gpio_ddr ( unit_t  unit)
virtual

Read back the GPIO data direction setting.

Parameters:
unitwhich unit rx or tx
Returns:
the 16-bit settings value
virtual boost::uint16_t uhd::usrp::dboard_iface::get_gpio_out ( unit_t  unit)
virtual

Read back the GPIO pin output setting.

Parameters:
unitwhich unit rx or tx
Returns:
the 16-bit settings value
virtual boost::uint16_t uhd::usrp::dboard_iface::get_pin_ctrl ( unit_t  unit)
virtual

Read back the pin control setting.

Parameters:
unitwhich unit rx or tx
Returns:
the 16-bit settings value
virtual special_props_t uhd::usrp::dboard_iface::get_special_props ( void  )
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.

Returns:
the special properties struct
virtual double uhd::usrp::dboard_iface::read_aux_adc ( unit_t  unit,
aux_adc_t  which_adc 
)
pure virtual

Read from an aux adc.

Parameters:
unitwhich unit rx or tx
which_adcthe adc index 0, 1, 2, 3...
Returns:
the value in volts
virtual boost::uint16_t uhd::usrp::dboard_iface::read_gpio ( unit_t  unit)
pure virtual

Read daughterboard GPIO pin values.

Parameters:
unitwhich unit rx or tx
Returns:
the value of the gpio unit
virtual boost::uint32_t uhd::usrp::dboard_iface::read_write_spi ( unit_t  unit,
const spi_config_t config,
boost::uint32_t  data,
size_t  num_bits 
)
pure virtual

Read and write data to SPI bus peripheral.

Parameters:
unitwhich unit, rx or tx
configconfiguration settings
datathe bits to write MSB first
num_bitsthe number of bits in data
Returns:
the data that was read
virtual void uhd::usrp::dboard_iface::set_atr_reg ( unit_t  unit,
atr_reg_t  reg,
boost::uint16_t  value,
boost::uint16_t  mask = 0xffff 
)
virtual

Set a daughterboard ATR register.

Parameters:
unitwhich unit rx or tx
regwhich ATR register
value16-bits, 0=ATR output low, 1=ATR output high
mask16-bits, 0=do not change, 1=change value
virtual void uhd::usrp::dboard_iface::set_clock_enabled ( unit_t  unit,
bool  enb 
)
pure virtual

Enable or disable a dboard clock.

Parameters:
unitwhich unit rx or tx
enbtrue for enabled
virtual void uhd::usrp::dboard_iface::set_clock_rate ( unit_t  unit,
double  rate 
)
pure virtual

Set the rate of a dboard clock.

Parameters:
unitwhich unit rx or tx
ratethe clock rate in Hz
virtual void uhd::usrp::dboard_iface::set_gpio_ddr ( unit_t  unit,
boost::uint16_t  value,
boost::uint16_t  mask = 0xffff 
)
virtual

Set daughterboard GPIO data direction setting.

Parameters:
unitwhich unit rx or tx
value16-bits, 0=GPIO input, 1=GPIO output
mask16-bits, 0=do not change, 1=change value
virtual void uhd::usrp::dboard_iface::set_gpio_debug ( unit_t  unit,
int  which 
)
pure virtual

Setup the GPIO debug mux.

Parameters:
unitwhich unit rx or tx
whichwhich debug: 0, 1
virtual void uhd::usrp::dboard_iface::set_gpio_out ( unit_t  unit,
boost::uint16_t  value,
boost::uint16_t  mask = 0xffff 
)
virtual

Set daughterboard GPIO pin output setting.

Parameters:
unitwhich unit rx or tx
value16-bits, 0=GPIO output low, 1=GPIO output high
mask16-bits, 0=do not change, 1=change value
virtual void uhd::usrp::dboard_iface::set_pin_ctrl ( unit_t  unit,
boost::uint16_t  value,
boost::uint16_t  mask = 0xffff 
)
virtual

Set a daughterboard output pin control source.

Parameters:
unitwhich unit rx or tx
value16-bits, 0=GPIO controlled, 1=ATR controlled
mask16-bits, 0=do not change, 1=change value
virtual void uhd::usrp::dboard_iface::write_aux_dac ( unit_t  unit,
aux_dac_t  which_dac,
double  value 
)
pure virtual

Write to an aux dac.

Parameters:
unitwhich unit rx or tx
which_dacthe dac index 0, 1, 2, 3...
valuethe value in volts
virtual void uhd::usrp::dboard_iface::write_spi ( unit_t  unit,
const spi_config_t config,
boost::uint32_t  data,
size_t  num_bits 
)
pure virtual

Write data to SPI bus peripheral.

Parameters:
unitwhich unit, rx or tx
configconfiguration settings
datathe bits to write MSB first
num_bitsthe number of bits in data

The documentation for this class was generated from the following file: