Skip to content

Reset I2C port? #172

Closed
Closed
@stephenf7072

Description

@stephenf7072

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions