GFXMMU operation functions.
More...
GFXMMU operation functions.
==============================================================================
##### Operation functions #####
==============================================================================
[..] This section provides functions allowing to:
(+) Configure LUT.
(+) Modify physical buffer adresses.
(+) Manage error.
◆ HAL_GFXMMU_ConfigLut()
| HAL_StatusTypeDef HAL_GFXMMU_ConfigLut |
( |
GFXMMU_HandleTypeDef * |
hgfxmmu, |
|
|
uint32_t |
FirstLine, |
|
|
uint32_t |
LinesNumber, |
|
|
uint32_t |
Address |
|
) |
| |
This function allows to copy LUT from flash to look up RAM.
- Parameters
-
| hgfxmmu | GFXMMU handle. |
| FirstLine | First line enabled on LUT. This parameter must be a number between Min_Data = 0 and Max_Data = 1023. |
| LinesNumber | Number of lines enabled on LUT. This parameter must be a number between Min_Data = 1 and Max_Data = 1024. |
| Address | Start address of LUT in flash. |
- Return values
-
Definition at line 476 of file stm32l4xx_hal_gfxmmu.c.
481 HAL_StatusTypeDef status =
HAL_OK;
484 assert_param(IS_GFXMMU_ALL_INSTANCE(hgfxmmu->Instance));
489 if((hgfxmmu->State != HAL_GFXMMU_STATE_READY) || ((FirstLine + LinesNumber) > 1024U))
495 uint32_t current_address, current_line, lutxl_address, lutxh_address;
498 current_address = Address;
500 lutxl_address = (uint32_t) &(hgfxmmu->Instance->LUT[2U * FirstLine]);
501 lutxh_address = (uint32_t) &(hgfxmmu->Instance->LUT[(2U * FirstLine) + 1U]);
504 while(current_line < LinesNumber)
506 *((uint32_t *)lutxl_address) = *((uint32_t *)current_address);
507 current_address += 4U;
508 *((uint32_t *)lutxh_address) = *((uint32_t *)current_address);
509 current_address += 4U;
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
◆ HAL_GFXMMU_ConfigLutLine()
This function allows to configure one line of LUT.
- Parameters
-
| hgfxmmu | GFXMMU handle. |
| lutLine | LUT line parameters. |
- Return values
-
Definition at line 573 of file stm32l4xx_hal_gfxmmu.c.
575 HAL_StatusTypeDef status =
HAL_OK;
578 assert_param(IS_GFXMMU_ALL_INSTANCE(hgfxmmu->Instance));
586 if(hgfxmmu->State != HAL_GFXMMU_STATE_READY)
592 uint32_t lutxl_address, lutxh_address;
595 lutxl_address = (uint32_t) &(hgfxmmu->Instance->LUT[2U * lutLine->
LineNumber]);
596 lutxh_address = (uint32_t) &(hgfxmmu->Instance->LUT[(2U * lutLine->
LineNumber) + 1U]);
599 if(lutLine->
LineStatus == GFXMMU_LUT_LINE_ENABLE)
602 *((uint32_t *)lutxl_address) = (lutLine->
LineStatus |
605 *((uint32_t *)lutxh_address) = (uint32_t) lutLine->
LineOffset;
610 *((uint32_t *)lutxl_address) = 0U;
611 *((uint32_t *)lutxh_address) = 0U;
uint32_t FirstVisibleBlock
uint32_t LastVisibleBlock
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
◆ HAL_GFXMMU_DisableLutLines()
| HAL_StatusTypeDef HAL_GFXMMU_DisableLutLines |
( |
GFXMMU_HandleTypeDef * |
hgfxmmu, |
|
|
uint32_t |
FirstLine, |
|
|
uint32_t |
LinesNumber |
|
) |
| |
This function allows to disable a range of LUT lines.
- Parameters
-
| hgfxmmu | GFXMMU handle. |
| FirstLine | First line to disable on LUT. This parameter must be a number between Min_Data = 0 and Max_Data = 1023. |
| LinesNumber | Number of lines to disable on LUT. This parameter must be a number between Min_Data = 1 and Max_Data = 1024. |
- Return values
-
Definition at line 528 of file stm32l4xx_hal_gfxmmu.c.
532 HAL_StatusTypeDef status =
HAL_OK;
535 assert_param(IS_GFXMMU_ALL_INSTANCE(hgfxmmu->Instance));
540 if((hgfxmmu->State != HAL_GFXMMU_STATE_READY) || ((FirstLine + LinesNumber) > 1024U))
546 uint32_t current_line, lutxl_address, lutxh_address;
550 lutxl_address = (uint32_t) &(hgfxmmu->Instance->LUT[2U * FirstLine]);
551 lutxh_address = (uint32_t) &(hgfxmmu->Instance->LUT[(2U * FirstLine) + 1U]);
554 while(current_line < LinesNumber)
556 *((uint32_t *)lutxl_address) = 0U;
557 *((uint32_t *)lutxh_address) = 0U;
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
◆ HAL_GFXMMU_ErrorCallback()
◆ HAL_GFXMMU_IRQHandler()
This function handles the GFXMMU interrupts.
- Parameters
-
- Return values
-
Definition at line 657 of file stm32l4xx_hal_gfxmmu.c.
659 uint32_t flags, interrupts, error;
662 flags = hgfxmmu->Instance->SR;
663 interrupts = (hgfxmmu->Instance->CR & GFXMMU_CR_ITS_MASK);
664 error = (flags & interrupts);
669 hgfxmmu->Instance->FCR = error;
672 hgfxmmu->ErrorCode |= error;
675 #if (USE_HAL_GFXMMU_REGISTER_CALLBACKS == 1) 676 hgfxmmu->ErrorCallback(hgfxmmu);
void HAL_GFXMMU_ErrorCallback(GFXMMU_HandleTypeDef *hgfxmmu)
Error callback.
◆ HAL_GFXMMU_ModifyBuffers()
This function allows to modify physical buffer addresses.
- Parameters
-
| hgfxmmu | GFXMMU handle. |
| Buffers | Buffers parameters. |
- Return values
-
Definition at line 624 of file stm32l4xx_hal_gfxmmu.c.
626 HAL_StatusTypeDef status =
HAL_OK;
629 assert_param(IS_GFXMMU_ALL_INSTANCE(hgfxmmu->Instance));
636 if(hgfxmmu->State != HAL_GFXMMU_STATE_READY)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))