-
Notifications
You must be signed in to change notification settings - Fork 7.4k
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
[TW#15976] When I2C hangs restarting ESP doesn't usually help #1133
Comments
We have this to coop with that issue in Arduino. I did get reports that it does not help 100% of the time though... |
Hi @chanibal , did the above suggestion help you resolve the issue? |
@FayeY , sorry, couldn't get around to fixing this. Just updated IDF to newest and still crunching out other issues. Will try this workaround ASAP. |
Temporarily reverted to IDF version from top comment because of the issues in newer one (still haven't lost hope, just will return to upgrade at a later time). Using the workaround @me-no-dev mentioned doesn't help by itself, but in combination with power cycling (disconnecting VCC) of the I2C OLED it works. Double checked that without disabling/enabling the peripherial, power cycling is useless. And for completeness, a few other things I tried, without success:
Still, resetting the ESP from external programmer does reset I2C properly without power cycling the OLED and the same OLED itself worked well for a long time on a arduino nano - so I don't think this is the OLED's fault. Will not repeat tests on WROOM32, but I'll try to update the IDF and run them again. |
@negativekelvin will try patch as soon as I get newest IDF working. In an question unrelated to this issue, if I make a pull request to esp-idf, should I create an issue describing it separately or is the pull request itself sufficient? |
Tried with esp-idf |
Some background: I'm integrating a SSD1306 128x64 OLED driver and I2C seems to be randomly failing on
i2c_master_cmd_begin
with error 263 (ESP_ERR_TIMEOUT). This seems to be related to #680.The real issue is this is not fixable by a restart of the ESP - the error persists. I have tried four ways of restarting the ESP with different results:
esp_restart()
- does not help, error remains after restartA bit more about the I2C hang: it happens randomly while updating the screen, can be easily triggered by restart method 2 mentioned above (hang in a critical section, be restarted by watchdog).
Reconnecting the I2C peripherial doesn't help.
IDF version v3.0-dev-396-g6d2a597
WROOM32 ESP32D0WDQ6 (revision 0)
The text was updated successfully, but these errors were encountered: