1 #ifndef ADAFRUIT_GENERICDEVICE_H 2 #define ADAFRUIT_GENERICDEVICE_H 6 typedef bool (*busio_genericdevice_read_t)(
void *obj, uint8_t *buffer,
8 typedef bool (*busio_genericdevice_write_t)(
void *obj,
const uint8_t *buffer,
10 typedef bool (*busio_genericdevice_readreg_t)(
void *obj, uint8_t *addr_buf,
11 uint8_t addrsiz, uint8_t *data,
13 typedef bool (*busio_genericdevice_writereg_t)(
void *obj, uint8_t *addr_buf,
24 void *obj, busio_genericdevice_read_t read_func,
25 busio_genericdevice_write_t write_func,
26 busio_genericdevice_readreg_t readreg_func =
nullptr,
27 busio_genericdevice_writereg_t writereg_func =
nullptr);
32 bool read(uint8_t *buffer,
size_t len);
33 bool write(
const uint8_t *buffer,
size_t len);
34 bool readRegister(uint8_t *addr_buf, uint8_t addrsiz, uint8_t *buf,
36 bool writeRegister(uint8_t *addr_buf, uint8_t addrsiz,
const uint8_t *buf,
56 #endif // ADAFRUIT_GENERICDEVICE_H bool read(uint8_t *buffer, size_t len)
Read data into a buffer.
Definition: Adafruit_GenericDevice.cpp:59
void end(void)
Marks the GenericDevice as no longer in use.
Definition: Adafruit_GenericDevice.cpp:43
busio_genericdevice_read_t _read_func
Function pointer for reading raw data from the device.
Definition: Adafruit_GenericDevice.h:41
bool writeRegister(uint8_t *addr_buf, uint8_t addrsiz, const uint8_t *buf, uint16_t bufsiz)
Write to a register location.
Definition: Adafruit_GenericDevice.cpp:84
bool begin(void)
Simple begin function (doesn't do much at this time)
Definition: Adafruit_GenericDevice.cpp:32
bool _begun
Definition: Adafruit_GenericDevice.h:49
busio_genericdevice_readreg_t _readreg_func
Function pointer for reading a 'register' from the device.
Definition: Adafruit_GenericDevice.h:45
bool readRegister(uint8_t *addr_buf, uint8_t addrsiz, uint8_t *buf, uint16_t bufsiz)
Read from a register location.
Definition: Adafruit_GenericDevice.cpp:71
busio_genericdevice_write_t _write_func
Function pointer for writing raw data to the device.
Definition: Adafruit_GenericDevice.h:43
busio_genericdevice_writereg_t _writereg_func
Function pointer for writing a 'register' to the device.
Definition: Adafruit_GenericDevice.h:47
Class for communicating with a device via generic read/write functions.
Definition: Adafruit_GenericDevice.h:21
bool write(const uint8_t *buffer, size_t len)
Write a buffer of data.
Definition: Adafruit_GenericDevice.cpp:49
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.
Definition: Adafruit_GenericDevice.cpp:16