forked from olikraus/u8glib
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix timeout handling for u8g_i2c_stop()
To trigger a stop condition, the code sets the TWSTO bit, which is automaticaly cleared when the stop is copmleted. However, the code would call u8g_i2c_wait() to wait until the bit was *set*, not *cleared*. In most cases, the stop condition seems slow enough so the bit is not cleared and u8g_i2c_wait() is satisfied (though without waiting for the stop to be completed). However, in some cases the bit is already cleared, so u8g_i2c_wait stalls for the entire timeout and then sets a timeout error. In practice, these errors aren't usually checked, so this mostly causes some unneeded delays and not waiting for stop complete is probably not problematic either, but it is good to fix it anyway. This commit changes u8g_i2c_wait to allow waiting for a bit to be cleared in addition to it being set.
- Loading branch information
1 parent
00609fe
commit 99afbd1
Showing
2 changed files
with
9 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters