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
Detect and clear I2C freeze #3664
Comments
Hello, I also often have stuck when displaying the OLED SSD1306 / SH1106 Framed. |
Ah a candidate for testing.... What seems to be happening is that one I2C device still "thinks" it is in the process of sending data. Around the time you mention some changes have been made to the core libraries regarding I2C. Can you also test running at 100 kHz clock to see if it is then more stable. |
I am using the same OLED and had only this issue with the one which has difficulties in connecting to WIFI. KR marstum |
Does that unit also crash, or is difficulties with WiFi only resulting in slow responses on the web UI and/or staying connected to WiFi? |
As usual, it depends, and I don't know on what. |
The reason I ask is because I have the feeling this stuck I2C may happen due to crashes in the middle of an I2C transfer. |
I am happy to help, so what do I need to do, in case the OLED is freezing next time, and I would have access to the ESP? I2C scan, or what else? |
I2C scan is a good first attempt to see if the I2C bus is stuck. |
Ok, I let you know, if this was working. |
The I2C scan doesn't show anything different to yesterday, during the OLED was working as expected, but you are absolutely correct the swap solved the freeze. |
This seems to be solved, and since then, fixing I2C connection trouble has been added to the code, so this can be closed. |
It has been reported indirectly on the forum and in some GitHub issues a few times, but I've seen it happen too now on my own boards.
What happens:
This also happens every now and then on OLED display, which is the only one connected.
This plugin used to be one of the most tested and stable ones for years, so I guess something has changed in the core, or we may trigger some corner case now that we allow to switch frequencies or maybe load a lot more from flash instead of RAM.
It has been suggested on a number of forum posts on other forums that the clock pin or data pin may remain pulled down for unknown reasons.
One of the reported fixes seems to be to toggle the pins for some time and re-set their pull-up resistors, as described here
The text was updated successfully, but these errors were encountered: