From a2befb15de94ddee6488080e5e781ee6d12acc48 Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 24 Nov 2021 14:10:05 +0700 Subject: [PATCH] add end() to de-init i2c peripheral --- Adafruit_I2CDevice.cpp | 6 ++++++ Adafruit_I2CDevice.h | 1 + 2 files changed, 7 insertions(+) diff --git a/Adafruit_I2CDevice.cpp b/Adafruit_I2CDevice.cpp index 9db9095..0e761be 100644 --- a/Adafruit_I2CDevice.cpp +++ b/Adafruit_I2CDevice.cpp @@ -35,6 +35,12 @@ bool Adafruit_I2CDevice::begin(bool addr_detect) { return true; } +void Adafruit_I2CDevice::end(void) +{ + _wire->end(); + _begun = false; +} + /*! * @brief Scans I2C for the address - note will give a false-positive * if there's no pullups on I2C diff --git a/Adafruit_I2CDevice.h b/Adafruit_I2CDevice.h index 1e27416..5baa6fd 100644 --- a/Adafruit_I2CDevice.h +++ b/Adafruit_I2CDevice.h @@ -10,6 +10,7 @@ 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);