-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Garbage pixels start to appear on top left of screen after a few days #7190
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
Comments
I've confirmed the bug with 2 different OLED displays and 2 different QT PY ESP32-S2's. It's probably a CircuitPython DisplayIO bug. |
This is likely a bug in the core. These displayio drivers mostly just provide init codes and the real work is done in the core. I'll transfer it. |
I wonder if these are actually bit flips in the SSD1322. I believe CP should only be updating the changing region and basically leaving the left half alone. |
It's hard to troubleshoot because it takes at least 2 days to reproduce. I switched from a label to a bitmap_label and so far it hasn't happened but unfortunately I have to switch back to label because the bitmap_label has too much flicker upon updates. Performing a supervisor.reload() every night at midnight prevents the problem. I have 4 QT PY ESP32-S2's and 4 of these SSD1322 displays. Any troubleshoot suggestions to narrow down the cause? |
Do you have any other displays you can run the code with? I'm curious if they'd end up with the random pixels too. |
I have a few: SSD1309 (128x64 mono), SSD1351 (128×128 color), ST7355 (128x160 color) & ST7565 (128x64 mono) |
@rdagger Were you able to reproduce this on other displays? |
No. I've had an SSD1309 OLED 128×64 display running for a week without issue. I did have to modify my program to fit the smaller size. I've also been able to get reliable results from the original SSD1322 OLED 256x64 display by performing garbage collection on every loop and automatically soft rebooting the QT PY once a day. Since implementing these changes I've yet to see the dots appear. One thing different about my SSSD1322 display is that it requires colstart=112 on initialization. Not sure if this is pertinent. I have 4 of these displays deployed in the field now so I should be able to get some good long-term test results. |
There was a small fix in |
@dhalbert Not using bitmaptools. My project is posted on my website if you would want to look at the code: |
This is over a year old. Have you found out the problem? Does it occur with the latest CircuitPython 9 builds? I'll close for now, but we can reopen with new info. |
I switched from a label to a bitmap_label and the problem went away. They've been running for over a year 24/7 without any screen garbage. |
Using a QT PY ESP32-S2, an SSD1322 OLED display and CircuitPython 8. Currently I just have a simple clock displayed although the program has other features. I'm using the built-in RTC along with NTP. Everything works except that after a few days of just sitting untouched as a clock, random pixels start appearing along the top left of the display. If you draw over the pixels, they go away. The program isn't crashing or throwing errors.

The text was updated successfully, but these errors were encountered: