cancel
Showing results for 
Search instead for 
Did you mean: 

TouchGFX: advanceFrameBufferToRect() undefined reference

Sandro_K
Visitor

Hello,

I have a STM32F777 with ST7789 Display controller over SPI.

To write the Framebuffer i have the following code:

 

void TouchGFXHAL::flushFrameBuffer(const touchgfx::Rect& rect)
{
    // Get Framebuffer Address
    uint8_t* frameBufferAddress = (uint8_t*)HAL::lockFrameBuffer();

    // Calc start address
    uint8_t* fbPtr = advanceFrameBufferToRect(frameBufferAddress, rect

    // Set window
    DisplaySetWindow(rect.x, rect.y, rect.width, rect.height);

    // Start DMA Transfer
    DisplaySendDataDMA(fbPtr, rect.width * rect.height * 2);  

    // Wait for DMA Transfer end
    if (osSemaphoreWait(DisplayTransferSemHandle, osWaitForever) == pdTRUE)
    {
    	HAL::unlockFrameBuffer();
        HAL::flushFrameBuffer(rect);  
    }
}

 

I can't build the code because the function advanceFrameBufferToRect() is defined as inline but without implementation in the header. The implementation in the source file is not accesible with the inline statement.

How can I fix this error? Is the code above correct?

Thanks for your reply!

 

0 REPLIES 0