arduino / arduino/ArduinoCore-samd
Timeout on SERCOM I2C functions
- Dominant language
- C
- Stars
- 502
- Forks
- 740
- PR merge metrics
- No merged PRs in 30d
Description
We are currently testing a timeout implementation (without timer/interrupts) for the SERCOM I2C functions, because we saw that the SAMD21 can freeze on communication errors or hardware problems. The implementation also fixes the recursion problem in `startTransmissionWIRE()`.
Changes: https://github.com/awatterott/ArduinoCore-samd/commit/64b6fca042eb2d72834af3c8e37ea9bf353ccfc3
Contributor guide
No contributing guide indexed for this repository
Research direction
Review the linked commit and trace the SERCOM I2C functions, especially startTransmissionWIRE(). Compare the timeout behavior with the existing communication-error paths and verify that hardware or bus failures no longer freeze communication and that the recursion problem is resolved.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100