2021-11-02 09:09 AM
Is it possible to use STM32H743's LTDC with no frambuffer and fill its FIFO "on the fly"?
Solved! Go to Solution.
2021-11-30 07:26 AM
Generating custom image with no fullframe static RAM buffer
2021-11-30 07:27 AM
set 72 to 104 and when you dont see your memory isnt ready and work, Mayby you choose memory not accesible on bus with LTDC or init is bad.
Too MPU have role...
2021-11-30 07:30 AM
custom image over fullframe? You will need reload it on dotclock speed , mybe this idea isnt good.
Second q is from where is your image.
2021-11-30 07:50 AM
Yes, moving buffer from SRAM1 to AXI-SRAM helped, thank you!
2021-11-30 09:31 AM
However, manipulating window position on-the-fly doesnt work
void LTDC_IRQHandler(void)
{
static unsigned int line_num = 72;
LED1_GPIO_Port->ODR |=LED1_Pin;
line_num +=10;
if (line_num>=672)
line_num = 72;
__HAL_LTDC_CLEAR_FLAG(&hltdc, LTDC_FLAG_LI);
__HAL_LTDC_DISABLE_IT(&hltdc, LTDC_IT_LI);
LTDC->LIPCR = line_num;
__HAL_LTDC_ENABLE_IT(&hltdc, LTDC_IT_LI);
HAL_LTDC_SetWindowPosition(&hltdc, 10, line_num, 0);
LED1_GPIO_Port->ODR &=~LED1_Pin;
}
When I set a breakpoint in interrupt code works as designed - every interrupt moving window 10 lines down. But when no breakpoint is active - blank screen.
2021-11-30 09:37 AM
HAL_LTDC_SetWindowPosition(&hltdc, 10, line_num, 0);
??? and as i write i dont understand your idea
2021-12-01 12:21 AM
Ok mistake in code,
HAL_LTDC_SetWindowPosition(&hltdc, 10, line_num-9, 0);
but idea is the same. Every 10th line I set window position (buffer output) to line position+1 (buffer size changed to 10 lines).
I wanted to see if window position will update immediately or on the next frame. There is a posibility Im not getting whole mechanism right
2021-12-01 03:01 AM
Try inspire here
void TouchGFXGeneratedHAL::setTFTFrameBuffer(uint16_t* adr)
{
LTDC_Layer1->CFBAR = (uint32_t)adr;
/* Reload immediate */
LTDC->SRCR = (uint32_t)LTDC_SRCR_IMR;
}
2021-12-01 03:23 AM
Its not gonna work, buffer addres is still same. But window position on the screen should be moved down
2021-12-01 03:50 AM
Ahh pls this is example you need change CFBAR to line management and use IMR ...