cancel
Showing results for 
Search instead for 
Did you mean: 

Help me understand LTDC Config

gfxfloro
Senior

Hi all,

I stumbled upon this in my BoardConfiguration file:

#if !defined(USE_BPP) || USE_BPP==16
#define HACT            200      /* Note: 16bpp: Screen divided in 4 areas of 200 pixels to avoid DSI tearing */
#elif USE_BPP==24
#define HACT            400      /* Note: 24bpp: Screen divided in 2 areas of 400 pixels to avoid DSI tearing */
#else
#error Unknown USE_BPP
#endif

My question is, why is the active width not simply the actual width of the display (800)? I thought the tearing effect is configured, so that after the full display has updated the GRAM can be updated. The framebuffer is configured to use the full width, that's why it doesn't make sense to me to divide the screen.

1 ACCEPTED SOLUTION

Accepted Solutions
Martin KJELDSEN
Chief III

Hi,

This looks like the LTDC configuration for one of the STM32 boards with DSI display (800x480). We configure it that way to send the pixels of the framebuffer in smaller chunks to avoid tearing. But yes, i can understand your confusion. For smaller DSI displays we don't do that. Like 390x390. They operate in a different way.

/Martin

View solution in original post

1 REPLY 1
Martin KJELDSEN
Chief III

Hi,

This looks like the LTDC configuration for one of the STM32 boards with DSI display (800x480). We configure it that way to send the pixels of the framebuffer in smaller chunks to avoid tearing. But yes, i can understand your confusion. For smaller DSI displays we don't do that. Like 390x390. They operate in a different way.

/Martin