I2C/Wire read buffer size

I’m pretty sure this is a straightforward question concerning the Arduino API under RUI3 (on RAK4631)

AFAIK Wire.requestFrom(len) implements a multibyte I2C bus read into an internal buffer that is then accessed by single byte reads using Wire.available() and Wire.read().

The official Arduino reference doco states that the Wire implementation uses a 32 byte buffer.

Is the same sized buffer used under the hood in RUI3?

I’m polling UBX formatted data out of the RAK12500 GNSS. For some UBX payloads I’ll have to loop over several blocks anyway, but it’s more efficient if the blocks are larger.

Hello @psupine
It is the same buffer size in RUI3:

#define TWI_BUFFER_MAX 32

You might be able to change it by changing the Wire.h file in the BSP folder Arduino15\packages\rak_rui\hardware\nrf52\3.5.3\cores\nRF5\component\rui_v3_api

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