- I manually merged in some of the recent updates to the ESP-IDF for the ESP32-S3 LCD peripheral by @suda-morris and that seems to have banished the screen offsets. Here is a link to the issue requesting a back port of these fixes to ESP-IDF version 4.4
However the screen goes wonky whenever CircuitPython is doing some processing and the screen is updated. I think this may be the effect known as “tearing” but I’m. It sure the root cause yet. It seems that the screen sync is getting delayed so the display is temporarily drawn in the wrong locations while CircuitPython is doing some computing work. After the work slows down the screen draws back to where it should be. I think there should be some coordination where the screen is not redrawn while CircuitPython is doing some processing work. Or somehow prevent CircuitPython from delaying the syncs. or it’s possible that CircuitPython is accessing PSRAM and delaying DMA reads from the LCD peripheral.
I need to better understand if there are coordination mechanisms available for the LCD display. Also I am unsure how to debug timing issues like this, that’s a new area for me to explore.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.