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

Diagnosing and handling lock ups #36

Open
toptensoftware opened this issue Sep 20, 2023 · 0 comments
Open

Diagnosing and handling lock ups #36

toptensoftware opened this issue Sep 20, 2023 · 0 comments

Comments

@toptensoftware
Copy link

Hi Richard,

Firstly, thank you for this library - I've been enjoying using it so far.

I'm fairly new to I2C so I'm hoping you can give me a couple of pointers on diagnosing some lock up issues I'm having. This is the setup:

  • Teensy 4.0, using pins 18/19 for I2c as master
  • Latest version of lib from github
  • Slave is a raspberry pi running bare metal (circle)
  • 2.2K pull up resistors to 3.3V (at the teensy end)
  • About 200mm between teensy and pi
  • Environment is not particularly noisy. Most noise around the i2c connection would be the pi is also driving a DPI RGB Parallel LCD interface - not sure how impactful that might be
  • Sending 1x 20-30 byte packet over i2c every 500ms

Result:

  • Getting occasional dropped packet (I need to find a way check, but suspect a checksum error on the packet)
  • Runs well for say 10 mins, but then gets stuck with Master.finished() always returning false

Main questions:

  • Can the device/library recover from an i2c lockup?
  • What's reasons would cause Master.finished() to get stuck like this?
  • Is there anything I can do as a client of the library to recover from a lockup?

If you've got any other suggestions on where to start debugging that would also much appreciated.

Brad

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

No branches or pull requests

1 participant