-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I2C transaction breaks I2c trait contract #82
Comments
Interesting find!
So the code path seems to be correct and this is just how the linux kernel works: it sends the messages without a stop in between, although it does send a restart with the same address for each message regardless of the type of the last one. In order to uphold the This affects the |
So according to https://docs.kernel.org/i2c/i2c-protocol.html, there exists a flag The description states:
I think this might do exactly what the I2c trait contract requires. |
The |
I am not opposed to make |
According to I2c trait transaction contract is as follows:
Using following simple test code:
I'm expecting no SR "repeated start condition" to appear as both operations are of the same type (Write). Unfortunately I can see SR "repeated start condition" on the bus as well as SAD+R/W "slave address followed by bit 1 to indicate reading or 0 to indicate writing" (positions 6 and 8). This was captured using logic analyzer on embedded Linux board for the sample code attached above:
The text was updated successfully, but these errors were encountered: