Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

w/Hardware Reset, bus_busy recovery, glitch prevention

Latest
Compare
Choose a tag to compare
Loading
@stickbreaker stickbreaker released this 14 Mar 23:04
· 15 commits to master since this release
bb24e52

With this Release V0.2.0 14MAR2018, Wire() can handle a bus fault, Grounding SDA and or SCL is now recoverable. The bus_busy cascade failure should be solved!

The signal glitch that was created when attaching pins to the i2c peripheral has also been solved!

A bus_busy status is now auto-magically cleared. When this status is detected upon entry into the hal layer i2cProcQueue(), i2cProcQueue() immediately returns I2C_ERROR_BUSY which causes TwoWire() to attempt to clear the bus, first TwoWire() re-inits the i2c peripheral with a hardware reset!, then it attempts to cycle the i2c bus manually. TwoWire() then retries the transaction once. If the bus did not clear, the I2C_ERROR_BUSY is returned to the app.

This branch should handle both I2C peripherals at the same time, UnTESTED, but, it should work.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.