Skip to main content
Associate III
January 28, 2025
Question

LTDC Output Orientation with TouchGFX

  • January 28, 2025
  • 5 replies
  • 1153 views

I have been working on implementing TouchGFX in DSI Video Mode for a STM32H747-DISCO board. The LCD is a 5" 720x1280px panel, driven by a ILI9881C driver chip. After many issues with the DSI link, I have now successfully got something to display on the screen, but it is an absolute mess.

This is my GUI

GUI.jpg

And this is my display output (the diagonal red lines are on the screen protector)

Display.jpg

A bit more info...

The driver IC is designed to be in portrait orientation, with 1280 lines at 720px width. This is how I have configured the DSI (720px video packet, 1280 VACT), LTDC (720 active width, 1280 active height & layer settings) and TouchGFX. I have set the desired orientation to landscape in TouchGFX.

The screen is updating. I have a 10s splash screen that just displays a logo and then switches to the GUI. I can see the screen change after 10s, and some activity which will be coming from my live GUI. However, the activity only ever changes a whole line (really a column in terms of the actual screen arrangement).

Is this more likely to be to do with the LTDC timings - horizontal and vertical blanking periods etc. - or down to the configuration of the frame buffer itself? There's also a chance there's something wrong in my driver initialisation, but I want to rule out micro-side issues first!

 

5 replies

MM..1
Chief III
January 28, 2025

Start with HAL_DSI_PatternGeneratorStart and DSI part check... 1280x720 require big sense and RGB888 will imposs on 60Hz. 

Iris-DMAuthor
Associate III
January 28, 2025

I'm only aiming for 30Hz, but I'm currently testing RGB565 and still no luck.

Is the kind of output I'm getting more likely to be due to a DSI/LTDC bandwidth issue or an incorrectly configured LTDC?

MM..1
Chief III
January 28, 2025

LTDC dot clock used MHz is more info as aiming 30Hz

Iris-DMAuthor
Associate III
January 28, 2025

@MM..1 

These are my parameters from RGB888

IrisDM_0-1738081127737.png

 

MM..1
Chief III
January 30, 2025

Nums seems ok, but primary ILI config on start is important. Check read MADCTL register about orientation, too set LANSEL reg for use only 2 lanes...

Osman SOYKURT
Technical Moderator
January 30, 2025

Hello @Iris-DM ,

I don't think you have an issue with your framebuffer. But to make sure, you could try to check if your data RAM is correct or not. Also, I would try to keep it simple and use portrait mode at first, and switch to landscape afterwards.
DSI screens have the disadvantages of complex protocols and drivers often. I would recommend to double check your implementation for enabling your screen, including checking that you're using the correct values mentioned in your previous message.

Osman SOYKURTST Software Developer | TouchGFX
Osman SOYKURT
Technical Moderator
February 14, 2025

Hello @Iris-DM ,

Did you find a solution to your issue?

Osman SOYKURTST Software Developer | TouchGFX