This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nrf_twi_mngr handling of transfers larger than 255 Bytes

I am trying to send more than 255 Bytes of data over I2C so I break it up into 255 byte transfers within a transaction.

I notice a stop/start condition is sent between I2C transfers even if I use the NRF_TWI_MNGR_NO_STOP flag for each transfer.

This seems to contrary to the comment at line 74 in nrf_twi_mngr.c:

/* If it is possible try to bind two transfers together. They can be combined if:
     * - there is no stop condition after current transfer.
     * - current transfer is TX.
     * - there is at least one more transfer in the transaction.
     * - address of next transfer is the same as current transfer.

*/

Is there a way to accomplish this?

Related