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
As i2c is probably my least favorite peripheral to develop and test, a lot has been left out.
It requires at least one more interface in the form of twi_poll() for the slave part.
A simple not twi_poll(struct twi *ctx) that returns -EAGAIN, 0 (write) or 1 (read) should do the trick.
This will allow a slave to know if he’s addressed for a read or a write, allowing asynchronous read and writes.
this is already present in different state machines so it’s just moving code around, the big part of the work will be to re-test everything.
Regarding the setup, 10bit mode is missing, unbalanced scl hi/Lo is not supported, etc, etc and most of the drivers simply ignore basic errors like arbitration loss.
The text was updated successfully, but these errors were encountered:
As i2c is probably my least favorite peripheral to develop and test, a lot has been left out.
It requires at least one more interface in the form of twi_poll() for the slave part.
A simple not twi_poll(struct twi *ctx) that returns -EAGAIN, 0 (write) or 1 (read) should do the trick.
This will allow a slave to know if he’s addressed for a read or a write, allowing asynchronous read and writes.
this is already present in different state machines so it’s just moving code around, the big part of the work will be to re-test everything.
Regarding the setup, 10bit mode is missing, unbalanced scl hi/Lo is not supported, etc, etc and most of the drivers simply ignore basic errors like arbitration loss.
The text was updated successfully, but these errors were encountered: