My problem is that the Wire.h library seems to resend the address after Wire.endTransmission(false).
I am attempting to write to a sensor’s configuration register. The process requires a repeated start as shown from the sensor’s datasheet.
My initial attempt used the following sequence of commands:
On the wire this results in an:
a resend of the address(0x48),
and the data(0x05).
0x05 is the value I need to send to the register. This needs to occur directly after the 0xAC + ACK. But as seen, the address is resent.
In my second attempt I did not call beginTransmission():
However, this still resends the address as seen on the wire:
I tried parsing through Wire.cpp, but my fix attempts only resulted in breaking the I2C engine.
Might I have something wrong?
I can’t imagine any other sequence of Wire calls to generate the repeated start I need.