Skip to content

More Robust I2C Communication

Compare
Choose a tag to compare
@jbaumann jbaumann released this 24 Jan 10:29
· 10 commits to master since this release

New/Added

Nothing.

Changed/Enhancements

Cosmetic

Changed const variables to static const.

Robust I2C

The combination of the following measures should allow for a faster recovery if the I2C bus is locked. This happens only infrequently, but is part of the I2C protocol (problems). We try to detect and react to this faster.

Daemon

Introduced a fast_exit mode to the daemon to support a faster restart in case of an I2C lockup.

Firmware

Added a call to Wire.end() to the initialization of the I2C bus. This allows to re-init the bus at any time with the same call.

After half of the configured timeout period the ATTiny starts to re-initialize the I2C bus every second as long as there is no new communication with the RPi. This does not change any semantics.

Fixed Bugs

Nothing.