esp32_Adafruit_BusIO/Adafruit_I2CDevice.h

27 lines
716 B
C
Raw Normal View History

#include <Wire.h>
#ifndef Adafruit_I2CDevice_h
#define Adafruit_I2CDevice_h
2019-05-18 19:37:08 +01:00
///< The class which defines how we will talk to this device over I2C
class Adafruit_I2CDevice {
public:
Adafruit_I2CDevice(uint8_t addr, TwoWire *theWire=&Wire);
uint8_t address(void);
2019-10-08 04:13:49 +01:00
bool begin(bool addr_detect=true);
bool detected(void);
2019-03-07 20:13:03 +00:00
bool read(uint8_t *buffer, size_t len, bool stop=true);
bool write(uint8_t *buffer, size_t len, bool stop=true, uint8_t *prefix_buffer=NULL, size_t prefix_len=0);
2019-03-07 20:13:03 +00:00
bool write_then_read(uint8_t *write_buffer, size_t write_len, uint8_t *read_buffer, size_t read_len, bool stop=false);
private:
uint8_t _addr;
TwoWire *_wire;
bool _begun;
};
#endif // Adafruit_I2CDevice_h