Jump to content

optimizing gdisp_lld_ILI9341 for STM32 SPI DMA

Recommended Posts

I tried uGfx but its to slow. I started to optimize the ili9341 lld. i switched spi to 16bit, wrote functions for Hardware clear, fill & bitfills with DMA. Speed is fine now.

Had a hard time to initialize the lcd with 16bit spi. Now i init the lcd with 8bit spi and switch to 16bit after init is done.

Now i want to try to read back from display, how can i test? What else could be done to speed things up?

Thanks for your uGFX.

Share this post

Link to post
Share on other sites

I can read from the display, AA is working fine. Reading requires 3x8bit transfer per pixel. This is weired because when you write you need to write 16bit per pixel.

Reading happends in the slowest possible way. Pixel by pixel using gdisp_lld_get_pixel_color.

gdisp_lld_read_start, gdisp_lld_read_color and gdisp_lld_read_stop is never been used.  Is this to be expected? I have GDISP_HARDWARE_STREAM_READ defined TRUE.

How to use streaming for reading ?


I will try to change the setting for the ILI (RIM).


RIM: Specify the RGB interface mode when the RGB interface is used.


1  101 (65K color)  6- bit RGB interface (3 transfer/pixel)


0  101 (65K color)  16- bit RGB interface (1 transfer/pixel)


Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...