Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix hangs when transfer errors occur #367

Merged
merged 3 commits into from
Sep 5, 2024
Merged

Conversation

DennisErnst
Copy link

This patch fixes hangs that can occur with certain I2C devices. These where observed in a weather station running a Metro M4 Express. It uses a number of I2C sensors including HM3301 particle monitors (with 29 byte responses) and a PCA9615 bus extender. I was having hangs about once a day. Using the Watch Dog Timer, I was able to locate places where the code was not check for other error conditions while waiting for the SERCOM I2C controller. These fixes have eliminated these hangs.

Copy link
Member

@hathach hathach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

superb!! Thank you very much for the fix to make driver more robust. I clean up the format a bit due to spaces vs tab. Will merge when ci passed.

@hathach hathach merged commit 8859387 into adafruit:master Sep 5, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants