cancel
Showing results for 
Search instead for 
Did you mean: 

Simple SPI Display, no TFT, no Touch setup.

ALiar.1
Associate

I am currently working on a custom STM32h743xx board with a small (128x64) monochrome OLED screen that uses the SSD1309 SPI driver for communication. This setup is very simple but vastly different from the setup of most examples.

From my understanding I have to provide touchgfx_generic_init with a touchgfx::NoTouch object to ignore touch. About the DMA interface, is that used to

transmit the internal buffer to the memory mapped display? In that case should I also use touchgfx::NoDMA since I am sending the memory buffer with SPI?

Lastly is there any good HAL interface that I can use as a base?

Should I just inherit from touchgfx::HAL and only support the flushFrameBuffer (since no tft controller & dma -> no interrupts)? If so, should I simply send via SPI the buffer which was supplied to HAL::setBufferStartAddress ?

2 REPLIES 2
ALiar.1
Associate

For anyone else wondering about this.

One can indeed just supply NoDMA, NoTouch to touchgfx_generic_init. As for implementing the Hal, only the flushFrameBuffer method is needed. Then it's just a matter of calling backPorchExited in a loop . In my case, I don't have a VSync signal available so WaitForVSync is not needed. One may just fake this by having a delay between backPorchExited calls. Calling WaitForVSync + SignalVSync from another thread won't work as it's intended to be called from ISRs only (calling from a hardware interrupt WILL work)

Sven1
Associate II

Hello ALiar.1,

would you share your both examles?

...the direct SPI-communication and the working Touch-GFX examle too?

I am just working on the same combination (STM32H743 and SSD1309) and it would help me very much for the beginning.

If I have some additions I will place it here too

Thanks

Robert