SparkFun_External_EEPROM library warning

Hello everyone,
I am using ATMLU920 eeprom chip. I happened to use SparkFun_External_EEPROM library for my arduino due board . I uploads and works fine but It compiles and uploads with a warning.
warning: This platform doesn't have a wire buffer size defined. Defaulting to 32 bytes. Please contribute to this library! [enabled by default]
#pragma GCC warning "This platform doesn't have a wire buffer size defined. Defaulting to 32 bytes. Please contribute to this library!"

I have attached the picture below

What board are you using?

The library tries to figure out what processor you are compiling for so it can pick a reasonable buffer size. The warning is telling you that it doesn't recognize your board so it's using "32".

#if defined(ARDUINO_ARCH_APOLLO3)

#define I2C_BUFFER_LENGTH_RX 256 //Hardcoding until issue is resolved: https://github.com/sparkfun/Arduino_Apollo3/issues/351
#define I2C_BUFFER_LENGTH_TX 256

#elif defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__)

#define I2C_BUFFER_LENGTH_RX BUFFER_LENGTH //I2C_BUFFER_LENGTH is defined in Wire.H
#define I2C_BUFFER_LENGTH_TX BUFFER_LENGTH

#elif defined(__SAMD21G18A__)

#define I2C_BUFFER_LENGTH_RX SERIAL_BUFFER_SIZE //SAMD21 uses RingBuffer.h
#define I2C_BUFFER_LENGTH_TX SERIAL_BUFFER_SIZE

#elif (defined(__MK20DX128__) || defined(__MK20DX256__) || defined(__MKL26Z64__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) || defined(__IMXRT1062__)) // 3.0/3.1-3.2/LC/3.5/3.6/4.0

#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

#elif defined(STM32)

#define I2C_BUFFER_LENGTH_RX BUFFER_LENGTH //BUFFER_LENGTH is defined in Wire.h for STM32
#define I2C_BUFFER_LENGTH_TX BUFFER_LENGTH

#elif defined(NRF52_SERIES)

#define I2C_BUFFER_LENGTH_RX SERIAL_BUFFER_SIZE //Adafruit Bluefruit nRF52 Boards uses RingBuffer.h
#define I2C_BUFFER_LENGTH_TX SERIAL_BUFFER_SIZE

#else

#pragma GCC warning "This platform doesn't have a wire buffer size defined. Defaulting to 32 bytes. Please contribute to this library!"

//Default to safe 32 bytes
#define I2C_BUFFER_LENGTH_RX 32
#define I2C_BUFFER_LENGTH_TX 32

#endif
1 Like

I am using arduino due board. Does it cause any issue?

I looked up the Wire buffer size on the DUE and it is 32. You could add the DUE to the library with:

#elif defined(__SAM3X8E__) // Arduino DUE
#define I2C_BUFFER_LENGTH_RX BUFFER_LENGTH
#define I2C_BUFFER_LENGTH_TX BUFFER_LENGTH
1 Like

problem solve thank you so much

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.