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(PeriphDrivers): MSDK-1242: Fix false stop detection in I2C interrupt handler #765

Merged
merged 2 commits into from
Oct 12, 2023

Conversation

Jacob-Scheiffler
Copy link
Contributor

A customer reported that they were seeing the I2C callback function being called early when an I2C transaction with another slave device was executed before the master initiated an I2C transaction with our micro. Upon inspection it was discovered that the I2C will always assert the STOP flag when a stop condition is detected on the bus even if our micro is not the slave device involved in the I2C communication. When our micro received an address match the handler logic would think that the transaction had been completed and would immediately enter the callback function.

This PR adds a logic block to clear the STOP interrupt flag if it has been asserted as a result of a separate I2C transaction and re-arranges logic blocks in the I2C handler to avoid entering the callback function immediately after an address match.

@Jacob-Scheiffler Jacob-Scheiffler merged commit 9a72f1c into main Oct 12, 2023
11 checks passed
@Jacob-Scheiffler Jacob-Scheiffler deleted the fix/msdk-1242 branch October 12, 2023 18:15
EricB-ADI pushed a commit that referenced this pull request Nov 21, 2023
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.

3 participants