@@ -447,32 +447,40 @@ void TwoWire::flush(void)
447447
448448uint8_t TwoWire::requestFrom (uint8_t address, uint8_t quantity, uint8_t sendStop)
449449{
450- return requestFrom (static_cast <uint16_t >(address), static_cast <size_t >(quantity), static_cast <bool >(sendStop));
450+ return requestFrom (static_cast <uint16_t >(address), static_cast <uint8_t >(quantity), static_cast <bool >(sendStop));
451451}
452452
453453uint8_t TwoWire::requestFrom (uint16_t address, uint8_t quantity, uint8_t sendStop)
454454{
455- return requestFrom (address, static_cast <size_t >(quantity), static_cast <bool >(sendStop));
455+ return requestFrom (address, static_cast <uint8_t >(quantity), static_cast <bool >(sendStop));
456+ }
457+
458+ /* Added to match the Arduino function definition: https://github.com/arduino/ArduinoCore-API/blob/173e8eadced2ad32eeb93bcbd5c49f8d6a055ea6/api/HardwareI2C.h#L39
459+ * See: https://github.com/arduino-libraries/ArduinoECCX08/issues/25
460+ */
461+ size_t TwoWire::requestFrom (uint8_t address, size_t len, bool stopBit)
462+ {
463+ return requestFrom ((uint16_t )address, (uint8_t )len, stopBit);
456464}
457465
458466uint8_t TwoWire::requestFrom (uint8_t address, uint8_t quantity)
459467{
460- return requestFrom (static_cast <uint16_t >(address), static_cast <size_t >(quantity), true );
468+ return requestFrom (static_cast <uint16_t >(address), static_cast <uint8_t >(quantity), true );
461469}
462470
463471uint8_t TwoWire::requestFrom (uint16_t address, uint8_t quantity)
464472{
465- return requestFrom (address, static_cast <size_t >(quantity), true );
473+ return requestFrom (address, static_cast <uint8_t >(quantity), true );
466474}
467475
468476uint8_t TwoWire::requestFrom (int address, int quantity)
469477{
470- return requestFrom (static_cast <uint16_t >(address), static_cast <size_t >(quantity), true );
478+ return requestFrom (static_cast <uint16_t >(address), static_cast <uint8_t >(quantity), true );
471479}
472480
473481uint8_t TwoWire::requestFrom (int address, int quantity, int sendStop)
474482{
475- return static_cast <uint8_t >(requestFrom (static_cast <uint16_t >(address), static_cast <size_t >(quantity), static_cast <bool >(sendStop)));
483+ return static_cast <uint8_t >(requestFrom (static_cast <uint16_t >(address), static_cast <uint8_t >(quantity), static_cast <bool >(sendStop)));
476484}
477485
478486void TwoWire::beginTransmission (int address)
0 commit comments