cancel
Showing results for 
Search instead for 
Did you mean: 

ST7701 (Video mode) printing framebuffer differently

JSime.1
Associate II

I had made a post about fixing OTM8009A video mode printing an extra frame on screen that I had solved with adjusting porch values even more for the horizontal, you can find the information within this post here:

Video mode printing another frame on screen - STMicroelectronics Community

For this situation I don't think changing porch values are enough to solve this. I have the ST7701 LCD controller running TouchGFX in video mode on STM32F469I-DISCO, the testing screen in TouchGFX Designer is being printing twice vertically across the horizontal screen rather than printing across the screen horizontally, when I have the OTM8009A screen connected the image is printing in the correct direction and shows the testing screen from TouchGFX Designer, I don't have an image of the OTM8009A screen working correctly but in the post above will show the same testing screen working on the OTM8009A but with the frame printing again, the post has a reply by myself saying I solved the issue by raising the back and front porch of the horizontal values from 34 to 120.

Testing screenST7701 running video mode
touchgfx_designer.pngst7701_video_mode.png
3 REPLIES 3
MM..1
Chief II

Configure DSI diplays is not trivial . Heere seems two different displays used. OTM is configured to HxV where H > V

but ST seems oposite to this. Controllers have for this MADCTL registers and you require right setup it . Too project portrait vs landscape is here in game...

Thank you for your reply, I have started looking at the register difference between OTM8009A and ST7701 for the consumer side registers, the OTM8009A's MADCTL register has more options for orientation and the ST7701 does not, I will look through all specs to see if there is a solution and contact the maker of the screen.

 

Edit:

The Spec sheet supplied by the LCD maker doesn't suggest any registers that control orientation, I have contacted the LCD maker and Sitronix the maker of the IC to see if there is any information / way to change orientation of the IC, or maybe if I have missed something.

JSime.1
Associate II

Update:
After communicating with IC and LCD makers, the set-up of LTDC and DSIHOST was wrong in some areas; using DSI pattern generator function can help with this but if you're familiar with the DSI pattern being generator the horizontal frame of the pattern will print twice, I haven't solved this and it is unneeded because further in the post.

The porch values had to be corrected, despite the layer being swapped (480x800 to 800x480) around to correct the framebuffer this was not enough because inside the TouchGFX Designer cog settings the landscape orientation did not work with the screen (it was still printing framebuffer twice) and had to be swapped as well to portrait orientation (prints the framebuffer once), I don't have answer as to why.

HAL_LTDC_SetPitch(...) can be overlooked, that needs to be set with the width of the screen which for the ST7701 is now 480 so don't forget that, you will see because it will squash the framebuffer.