2025-08-07 10:32 AM
Hi all,
I'm trying to use the partial frame buffer feature and I get the first two partial frames (40 lines), but TouchGFX does not seem to update the screen into the partial buffer. Just using TouchGFX no DMA, and no ChromArt.
My home screen is :
But the LCD only displays
Looking at the partial frame buffer, the rest of the screen is not rendered.
Do I need to make some call in frame transfer to update to the next partial frame?
Thanks
Archer
2025-08-18 5:14 AM - edited 2025-08-18 5:15 AM
Hello,
You need to implement a few functions, it is described in TouchGFXGeneratedHAL.cpp:
/* ******************************************************
* Functions required by Partial Frame Buffer Strategy
* ******************************************************
*
* int touchgfxDisplayDriverTransmitActive() must return whether or not data is currently being transmitted, over e.g. SPI.
* void touchgfxDisplayDriverTransmitBlock(const uint8_t* pixels, uint16_t x, uint16_t y, uint16_t w, uint16_t h) will be called
* when the framework wants to send a block. The user must then transfer the data represented by the arguments.
*/
extern "C" int touchgfxDisplayDriverTransmitActive();
extern "C" int touchgfxDisplayDriverShouldTransferBlock(uint16_t bottom);
extern "C" void touchgfxDisplayDriverTransmitBlock(const uint8_t* pixels, uint16_t x, uint16_t y, uint16_t w, uint16_t h);
extern "C" void touchgfxSignalVSync(void);