2019-11-03 11:34 PM
Hi:
I have some problem about t Partial Frame Buffer memsory.I declared ManyBlockAllocator<360*182,2, 2> frameBufferAllocator in the program just like in the tutorial,but displayed the error .Are there any detailed tutorials about how to use Partial Frame Buffer memory?
Thank you very much!!
B,R
Jack li
Error[Li005]: no definition for "touchgfx::FrameBufferAllocatorWaitOnTransfer()"
Solved! Go to Solution.
2019-11-04 01:16 AM
Actually,
Here's the project - Check out the file STMicroelectronics\target\TouchGFXHAL.cpp to check out the HAL part is implemented. The functions in there sometimes call other functions that are defined in LCDManager.c to do the actual SPI transfers to the display.
The general idea here is to, as always when have a custom display interface like SPI, to implement the transfer of the framebuffer to the GRAM on the display in the function:
void HAL::flushFrameBuffer(Rect& rect);
This port just uses a hardware timer to drive touchgfx. I think i'll just leave this code with you and you can read the article and ask me questions.
/Martin
2019-11-04 12:37 AM
Hi @Jack li,
Some methods are expected once you enable the partial framebuffer strategy. It's something you must implement - There's no complete guide on how to make partial framebuffers work except what you read in this article.
I'll try to write a small piece on how to make Partial Framebuffers work on a G0 with a serial display. Stay tuned!
/Martin
2019-11-04 12:47 AM
Hi @Martin KJELDSEN :
Thanks a lot,I desperately need this feature right now,so could you update this article as soon as possible?
Thank you very much!!
B,R
Jack li
2019-11-04 12:55 AM
Okay, since you're desperate let me write something here and you can let me know if it helps you :) Give me a few minutes to collect things.
/Martin
2019-11-04 01:16 AM
Actually,
Here's the project - Check out the file STMicroelectronics\target\TouchGFXHAL.cpp to check out the HAL part is implemented. The functions in there sometimes call other functions that are defined in LCDManager.c to do the actual SPI transfers to the display.
The general idea here is to, as always when have a custom display interface like SPI, to implement the transfer of the framebuffer to the GRAM on the display in the function:
void HAL::flushFrameBuffer(Rect& rect);
This port just uses a hardware timer to drive touchgfx. I think i'll just leave this code with you and you can read the article and ask me questions.
/Martin
2019-11-04 01:27 AM
Hi @Martin KJELDSEN (ST Employee) :
Your help was greatly appreciated.I use SPI dispaly too,so this project is very timely.
B,R
Jack li
2019-11-04 03:52 AM
No problem! Let me know how you do
/Martin
2020-01-18 01:12 PM
Would it be possible to get the Partial Frame Buffers project for the STM32L4R9I-DISCO board as well?
Thanks!
Eric
2020-01-20 01:23 AM
Hi, it's possible to use partial framebuffers for LTD/DSI based boards as well - It involves reprogramming the LTDC Layer constantly. You can get some inspiration from this article which shows, generally, how Partial FB works for LTDC/DSI and for a custom interface like SPI.
2020-01-21 08:01 AM
I had reviewed that page but it wasn't clear to me which files I'm supposed to place the new functions in. For example, where should FrameBufferAllocatorSignalBlockDrawn and SendBlock go? Also, I receive an undefined reference to FrameBufferAllocatorWaitOnTransfer when building and that isn't mentioned anywhere in the article. I was hoping the project might be available to review as a reference.