diff --git a/src/SparkFun_External_EEPROM.cpp b/src/SparkFun_External_EEPROM.cpp index 2409f37..27567fc 100644 --- a/src/SparkFun_External_EEPROM.cpp +++ b/src/SparkFun_External_EEPROM.cpp @@ -157,7 +157,7 @@ void ExternalEEPROM::read(uint32_t eepromLocation, uint8_t *buff, uint16_t buffe } //See if EEPROM is available or still writing a previous request - while (isBusy(i2cAddress) == true) //Poll device + while (settings.pollForWriteComplete && isBusy(i2cAddress) == true) //Poll device delayMicroseconds(100); //This shortens the amount of time waiting between writes but hammers the I2C bus settings.i2cPort->beginTransmission(i2cAddress); @@ -221,7 +221,7 @@ void ExternalEEPROM::write(uint32_t eepromLocation, const uint8_t *dataToWrite, } //See if EEPROM is available or still writing a previous request - while (isBusy(i2cAddress) == true) //Poll device + while (settings.pollForWriteComplete && isBusy(i2cAddress) == true) //Poll device delayMicroseconds(100); //This shortens the amount of time waiting between writes but hammers the I2C bus settings.i2cPort->beginTransmission(i2cAddress); diff --git a/src/SparkFun_External_EEPROM.h b/src/SparkFun_External_EEPROM.h index 7f80ad5..52ef67b 100644 --- a/src/SparkFun_External_EEPROM.h +++ b/src/SparkFun_External_EEPROM.h @@ -49,6 +49,11 @@ #define I2C_BUFFER_LENGTH_RX BUFFER_LENGTH //Teensy #define I2C_BUFFER_LENGTH_TX BUFFER_LENGTH +#elif defined(ESP32) + +#define I2C_BUFFER_LENGTH_RX I2C_BUFFER_LENGTH +#define I2C_BUFFER_LENGTH_TX I2C_BUFFER_LENGTH + #else #pragma GCC error "This platform doesn't have a wire buffer size defined. Please contribute to this library!"