From 5ca52c21e594899f7c23215874a1dbdc12412dd7 Mon Sep 17 00:00:00 2001 From: bato3 <11570+bato3@users.noreply.github.com> Date: Thu, 14 Jul 2022 11:04:30 +0200 Subject: [PATCH] Fox for confusing overload of Wire::begin Fixes https://github.com/espressif/arduino-esp32/issues/6616 SDA and SCL are defined as `uint8_t`, and when it is used, library try initialize itself in slave mode --- libraries/Wire/src/Wire.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/Wire/src/Wire.h b/libraries/Wire/src/Wire.h index ca048bb16c4..dae83c091b8 100644 --- a/libraries/Wire/src/Wire.h +++ b/libraries/Wire/src/Wire.h @@ -77,6 +77,10 @@ class TwoWire: public Stream bool setPins(int sda, int scl); bool begin(int sda=-1, int scl=-1, uint32_t frequency=0); // returns true, if successful init of i2c bus + inline bool begin(uint8_t sda, uint8_t scl, uint32_t frequency=0) + { + return begin(static_cast(sda), static_cast(scl), frequency); + } bool begin(uint8_t slaveAddr, int sda=-1, int scl=-1, uint32_t frequency=0); bool end();