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);