Description
Subject of the issue
Reset an Artemis I2C port from software without doing a full uC reset
Your workbench
Artemis Nano and custom board, with BME280, AS726X and others on I2C(2).
Steps to reproduce
Sometimes when the AS726X (using the Sparkfun library ) is not present, or is plugged/unplugged during use, the bus no longer works for the other devices, even after sleeps, .end(), .begin() calls, etc. It's a bit random and hard to track down or replicate, although I've made some changes to help the AS726X library deal better with errors, pull request on that is here: https://github.com/sparkfun/SparkFun_AS726X_Arduino_Library/pull/2
It's a twoWire object, and I tried both global and local declarations, didn't seem to help.
So for now, I'm happy to detect the I2C bus error and just reset it - the question is, how?
Expected behaviour
N/A
Actual behaviour
N/A