summaryrefslogtreecommitdiff
path: root/.pio/libdeps/esp32-s3-n16r8/Adafruit BusIO/Adafruit_I2CDevice.h
diff options
context:
space:
mode:
Diffstat (limited to '.pio/libdeps/esp32-s3-n16r8/Adafruit BusIO/Adafruit_I2CDevice.h')
-rw-r--r--.pio/libdeps/esp32-s3-n16r8/Adafruit BusIO/Adafruit_I2CDevice.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/.pio/libdeps/esp32-s3-n16r8/Adafruit BusIO/Adafruit_I2CDevice.h b/.pio/libdeps/esp32-s3-n16r8/Adafruit BusIO/Adafruit_I2CDevice.h
new file mode 100644
index 0000000..6bda7ba
--- /dev/null
+++ b/.pio/libdeps/esp32-s3-n16r8/Adafruit BusIO/Adafruit_I2CDevice.h
@@ -0,0 +1,36 @@
+#ifndef Adafruit_I2CDevice_h
+#define Adafruit_I2CDevice_h
+
+#include <Arduino.h>
+#include <Wire.h>
+
+///< 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);
+ bool begin(bool addr_detect = true);
+ void end(void);
+ bool detected(void);
+
+ bool read(uint8_t *buffer, size_t len, bool stop = true);
+ bool write(const uint8_t *buffer, size_t len, bool stop = true,
+ const uint8_t *prefix_buffer = nullptr, size_t prefix_len = 0);
+ bool write_then_read(const uint8_t *write_buffer, size_t write_len,
+ uint8_t *read_buffer, size_t read_len,
+ bool stop = false);
+ bool setSpeed(uint32_t desiredclk);
+
+ /*! @brief How many bytes we can read in a transaction
+ * @return The size of the Wire receive/transmit buffer */
+ size_t maxBufferSize() { return _maxBufferSize; }
+
+private:
+ uint8_t _addr;
+ TwoWire *_wire;
+ bool _begun;
+ size_t _maxBufferSize;
+ bool _read(uint8_t *buffer, size_t len, bool stop);
+};
+
+#endif // Adafruit_I2CDevice_h