Horizontal jitter on display Waveshare ESP32-S3-Touch-LCD-7 800 x 480, 8MB PSRAM, 8MB Flash, ST7262, GT911 #22553
Replies: 11 comments 20 replies
-
Multiple problems here. Unfortunately I don't have such a large display, I have only 480x480. Is it possible to have a short video. There are at least 2 possible causes for glittering, and visible artifacts are very different in both cases |
Beta Was this translation helpful? Give feedback.
-
Also there seem to be a RGB mapping problem which makes the gradients look so bad |
Beta Was this translation helpful? Give feedback.
-
Can you try this:
Details:
|
Beta Was this translation helpful? Give feedback.
-
Do you have the parameters of ST7262 from Micropython for this display? This would help a lot because there are MANY parameters |
Beta Was this translation helpful? Give feedback.
-
Thank you so much @s-hadinger , I'll try tonight after work. I note the SPI initialization, but an SPI port doesn't appear to be used for display on this board at all. From the datasheet max DCLKP is about 25MHz, my/our clock frequency is about half that. Following on from this I believe that all the figures in this table which have the 'Unit measure' as DCLK should be doubled to reflect this. In micropython I tried both the min and max of these new values for all porch widths and pulse widths. Bottom line no effect, same as the idle_low settings, no impact at all. If I pushed past some of these limits there was failures. DCLKP is definitely active low (falling edge) The following appears to work perfectly under lvgl_micropython on the same board. If I used exactly the same data pin assignments on Tasmota the RGB (565) displays as BRG, (556) so I needed to swap the bytes around. Obviously not entirely correct.
|
Beta Was this translation helpful? Give feedback.
-
Small glitch example, always to the right. |
Beta Was this translation helpful? Give feedback.
-
Looking at schematic there doesn't appear to be any I2C or SPI connections between ESP and ST7262 which would allow for configuring registers. Only the RGB interface is exposed. I would have to assume that the default startup register configuration is suitable, as is, for the lvhl_micropython rgb_driver on this particular board. |
Beta Was this translation helpful? Give feedback.
-
Thanks. The glitch does look like an interrupt that breaks the flow of data from PSRAM. Let's address this later. From the pinout and the Micropython, your first line should be (pinout was mixed up):
|
Beta Was this translation helpful? Give feedback.
-
Hello there. Same im allready 3 days struggling to get this display work with TASMOTA. Here is my berry driver:
Adding :B parameter solves big/little ending problem, so the colors are now allright. The only problem is still glitching same as described by Mark. Did many tests, but the only option for this display to stop glitching with tasmota is to force it work somehow with lower DCLK, usually under 10 mhz, but i had no success with tons of configs to run it under 12 MHz. I have another 7ich display with EK9716 driver (Sunton), runing same resolution, but there i was able to run it on 8Mhz stable without glitching. But same for this display when set over 10Mhz. Anyone some idea to fix this mess with hi-res displays in Tasmota? |
Beta Was this translation helpful? Give feedback.
-
Have you measured the relevant clocks? |
Beta Was this translation helpful? Give feedback.
-
Hi Developer/s, Is it likely that this issue can be fixed at some point in the nearish future? Or is such a large displays (800 x 480) not really compatible with Tasmota, due to the size of the frame buffer? I have managed to get the display stable with lvgl_micropython, however I've now really embraced the Tasmota framework for many of my projects rather than MicroPython on ESP32 devices. I'm guessing that not many people are using such a large display (with RGB) , and as such might be at the bottom of your already busy lists. If possible I would just like an idea of where this sits so I can plan accordingly. Many thanks, for all your assistance so far. |
Beta Was this translation helpful? Give feedback.
-
PROBLEM DESCRIPTION
A clear and concise description of what the problem is.
The display gritters and tears to the right - maybe a few times per second when displaying static HASP widgets or lvgl widgets. The color wheel also displays wrongly. And the round gauges look very doggy.
REQUESTED INFORMATION
Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!
Backlog Template; Module; GPIO 255
:Backlog Rule1; Rule2; Rule3
:Status 0
:weblog
to 4 and then, when you experience your issue, provide the output of the Console log:TO REPRODUCE
Steps to reproduce the behavior:
autoexec.be:
pages.jsonl:
display.ini:
EXPECTED BEHAVIOUR
A clear and concise description of what you expected to happen.
A steady display, working color picker and better looking gauges
SCREENSHOTS
If applicable, add screenshots to help explain your problem.
It is hard to show the gittering without video.
In this pic, LEDs look correct but color wheel does not (page1)
In this pic the gauges are rendered really poorly (page2)
ADDITIONAL CONTEXT
Add any other context about the problem here.
I've read through the ST7262 datasheet and have tried many combinations of pclk frequencies, porches and pulse widths. If set the pclk frequency to above 12MHz the screen artifacts get worse. If I set it too low, the entire device locks up and I need to refresh. Other than that there are no crashes and functionality all seems there.
It took me a while to get the 16 data pins correct for color, but I believe this is verified correct by the 5 red, 6 green and 5 blue virtual LEDs. Each one changed by one significant bit.
I have also tried flashing the device with lvgl-micropython. I've used the same display parameters here, as I did in the lcgl-micropython rgb_display driver. Under that framework there is no glitching, the display is rock solid even with fast data charting and all the widgets I've tried so far display properly.
(Please, remember to close the issue when the problem has been addressed)
Beta Was this translation helpful? Give feedback.
All reactions