You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First of all, sorry for the many edits. I unfortunately hit [Ctrl+Enter] for a newline, but instead created an unfinished issue. Now it is done. 😅
The specification of the new I2c::transaction method does not directly mention this, but to me it would make sense to not send a SAD+R/W between multiple consecutive Write operations. The current implementation, however, does that. Is this just an oversight or on purpose?
Specification
Execute the provided operations on the I2C bus.
Transaction contract:
- Before executing the first operation an ST is sent automatically. This is followed by SAD+R/W as appropriate.
- Data from adjacent operations of the same type are sent after each other without an SP or SR.
- Between adjacent operations of a different type an SR and SAD+R/W is sent.
- After executing the last operation an SP is sent automatically.
- If the last operation is a `Read` the master does not send an acknowledge for the last byte.
- `ST` = start condition
- `SAD+R/W` = slave address followed by bit 1 to indicate reading or 0 to indicate writing
- `SR` = repeated start condition
- `SP` = stop condition
First of all, sorry for the many edits. I unfortunately hit [Ctrl+Enter] for a newline, but instead created an unfinished issue. Now it is done. 😅
The specification of the new
I2c::transaction
method does not directly mention this, but to me it would make sense to not send aSAD+R/W
between multiple consecutiveWrite
operations. The current implementation, however, does that. Is this just an oversight or on purpose?Specification
Example
As far as I could find out, this API call would produce with the current implementation the following sequence on the bus:
I, however, would expect the following:
If this is indeed not intended behaviour, I could probably fix it and create a pull request. 😊
The text was updated successfully, but these errors were encountered: