From e88e08f27083af2bcbeb4e9bf1c57b575ac287a5 Mon Sep 17 00:00:00 2001 From: Giovanni Bruno Date: Tue, 21 Nov 2023 14:58:57 +0100 Subject: [PATCH] Fixed memory on Wire instance The constructor doesn't cleanup memory for a wire instance. Issues could happen, such as wrong initialization during boot Signed-off-by: Giovanni Bruno --- libraries/Wire/src/Wire.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index c0b1a25d7a..055bdec262 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -35,12 +35,14 @@ static const uint8_t MASTER_ADDRESS = 0x01; TwoWire::TwoWire() { + memset((void *)&_i2c, 0, sizeof(_i2c)); _i2c.sda = digitalPinToPinName(SDA); _i2c.scl = digitalPinToPinName(SCL); } TwoWire::TwoWire(uint32_t sda, uint32_t scl) { + memset((void *)&_i2c, 0, sizeof(_i2c)); _i2c.sda = digitalPinToPinName(sda); _i2c.scl = digitalPinToPinName(scl); }