Adafruit is open, safely ... and shipping all orders at this time! Read more!

ADAFruit HX8357D 3.5" Display Flicker
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

ADAFruit HX8357D 3.5" Display Flicker

by justacec on Wed Aug 14, 2019 11:32 am

So, I have an AdaFruit 3.5" (At least that is what I think it is) TFT LCD with integrated touchscreen. I believe it is product:

I have noticed that there does not seem to be a way to sync my redraws of the screen (even small sections) to the vblank times. This of course results in some tearing and visible flicker that I would like to get rid of. Although I am using Rust to code up my project, I took a look at your provided library code to see if you are doing anything special and was unable to find anything that might proactively reduce the flicker. So, here are my specific questions:

1: Is there a way to disable GRAM updates to the screen while I am writing the contents of the GRAM? (I looked at things like DISPLOFF and DISPON and friends but they do not do what I am looking for)
2: Is there a way to expose the vsync pin on the driver chip? I understand that you have gone for simplicity in your PCB layout but find it unfortunately that pin was left on the cutting room floor.

Now for a final questions to pose to the room... Why doesn't the HX8357 API include some sort of function which will copy a single color value to a CASET / PASET allocated space? That would save a lot of bandwidth on draws and would would likely be much faster than the bus. I know that is of course not AdaFruit, but just had to put this out there. I just assumed that the API would include such a function and I spent copious amounts of time in the driver manual looking for it.

Posts: 1
Joined: Wed Aug 14, 2019 11:18 am

Please be positive and constructive with your questions and comments.