8000 Garbage pixels start to appear on top left of screen after a few days · Issue #7190 · adafruit/circuitpython · GitHub
[go: up one dir, main page]

Skip to content

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

Closed
rdagger opened this issue Nov 3, 2022 · 12 comments
Closed

Garbage pixels start to appear on top left of screen after a few days #7190

rdagger opened this issue Nov 3, 2022 · 12 comments
Labels
bug displayio espressif applies to multiple Espressif chips
Milestone

Comments

@rdagger
Copy link
rdagger commented Nov 3, 2022

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.
SSD1322 Clock

@rdagger
Copy link
Author
rdagger commented Nov 10, 2022

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.

@makermelissa
Copy link
Collaborator

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.

@makermelissa makermelissa transferred this issue from adafruit/Adafruit_CircuitPython_SSD1322 Nov 10, 2022
@microdev1 microdev1 added bug displayio espressif applies to multiple Espressif chips labels Nov 12, 2022
@microdev1 microdev1 added this to the 8.0.0 milestone Nov 12, 2022
@tannewt
Copy link
Member
tannewt commented Nov 15, 2022

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.

@rdagger
Copy link
Author
rdagger commented Nov 15, 2022

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?

@tannewt
Copy link
Member
tannewt commented Nov 16, 2022

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.

@rdagger
Copy link
Author
rdagger 8000 commented Nov 16, 2022

I have a few: SSD1309 (128x64 mono), SSD1351 (128×128 color), ST7355 (128x160 color) & ST7565 (128x64 mono)
None of them are grayscale like the SSD1322 or have a 256x64 resolution. I guess the SSD1309 would be the closest.
I'll try to set up a lab this weekend with multiple configurations.

@jepler jepler modified the milestones: 8.0.0, Support Nov 16, 2022
@dhalbert
Copy link
Collaborator
dhalbert commented Jan 9, 2023

@rdagger Were you able to reproduce this on other displays?

@rdagger
Copy link
Author
rdagger commented Jan 9, 2023

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.

@dhalbert
Copy link
Collaborator

There was a small fix in bitmaptools recently here: https://github.com/adafruit/circuitpython/pull/7407/files. If you are not using bitmaptools, then never mind.

@rdagger
Copy link
Author
rdagger commented Jan 10, 2023

@dhalbert Not using bitmaptools. My project is posted on my website if you would want to look at the code:
https://www.rototron.info/projects/sms-display/

@dhalbert
Copy link
Collaborator
dhalbert commented Mar 8, 2024

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.

@dhalbert dhalbert closed this as completed Mar 8, 2024
@rdagger
Copy link
Author
rdagger commented Mar 8, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug displayio espressif applies to multiple Espressif chips
Projects
None yet
Development

No branches or pull requests

6 participants
0