Skip to content

Intermittent i2c slave mode errors, interrupts delayed or fired in the wrong order resulting in data corruption #7

Open
@chrisckc

Description

@chrisckc

Hi, I have been using your very useful library to create some test code to try and get to the bottom of an issue I originally encountered using I2C slave mode with Arduino-Pico.

I recreated a test scenario using pure SDK and your library and found similar issues, the issues are fully detailed in this post along with scope traces.
raspberrypi/pico-sdk#1102

The issues are only really noticeable at I2C bus speeds above 100KHz.
Earle Philhower added a recent commit to his Arduino-Pico Wire API implementation which provides a workaround for the bulk of the issues, getting the failure rate down to around 0.02%, from originally being up to 50% at 1Mhz bus speed. (fast mode plus)

It looks to me like the remaining issues are with the SDK or maybe the hardware.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions