2019-12-20 03:20 AM
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 ?
2019-12-26 03:00 AM
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)
2020-03-06 04:14 AM
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