From d383ae51b047b0b18f0bf007c10571a548c6687a Mon Sep 17 00:00:00 2001 From: ant Date: Thu, 14 Oct 2021 06:51:14 +0100 Subject: [PATCH 1/2] Add another Wire requestFrom function signature --- libraries/Wire/src/Wire.cpp | 8 ++++++++ libraries/Wire/src/Wire.h | 1 + 2 files changed, 9 insertions(+) diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index 3acea70ac58..fcefe8aec32 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -191,6 +191,14 @@ uint8_t TwoWire::endTransmission(bool sendStop) // Assumes Wire.beginTransactio return (last_error == I2C_ERROR_CONTINUE)?I2C_ERROR_OK:last_error; // Don't return Continue for compatibility. } +/* Added to match the Arduino function definition: https://github.com/arduino/ArduinoCore-API/blob/173e8eadced2ad32eeb93bcbd5c49f8d6a055ea6/api/HardwareI2C.h#L39 + * See: https://github.com/arduino-libraries/ArduinoECCX08/issues/25 +*/ +size_t requestFrom(uint8_t address, size_t len, bool stopBit) +{ + return requestFrom(address, (uint8_t)len, stopBit); +} + /* @stickBreaker 11/2017 fix for ReSTART timeout, ISR */ uint8_t TwoWire::requestFrom(uint16_t address, uint8_t size, bool sendStop) diff --git a/libraries/Wire/src/Wire.h b/libraries/Wire/src/Wire.h index 3cee73104bd..af66d361845 100644 --- a/libraries/Wire/src/Wire.h +++ b/libraries/Wire/src/Wire.h @@ -101,6 +101,7 @@ class TwoWire: public Stream uint8_t requestFrom(uint16_t address, uint8_t size); uint8_t requestFrom(uint8_t address, uint8_t size, uint8_t sendStop); uint8_t requestFrom(uint8_t address, uint8_t size); + size_t requestFrom(uint8_t address, size_t len, bool stopBit); uint8_t requestFrom(int address, int size, int sendStop); uint8_t requestFrom(int address, int size); From a62bd72ec51e7da377142cd3e1d7436a9f2bd10b Mon Sep 17 00:00:00 2001 From: ant Date: Thu, 14 Oct 2021 11:14:47 +0100 Subject: [PATCH 2/2] Resolve --- libraries/Wire/src/Wire.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/libraries/Wire/src/Wire.cpp b/libraries/Wire/src/Wire.cpp index fcefe8aec32..ab8a71e313d 100644 --- a/libraries/Wire/src/Wire.cpp +++ b/libraries/Wire/src/Wire.cpp @@ -199,8 +199,6 @@ size_t requestFrom(uint8_t address, size_t len, bool stopBit) return requestFrom(address, (uint8_t)len, stopBit); } -/* @stickBreaker 11/2017 fix for ReSTART timeout, ISR - */ uint8_t TwoWire::requestFrom(uint16_t address, uint8_t size, bool sendStop) { //use internal Wire rxBuffer, multiple requestFrom()'s may be pending, try to share rxBuffer