UHD  003.004.002-23-stable
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 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

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines