GC9A01 - Display Disturbances After Initialization #3065
Replies: 5 comments 3 replies
-
Thanks for raising this. Not all displays have this problem, I will try this. Another solution for some displays is to keep the backlight off until the display is initialised. |
Beta Was this translation helpful? Give feedback.
-
I'm suffering a variation on the theme. I have 3 of these displays side by side used as gauges in a car. When they boot one of them gets a flash of the previous image. The others did too but playing around with timings and the order of things around tft.init sorted them out. I have also tried editing the INIT as above but I still get the flash Has there been any movement on this? I've tried reading through the display datasheet trying to see if there is a way to erase the screen buffer but I'm at the edge of my knowledge |
Beta Was this translation helpful? Give feedback.
-
How about displaying the first screen and then turning the backlight on? |
Beta Was this translation helpful? Give feedback.
-
I'm actauly using a Waveshare ESP32S3 module with an integrated GC9A01 display. On the module they do expose the backlight but as part of the initialisation process it gets turned on even though I make sure its turned off before I setup the screen. |
Beta Was this translation helpful? Give feedback.
-
Regardless of external control, ie: turning off the backlight before TFT.INIT the backlight is turned back on by the call to TFT.INIT. Once initilaised I can adjust the brightness adjusted using my own code. Writing a black screen within TFT.INIT seems to have worked. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Problem Description
When a GC9A01 display is just connected to the power supply and has just been initialized by TFT_eSPI, a visible disturbance can be seen in many colors on the screen. This fault image will light up very briefly. It does not disturb normal operation, but with multiple screens and in a dark environment it is simply not a nice looking thing.
Problem Localization
Tests have shown that this fault is triggered after initializing the display (
TFT_eSPI/TFT_Drivers/GC9A01_Init.h
), because if you add adelay(5000);
after the very last command0x29
, this fault remains clearly visible for 5 seconds and before that command the screen remains black for 5 seconds before the fault image light up very briefly.The command
0x29
meansGC9A01A_DISPLAY_ON
. It switches the display on directly after writing the settings into the display memory. But in this case without executing a clear before. An uncleaned random render buffer is therefore displayed.Solution
Before switching on the display with the very last command
0x29
, the screen buffer needs to be cleaned.Fix
After this fix, the disturbance was no more displayed once.
Beta Was this translation helpful? Give feedback.
All reactions