6 Replies Latest reply on May 18, 2018 8:04 AM by e.pratt_1639216

    Any tips on optimising, i.e. speeding up ILI9341 driver for 2.2" TFT 300x240 screen

    GerrikoIoT

      I have created a working ILI9341 driver for my PSoC 4 BLE Pioneer board which is based on the Adafruit GFX/ILI9341 Arduino libraries and other code I found on the community forum.

       

      It works well enough but, in my opinion, the refresh rate is a little slow especially with fill screen and drawing bitmap graphics compared to other boards I've seen.

       

      One trick I noticed in some of the Arduino based libraries, especially for the Teensie boards, is the use of DMA to speed things up. I've never used DMA so as it is an option here, I was wondering if this would help and if so how to do it.

       

      I've created a rather basic video to try and illustrate update speed:

       

       

      I have also attached the code.

       

      Any tips on optimising greatly appreciated.

       

      One optimisation question that has me perplexed is why does increasing the rx/tx (8-bit words) buffer size slow things down dramatically, for example - see toplevel design & spi component block. I have these set at the min, which is 4.