Adafruit Bus IO Library
Public Member Functions | Protected Attributes | List of all members
Adafruit_GenericDevice Class Reference

Class for communicating with a device via generic read/write functions. More...

#include <Adafruit_GenericDevice.h>

Public Member Functions

 Adafruit_GenericDevice (void *obj, busio_genericdevice_read_t read_func, busio_genericdevice_write_t write_func, busio_genericdevice_readreg_t readreg_func=nullptr, busio_genericdevice_writereg_t writereg_func=nullptr)
 Create a Generic device with the provided read/write functions. More...
 
bool begin (void)
 Simple begin function (doesn't do much at this time) More...
 
bool read (uint8_t *buffer, size_t len)
 Read data into a buffer. More...
 
bool write (const uint8_t *buffer, size_t len)
 Write a buffer of data. More...
 
bool readRegister (uint8_t *addr_buf, uint8_t addrsiz, uint8_t *buf, uint16_t bufsiz)
 Read from a register location. More...
 
bool writeRegister (uint8_t *addr_buf, uint8_t addrsiz, const uint8_t *buf, uint16_t bufsiz)
 Write to a register location. More...
 

Protected Attributes

busio_genericdevice_read_t _read_func
 Function pointer for reading raw data from the device.
 
busio_genericdevice_write_t _write_func
 Function pointer for writing raw data to the device.
 
busio_genericdevice_readreg_t _readreg_func
 Function pointer for reading a 'register' from the device.
 
busio_genericdevice_writereg_t _writereg_func
 Function pointer for writing a 'register' to the device.
 
bool _begun
 

Detailed Description

Class for communicating with a device via generic read/write functions.

Constructor & Destructor Documentation

◆ Adafruit_GenericDevice()

Adafruit_GenericDevice::Adafruit_GenericDevice ( void *  obj,
busio_genericdevice_read_t  read_func,
busio_genericdevice_write_t  write_func,
busio_genericdevice_readreg_t  readreg_func = nullptr,
busio_genericdevice_writereg_t  writereg_func = nullptr 
)

Create a Generic device with the provided read/write functions.

Parameters
objPointer to object instance
read_funcFunction pointer for reading raw data
write_funcFunction pointer for writing raw data
readreg_funcFunction pointer for reading registers (optional)
writereg_funcFunction pointer for writing registers (optional)

Member Function Documentation

◆ begin()

bool Adafruit_GenericDevice::begin ( void  )

Simple begin function (doesn't do much at this time)

Returns
true always

◆ read()

bool Adafruit_GenericDevice::read ( uint8_t *  buffer,
size_t  len 
)

Read data into a buffer.

Parameters
bufferPointer to buffer to read data into
lenNumber of bytes to read
Returns
true if read was successful, otherwise false

◆ write()

bool Adafruit_GenericDevice::write ( const uint8_t *  buffer,
size_t  len 
)

Write a buffer of data.

Parameters
bufferPointer to buffer of data to write
lenNumber of bytes to write
Returns
true if write was successful, otherwise false

◆ readRegister()

bool Adafruit_GenericDevice::readRegister ( uint8_t *  addr_buf,
uint8_t  addrsiz,
uint8_t *  buf,
uint16_t  bufsiz 
)

Read from a register location.

Parameters
addr_bufBuffer containing register address
addrsizSize of register address in bytes
bufBuffer to store read data
bufsizSize of data to read in bytes
Returns
true if read was successful, otherwise false

◆ writeRegister()

bool Adafruit_GenericDevice::writeRegister ( uint8_t *  addr_buf,
uint8_t  addrsiz,
const uint8_t *  buf,
uint16_t  bufsiz 
)

Write to a register location.

Parameters
addr_bufBuffer containing register address
addrsizSize of register address in bytes
bufBuffer containing data to write
bufsizSize of data to write in bytes
Returns
true if write was successful, otherwise false

Member Data Documentation

◆ _begun

bool Adafruit_GenericDevice::_begun
protected

whether we have initialized yet (in case the function needs to do something)


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