I2C mode rework

I2C rework is complete and tested. I pushed to main and you can find the update in the latest autobuild.

I’m extremely pleased with the updates, I2C feels much more solid now:

  • No timeout errors (unless a real timeout while clock stretching)
  • No more “I2C bus errors” generated by the PIO program being too “cute”
  • No longer need a violent recovery from failure sequence to shake the PIO loose during “I2C bus errors”
  • Repeated starts should work again
  • Note: if no device responds with an ACK, the bus transaction will no longer abort
1 Like