All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
uhd::usrp::dboard_iface Class Referenceabstract

`#include <dboard_iface.hpp>`

Inheritance diagram for uhd::usrp::dboard_iface:

## 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
typedef boost::shared_ptr < i2c_iface > | sptr

## 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 dboard_iface_special_props_t uhd::usrp::dboard_iface::special_props_t

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

## Member Enumeration Documentation

enum uhd::usrp::dboard_iface::atr_reg_t

possible atr registers

Enumerator
ATR_REG_IDLE |
ATR_REG_TX_ONLY |
ATR_REG_RX_ONLY |
ATR_REG_FULL_DUPLEX |

enum uhd::usrp::dboard_iface::aux_adc_t

aux adc selection enums (per unit)

Enumerator
AUX_ADC_A |
AUX_ADC_B |

enum uhd::usrp::dboard_iface::aux_dac_t

aux dac selection enums (per unit)

Enumerator
AUX_DAC_A |
AUX_DAC_B |
AUX_DAC_C |
AUX_DAC_D |

enum uhd::usrp::dboard_iface::unit_t

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

  unit | which unit rx or tx
  reg | which 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

  unit | which 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

  unit | which 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

  unit | which 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

  unit | which 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

  unit | which 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

  unit | which 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

  unit | which unit rx or tx
  which_adc | the 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

  unit | which 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

  unit | which unit, rx or tx
  config | configuration settings
  data | the bits to write MSB first
  num_bits | the 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

  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

virtual void uhd::usrp::dboard_iface::set_clock_enabled | ( | unit_t | unit,
|  | bool | enb
| ) |  |

pure virtual

Enable or disable a dboard clock.

Parameters

  unit | which unit rx or tx
  enb | true 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

  unit | which unit rx or tx
  rate | the 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

  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

virtual void uhd::usrp::dboard_iface::set_gpio_debug | ( | unit_t | unit,
|  | int | which
| ) |  |

pure virtual

Setup the GPIO debug mux.

Parameters

  unit | which unit rx or tx
  which | which 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

  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

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

  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 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

  unit | which unit rx or tx
  which_dac | the dac index 0, 1, 2, 3...
  value | the 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

  unit | which unit, rx or tx
  config | configuration settings
  data | the bits to write MSB first
  num_bits | the number of bits in data

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

- include/uhd/usrp/dboard_iface.hpp