Hi Kurt,
My experience with the ILI9341 and the T4 (and T3.6 BTW) is that it is nice to switch between DMA and non DMA mode within your application.
As the ILI9341 has both SD card reader and touch screen, you also want to use them.
On the T3.6 I have used SDIO for SD card reading and one single SPI bus to both DISPLAY and touch HW.
When DMA is used for the display, Touch cannot be used. When I need to use the touch screen, I switched to non DMA.
The ili9341_t_dma version I use for my emulator ports supports both ( see any emulator in https://github.com/Jean-MarcHarvengt/teensyMCUME)
If I want to stop DMA, I use the stopDMA() method and use the non DMA GFX functions and the touch functions. If I need the DMA I call startDMA() again.
On the T4, I had some issue because I also use the SD of the ILI. So I have on a single SPI bus of the T4 3 devices.
I noticed that after a stopDMA() I have to reset the SD library to use SD card and the display in non DMA. I think it has to do with the CS of the SD or the SPI speed of the SD library. Calling the SD.begin(cs) is enough as a work around.
(note that I never used the touch screen at same time because just linking the SCK line is loading the bus. I need to check with a scope)
I don't think having a task running the DMA transfert in a loop has an added value
The DMA interrupt does it anyway... (on the ESP32 I used that method BTW)
That is just my opinion.
I noticed that the 1062 had also a 2D GFX accelerator block.
I was thinking about start using it to speedup draw operations in the DMA frame buffer.
Unfortunately it seems only to support 32bit RGB as destination or YUV.
Anyone tried?
My experience with the ILI9341 and the T4 (and T3.6 BTW) is that it is nice to switch between DMA and non DMA mode within your application.
As the ILI9341 has both SD card reader and touch screen, you also want to use them.
On the T3.6 I have used SDIO for SD card reading and one single SPI bus to both DISPLAY and touch HW.
When DMA is used for the display, Touch cannot be used. When I need to use the touch screen, I switched to non DMA.
The ili9341_t_dma version I use for my emulator ports supports both ( see any emulator in https://github.com/Jean-MarcHarvengt/teensyMCUME)
If I want to stop DMA, I use the stopDMA() method and use the non DMA GFX functions and the touch functions. If I need the DMA I call startDMA() again.
On the T4, I had some issue because I also use the SD of the ILI. So I have on a single SPI bus of the T4 3 devices.
I noticed that after a stopDMA() I have to reset the SD library to use SD card and the display in non DMA. I think it has to do with the CS of the SD or the SPI speed of the SD library. Calling the SD.begin(cs) is enough as a work around.
(note that I never used the touch screen at same time because just linking the SCK line is loading the bus. I need to check with a scope)
I don't think having a task running the DMA transfert in a loop has an added value
The DMA interrupt does it anyway... (on the ESP32 I used that method BTW)
That is just my opinion.
I noticed that the 1062 had also a 2D GFX accelerator block.
I was thinking about start using it to speedup draw operations in the DMA frame buffer.
Unfortunately it seems only to support 32bit RGB as destination or YUV.
Anyone tried?