11#include " Adafruit_GenericDevice.h"
22
3+ /* ! @brief Create a Generic device with the provided read/write functions
4+ @param read_func Function pointer for reading raw data
5+ @param write_func Function pointer for writing raw data
6+ @param readreg_func Function pointer for reading registers (optional)
7+ @param writereg_func Function pointer for writing registers (optional) */
38Adafruit_GenericDevice::Adafruit_GenericDevice (
49 busio_genericdevice_read_t read_func,
510 busio_genericdevice_write_t write_func,
@@ -12,38 +17,56 @@ Adafruit_GenericDevice::Adafruit_GenericDevice(
1217 _begun = false ;
1318}
1419
20+ /* ! @brief Initializes the device
21+ @return true if initialization was successful, otherwise false */
1522bool Adafruit_GenericDevice::begin (void ) {
1623 _begun = true ;
1724 return true ;
1825}
1926
27+ /* ! @brief Write a buffer of data
28+ @param buffer Pointer to buffer of data to write
29+ @param len Number of bytes to write
30+ @return true if write was successful, otherwise false */
2031bool Adafruit_GenericDevice::write (const uint8_t *buffer, size_t len) {
2132 if (!_begun)
2233 return false ;
23-
2434 return _write_func (buffer, len);
2535}
2636
37+ /* ! @brief Read data into a buffer
38+ @param buffer Pointer to buffer to read data into
39+ @param len Number of bytes to read
40+ @return true if read was successful, otherwise false */
2741bool Adafruit_GenericDevice::read (uint8_t *buffer, size_t len) {
2842 if (!_begun)
2943 return false ;
30-
3144 return _read_func (buffer, len);
3245}
3346
47+ /* ! @brief Read from a register location
48+ @param addr_buf Buffer containing register address
49+ @param addrsiz Size of register address in bytes
50+ @param buf Buffer to store read data
51+ @param bufsiz Size of data to read in bytes
52+ @return true if read was successful, otherwise false */
3453bool Adafruit_GenericDevice::readRegister (uint8_t *addr_buf, uint8_t addrsiz,
3554 uint8_t *buf, uint16_t bufsiz) {
3655 if (!_begun || !_readreg_func)
3756 return false ;
38-
3957 return _readreg_func (addr_buf, addrsiz, buf, bufsiz);
4058}
4159
60+ /* ! @brief Write to a register location
61+ @param addr_buf Buffer containing register address
62+ @param addrsiz Size of register address in bytes
63+ @param buf Buffer containing data to write
64+ @param bufsiz Size of data to write in bytes
65+ @return true if write was successful, otherwise false */
4266bool Adafruit_GenericDevice::writeRegister (uint8_t *addr_buf, uint8_t addrsiz,
4367 const uint8_t *buf,
4468 uint16_t bufsiz) {
4569 if (!_begun || !_writereg_func)
4670 return false ;
47-
4871 return _writereg_func (addr_buf, addrsiz, buf, bufsiz);
4972}
0 commit comments