USRP Hardware Driver and USRP Manual: uhd::usrp::dboard_iface Class Reference

| USRP Hardware Driver and USRP Manual Version: 4.8.0.makepkg-0-g308126a4 UHD and USRP Manual |

Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
uhd::usrp::dboard_iface Class Referenceabstract

`#include <uhd/usrp/dboard_iface.hpp>`

Inheritance diagram for uhd::usrp::dboard_iface:

## 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.
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)

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

## ◆ atr_reg_t

typedef uhd::usrp::gpio_atr::gpio_atr_reg_t uhd::usrp::dboard_iface::atr_reg_t

## ◆ special_props_t

typedef dboard_iface_special_props_t uhd::usrp::dboard_iface::special_props_t

## ◆ sptr

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

## Member Enumeration Documentation

## ◆ aux_adc_t

enum uhd::usrp::dboard_iface::aux_adc_t

aux adc selection enums (per unit)

Enumerator
AUX_ADC_A |
AUX_ADC_B |

## ◆ aux_dac_t

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 |

## ◆ unit_t

enum uhd::usrp::dboard_iface::unit_t

tells the host which unit to use

Enumerator
UNIT_RX |
UNIT_TX |
UNIT_BOTH |

## Constructor & Destructor Documentation

## ◆ ~dboard_iface()

uhd::usrp::dboard_iface::~dboard_iface | ( | void |  | ) |
| inlineoverride

## Member Function Documentation

## ◆ define_custom_register_space()

virtual void uhd::usrp::dboard_iface::define_custom_register_space | ( | const uint32_t | ,
|  | const uint32_t | ,
|  | std::function< void(uint32_t, uint32_t)> | ,
|  | std::function< uint32_t(uint32_t)> | )
| 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.

## ◆ get_atr_reg()

virtual uint32_t uhd::usrp::dboard_iface::get_atr_reg | ( | unit_t | unit,
|  | atr_reg_t | reg )
| pure virtual

Read back an ATR register setting.

Parameters

  unit | which unit rx or tx
  reg | which ATR register

Returns
  the 16-bit settings value

## ◆ get_clock_rate()

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

## ◆ get_clock_rates()

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

## ◆ get_codec_rate()

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

## ◆ get_command_time()

virtual uhd::time_spec_t uhd::usrp::dboard_iface::get_command_time | ( | void |  | ) |
| pure virtual

Get the command time.

Returns
  the command time

## ◆ get_gpio_ddr()

virtual uint32_t uhd::usrp::dboard_iface::get_gpio_ddr | ( | unit_t | unit | ) |
| pure virtual

Read back the GPIO data direction setting.

Parameters

  unit | which unit rx or tx

Returns
  the 16-bit settings value

## ◆ get_gpio_out()

virtual uint32_t uhd::usrp::dboard_iface::get_gpio_out | ( | unit_t | unit | ) |
| pure virtual

Read back the GPIO pin output setting.

Parameters

  unit | which unit rx or tx

Returns
  the 16-bit settings value

## ◆ get_pin_ctrl()

virtual uint32_t uhd::usrp::dboard_iface::get_pin_ctrl | ( | unit_t | unit | ) |
| pure virtual

Read back the pin control setting.

Parameters

  unit | which unit rx or tx

Returns
  the 16-bit settings value

## ◆ get_special_props()

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

## ◆ has_set_fe_connection()

virtual bool uhd::usrp::dboard_iface::has_set_fe_connection | ( | const unit_t |  | ) |
| inlinevirtual

Returns the true if set_fe_connection() is implemented on this dboard_iface

## ◆ read_aux_adc()

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

## ◆ read_gpio()

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

## ◆ read_write_spi()

virtual uint32_t uhd::usrp::dboard_iface::read_write_spi | ( | unit_t | unit,
|  | const spi_config_t & | config,
|  | 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

## ◆ set_atr_reg()

virtual void uhd::usrp::dboard_iface::set_atr_reg | ( | unit_t | unit,
|  | atr_reg_t | reg,
|  | uint32_t | value,
|  | uint32_t | mask = 0xffff )
| pure 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

## ◆ set_clock_enabled()

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

## ◆ set_clock_rate()

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

## ◆ set_command_time()

virtual void uhd::usrp::dboard_iface::set_command_time | ( | const uhd::time_spec_t & | t | ) |
| pure virtual

Set the command time.

Parameters

  t | the time

## ◆ set_fe_connection()

virtual void uhd::usrp::dboard_iface::set_fe_connection | ( | unit_t | unit,
|  | const std::string & | fe_name,
|  | const uhd::usrp::fe_connection_t & | fe_conn )
| pure virtual

Configure the front-end connection parameters.

Parameters

  unit | which unit rx or tx
  fe_name | name of the front-end to update
  fe_conn | connection parameters class

## ◆ set_gpio_ddr()

virtual void uhd::usrp::dboard_iface::set_gpio_ddr | ( | unit_t | unit,
|  | uint32_t | value,
|  | uint32_t | mask = 0xffff )
| pure 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

## ◆ set_gpio_out()

virtual void uhd::usrp::dboard_iface::set_gpio_out | ( | unit_t | unit,
|  | uint32_t | value,
|  | uint32_t | mask = 0xffff )
| pure 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

## ◆ set_pin_ctrl()

virtual void uhd::usrp::dboard_iface::set_pin_ctrl | ( | unit_t | unit,
|  | uint32_t | value,
|  | uint32_t | mask = 0xffff )
| pure 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

## ◆ sleep()

virtual void uhd::usrp::dboard_iface::sleep | ( | const std::chrono::nanoseconds & | time | ) |
| virtual

Sleep for a set time

Parameters

  time | time to sleep in nanoseconds

## ◆ write_aux_dac()

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

## ◆ write_spi()

virtual void uhd::usrp::dboard_iface::write_spi | ( | unit_t | unit,
|  | const spi_config_t & | config,
|  | 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:

- dboard_iface.hpp