CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::hal::II2cBus Class Referenceabstract

#include <II2cBus.h>

Inheritance diagram for cdc::hal::II2cBus:
cdc::core::IService cdc::hal::I2cBusImpl

Public Member Functions

virtual ~II2cBus ()=default
virtual esp_err_t addDevice (uint8_t addr, I2cDeviceHandle *out_dev)=0
virtual esp_err_t writeReg (I2cDeviceHandle dev, uint8_t reg, const uint8_t *data, size_t len)=0
virtual esp_err_t readReg (I2cDeviceHandle dev, uint8_t reg, uint8_t *data, size_t len)=0
virtual esp_err_t writeRaw (uint8_t addr, const uint8_t *data, size_t len)=0
virtual esp_err_t readRaw (uint8_t addr, uint8_t *data, size_t len)=0
virtual esp_err_t writeReadRaw (uint8_t addr, const uint8_t *wr, size_t wr_len, uint8_t *rd, size_t rd_len)=0
virtual bool probe (uint8_t addr)=0
virtual esp_err_t eepromRead (uint8_t addr, uint16_t offset, uint8_t *buf, size_t len)=0
virtual esp_err_t eepromWrite (uint8_t addr, uint16_t offset, const uint8_t *buf, size_t len)=0
Public Member Functions inherited from cdc::core::IService
virtual ~IService ()=default
virtual bool init ()=0
virtual bool start ()=0
virtual void stop ()=0
virtual ServiceState getState () const =0
virtual const char * getName () const =0

Detailed Description

I2C Bus interface

Definition at line 15 of file II2cBus.h.

Constructor & Destructor Documentation

◆ ~II2cBus()

virtual cdc::hal::II2cBus::~II2cBus ( )
virtualdefault

Member Function Documentation

◆ addDevice()

virtual esp_err_t cdc::hal::II2cBus::addDevice ( uint8_t addr,
I2cDeviceHandle * out_dev )
pure virtual

Add a device to the bus

Parameters
addr7-bit I2C address
out_devOutput device handle

Implemented in cdc::hal::I2cBusImpl.

◆ eepromRead()

virtual esp_err_t cdc::hal::II2cBus::eepromRead ( uint8_t addr,
uint16_t offset,
uint8_t * buf,
size_t len )
pure virtual

Read from a 16-bit-addressed EEPROM (24Cxx-style) at a byte offset.

Implemented in cdc::hal::I2cBusImpl.

◆ eepromWrite()

virtual esp_err_t cdc::hal::II2cBus::eepromWrite ( uint8_t addr,
uint16_t offset,
const uint8_t * buf,
size_t len )
pure virtual

Page-aware write to a 16-bit-addressed EEPROM at a byte offset.

Implemented in cdc::hal::I2cBusImpl.

◆ probe()

virtual bool cdc::hal::II2cBus::probe ( uint8_t addr)
pure virtual

Probe whether a device ACKs at the given 7-bit address.

Implemented in cdc::hal::I2cBusImpl.

◆ readRaw()

virtual esp_err_t cdc::hal::II2cBus::readRaw ( uint8_t addr,
uint8_t * data,
size_t len )
pure virtual

Raw read transaction from a 7-bit address.

Implemented in cdc::hal::I2cBusImpl.

◆ readReg()

virtual esp_err_t cdc::hal::II2cBus::readReg ( I2cDeviceHandle dev,
uint8_t reg,
uint8_t * data,
size_t len )
pure virtual

Read from a device register

Implemented in cdc::hal::I2cBusImpl.

◆ writeRaw()

virtual esp_err_t cdc::hal::II2cBus::writeRaw ( uint8_t addr,
const uint8_t * data,
size_t len )
pure virtual

Raw write transaction to a 7-bit address (no register prefix).

Implemented in cdc::hal::I2cBusImpl.

◆ writeReadRaw()

virtual esp_err_t cdc::hal::II2cBus::writeReadRaw ( uint8_t addr,
const uint8_t * wr,
size_t wr_len,
uint8_t * rd,
size_t rd_len )
pure virtual

Raw write-then-read (repeated start) transaction.

Implemented in cdc::hal::I2cBusImpl.

◆ writeReg()

virtual esp_err_t cdc::hal::II2cBus::writeReg ( I2cDeviceHandle dev,
uint8_t reg,
const uint8_t * data,
size_t len )
pure virtual

Write to a device register

Implemented in cdc::hal::I2cBusImpl.


The documentation for this class was generated from the following file:
  • components/cdc_hal/include/cdc_hal/II2cBus.h