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

Gather writes with i2c_transfer on the nrf9160

I am trying to interface with a I²C OLED display using Zephyr’s SSD1306 driver. The driver uses i2c_burst_write, which itself requires that i2c_transfer support gather writes; that is, it does two messages with I2C_WRITE in a row and expects those to be combined into one transfer. Looking at the bus with a logic analyzer, it appears that the nrfx_twim driver forces a repeated start between the two messages. By comparison, the bitbang driver gathers those into a single transfer. Is it possible to do gather writes with the nrfx_twim I²C driver?

I’m following master on fw-nrfconnect-nrf. Exact revisions from my west.yml are

fw-nrfconnect-nrf 12cc53ac4364f29c49c25c8edf422ebc40261bfd
fw-nrfconnect-zephyr de69d2df908fc7bccd8c03b106e7645e90b1503b
fw-nrfconnect-mcuboot 59fde9c792bfaa36887c860fb8cd0ca1f1bc4db5
nrfxlib 9bcc77b27d12162adc31d8c8c70f4e499338fbdb

Related