STM32F439xx HAL User Manual
Data Structures | Defines | Enumerations | Functions
stm32f4xx_hal_ltdc.h File Reference

Header file of LTDC HAL module. More...

#include "stm32f4xx_hal_def.h"
#include "stm32f4xx_hal_ltdc_ex.h"

Go to the source code of this file.

Data Structures

struct  LTDC_ColorTypeDef
 LTDC color structure definition. More...
struct  LTDC_InitTypeDef
 LTDC Init structure definition. More...
struct  LTDC_LayerCfgTypeDef
 LTDC Layer structure definition. More...
struct  LTDC_HandleTypeDef
 LTDC handle Structure definition. More...

Defines

#define MAX_LAYER   2U
#define HAL_LTDC_ERROR_NONE   0x00000000U
#define HAL_LTDC_ERROR_TE   0x00000001U
#define HAL_LTDC_ERROR_FU   0x00000002U
#define HAL_LTDC_ERROR_TIMEOUT   0x00000020U
#define LTDC_LAYER_1   0x00000000U
#define LTDC_LAYER_2   0x00000001U
#define LTDC_HSPOLARITY_AL   0x00000000U
#define LTDC_HSPOLARITY_AH   LTDC_GCR_HSPOL
#define LTDC_VSPOLARITY_AL   0x00000000U
#define LTDC_VSPOLARITY_AH   LTDC_GCR_VSPOL
#define LTDC_DEPOLARITY_AL   0x00000000U
#define LTDC_DEPOLARITY_AH   LTDC_GCR_DEPOL
#define LTDC_PCPOLARITY_IPC   0x00000000U
#define LTDC_PCPOLARITY_IIPC   LTDC_GCR_PCPOL
#define LTDC_HORIZONTALSYNC   (LTDC_SSCR_HSW >> 16U)
#define LTDC_VERTICALSYNC   LTDC_SSCR_VSH
#define LTDC_COLOR   0x000000FFU
#define LTDC_BLENDING_FACTOR1_CA   0x00000400U
#define LTDC_BLENDING_FACTOR1_PAxCA   0x00000600U
#define LTDC_BLENDING_FACTOR2_CA   0x00000005U
#define LTDC_BLENDING_FACTOR2_PAxCA   0x00000007U
#define LTDC_PIXEL_FORMAT_ARGB8888   0x00000000U
#define LTDC_PIXEL_FORMAT_RGB888   0x00000001U
#define LTDC_PIXEL_FORMAT_RGB565   0x00000002U
#define LTDC_PIXEL_FORMAT_ARGB1555   0x00000003U
#define LTDC_PIXEL_FORMAT_ARGB4444   0x00000004U
#define LTDC_PIXEL_FORMAT_L8   0x00000005U
#define LTDC_PIXEL_FORMAT_AL44   0x00000006U
#define LTDC_PIXEL_FORMAT_AL88   0x00000007U
#define LTDC_ALPHA   LTDC_LxCACR_CONSTA
#define LTDC_STOPPOSITION   (LTDC_LxWHPCR_WHSPPOS >> 16U)
#define LTDC_STARTPOSITION   LTDC_LxWHPCR_WHSTPOS
#define LTDC_COLOR_FRAME_BUFFER   LTDC_LxCFBLR_CFBLL
#define LTDC_LINE_NUMBER   LTDC_LxCFBLNR_CFBLNBR
#define LTDC_IT_LI   LTDC_IER_LIE
#define LTDC_IT_FU   LTDC_IER_FUIE
#define LTDC_IT_TE   LTDC_IER_TERRIE
#define LTDC_IT_RR   LTDC_IER_RRIE
#define LTDC_FLAG_LI   LTDC_ISR_LIF
#define LTDC_FLAG_FU   LTDC_ISR_FUIF
#define LTDC_FLAG_TE   LTDC_ISR_TERRIF
#define LTDC_FLAG_RR   LTDC_ISR_RRIF
#define LTDC_RELOAD_IMMEDIATE   LTDC_SRCR_IMR
#define LTDC_RELOAD_VERTICAL_BLANKING   LTDC_SRCR_VBR
#define __HAL_LTDC_RESET_HANDLE_STATE(__HANDLE__)   ((__HANDLE__)->State = HAL_LTDC_STATE_RESET)
 Reset LTDC handle state.
#define __HAL_LTDC_ENABLE(__HANDLE__)   ((__HANDLE__)->Instance->GCR |= LTDC_GCR_LTDCEN)
 Enable the LTDC.
#define __HAL_LTDC_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->GCR &= ~(LTDC_GCR_LTDCEN))
 Disable the LTDC.
#define __HAL_LTDC_LAYER_ENABLE(__HANDLE__, __LAYER__)   ((LTDC_LAYER((__HANDLE__), (__LAYER__)))->CR |= (uint32_t)LTDC_LxCR_LEN)
 Enable the LTDC Layer.
#define __HAL_LTDC_LAYER_DISABLE(__HANDLE__, __LAYER__)   ((LTDC_LAYER((__HANDLE__), (__LAYER__)))->CR &= ~(uint32_t)LTDC_LxCR_LEN)
 Disable the LTDC Layer.
#define __HAL_LTDC_RELOAD_IMMEDIATE_CONFIG(__HANDLE__)   ((__HANDLE__)->Instance->SRCR |= LTDC_SRCR_IMR)
 Reload immediately all LTDC Layers.
#define __HAL_LTDC_VERTICAL_BLANKING_RELOAD_CONFIG(__HANDLE__)   ((__HANDLE__)->Instance->SRCR |= LTDC_SRCR_VBR)
 Reload during vertical blanking period all LTDC Layers.
#define __HAL_LTDC_GET_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->ISR & (__FLAG__))
 Get the LTDC pending flags.
#define __HAL_LTDC_CLEAR_FLAG(__HANDLE__, __FLAG__)   ((__HANDLE__)->Instance->ICR = (__FLAG__))
 Clears the LTDC pending flags.
#define __HAL_LTDC_ENABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->IER |= (__INTERRUPT__))
 Enables the specified LTDC interrupts.
#define __HAL_LTDC_DISABLE_IT(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->IER &= ~(__INTERRUPT__))
 Disables the specified LTDC interrupts.
#define __HAL_LTDC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)   ((__HANDLE__)->Instance->IER & (__INTERRUPT__))
 Check whether the specified LTDC interrupt has occurred or not.
#define LTDC_LAYER(__HANDLE__, __LAYER__)   ((LTDC_Layer_TypeDef *)((uint32_t)(((uint32_t)((__HANDLE__)->Instance)) + 0x84U + (0x80U*(__LAYER__)))))
#define IS_LTDC_LAYER(__LAYER__)   ((__LAYER__) < MAX_LAYER)
#define IS_LTDC_HSPOL(__HSPOL__)   (((__HSPOL__) == LTDC_HSPOLARITY_AL) || ((__HSPOL__) == LTDC_HSPOLARITY_AH))
#define IS_LTDC_VSPOL(__VSPOL__)   (((__VSPOL__) == LTDC_VSPOLARITY_AL) || ((__VSPOL__) == LTDC_VSPOLARITY_AH))
#define IS_LTDC_DEPOL(__DEPOL__)   (((__DEPOL__) == LTDC_DEPOLARITY_AL) || ((__DEPOL__) == LTDC_DEPOLARITY_AH))
#define IS_LTDC_PCPOL(__PCPOL__)   (((__PCPOL__) == LTDC_PCPOLARITY_IPC) || ((__PCPOL__) == LTDC_PCPOLARITY_IIPC))
#define IS_LTDC_HSYNC(__HSYNC__)   ((__HSYNC__) <= LTDC_HORIZONTALSYNC)
#define IS_LTDC_VSYNC(__VSYNC__)   ((__VSYNC__) <= LTDC_VERTICALSYNC)
#define IS_LTDC_AHBP(__AHBP__)   ((__AHBP__) <= LTDC_HORIZONTALSYNC)
#define IS_LTDC_AVBP(__AVBP__)   ((__AVBP__) <= LTDC_VERTICALSYNC)
#define IS_LTDC_AAW(__AAW__)   ((__AAW__) <= LTDC_HORIZONTALSYNC)
#define IS_LTDC_AAH(__AAH__)   ((__AAH__) <= LTDC_VERTICALSYNC)
#define IS_LTDC_TOTALW(__TOTALW__)   ((__TOTALW__) <= LTDC_HORIZONTALSYNC)
#define IS_LTDC_TOTALH(__TOTALH__)   ((__TOTALH__) <= LTDC_VERTICALSYNC)
#define IS_LTDC_BLUEVALUE(__BBLUE__)   ((__BBLUE__) <= LTDC_COLOR)
#define IS_LTDC_GREENVALUE(__BGREEN__)   ((__BGREEN__) <= LTDC_COLOR)
#define IS_LTDC_REDVALUE(__BRED__)   ((__BRED__) <= LTDC_COLOR)
#define IS_LTDC_BLENDING_FACTOR1(__BLENDING_FACTOR1__)
#define IS_LTDC_BLENDING_FACTOR2(__BLENDING_FACTOR1__)
#define IS_LTDC_PIXEL_FORMAT(__PIXEL_FORMAT__)
#define IS_LTDC_ALPHA(__ALPHA__)   ((__ALPHA__) <= LTDC_ALPHA)
#define IS_LTDC_HCONFIGST(__HCONFIGST__)   ((__HCONFIGST__) <= LTDC_STARTPOSITION)
#define IS_LTDC_HCONFIGSP(__HCONFIGSP__)   ((__HCONFIGSP__) <= LTDC_STOPPOSITION)
#define IS_LTDC_VCONFIGST(__VCONFIGST__)   ((__VCONFIGST__) <= LTDC_STARTPOSITION)
#define IS_LTDC_VCONFIGSP(__VCONFIGSP__)   ((__VCONFIGSP__) <= LTDC_STOPPOSITION)
#define IS_LTDC_CFBP(__CFBP__)   ((__CFBP__) <= LTDC_COLOR_FRAME_BUFFER)
#define IS_LTDC_CFBLL(__CFBLL__)   ((__CFBLL__) <= LTDC_COLOR_FRAME_BUFFER)
#define IS_LTDC_CFBLNBR(__CFBLNBR__)   ((__CFBLNBR__) <= LTDC_LINE_NUMBER)
#define IS_LTDC_LIPOS(__LIPOS__)   ((__LIPOS__) <= 0x7FFU)
#define IS_LTDC_RELOAD(__RELOADTYPE__)   (((__RELOADTYPE__) == LTDC_RELOAD_IMMEDIATE) || ((__RELOADTYPE__) == LTDC_SRCR_VBR))

Enumerations

enum  HAL_LTDC_StateTypeDef {
  HAL_LTDC_STATE_RESET = 0x00U, HAL_LTDC_STATE_READY = 0x01U, HAL_LTDC_STATE_BUSY = 0x02U, HAL_LTDC_STATE_TIMEOUT = 0x03U,
  HAL_LTDC_STATE_ERROR = 0x04U
}
 HAL LTDC State structures definition. More...

Functions

HAL_StatusTypeDef HAL_LTDC_Init (LTDC_HandleTypeDef *hltdc)
 Initialize the LTDC according to the specified parameters in the LTDC_InitTypeDef.
HAL_StatusTypeDef HAL_LTDC_DeInit (LTDC_HandleTypeDef *hltdc)
 De-initialize the LTDC peripheral.
__weak void HAL_LTDC_MspInit (LTDC_HandleTypeDef *hltdc)
 Initialize the LTDC MSP.
__weak void HAL_LTDC_MspDeInit (LTDC_HandleTypeDef *hltdc)
 De-initialize the LTDC MSP.
void HAL_LTDC_ErrorCallback (LTDC_HandleTypeDef *hltdc)
 Error LTDC callback.
void HAL_LTDC_LineEventCallback (LTDC_HandleTypeDef *hltdc)
 Line Event callback.
void HAL_LTDC_ReloadEventCallback (LTDC_HandleTypeDef *hltdc)
 Reload Event callback.
void HAL_LTDC_IRQHandler (LTDC_HandleTypeDef *hltdc)
 Handle LTDC interrupt request.
HAL_StatusTypeDef HAL_LTDC_ConfigLayer (LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx)
 Configure the LTDC Layer according to the specified parameters in the LTDC_InitTypeDef and create the associated handle.
HAL_StatusTypeDef HAL_LTDC_SetWindowSize (LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize, uint32_t LayerIdx)
 Set the LTDC window size.
HAL_StatusTypeDef HAL_LTDC_SetWindowPosition (LTDC_HandleTypeDef *hltdc, uint32_t X0, uint32_t Y0, uint32_t LayerIdx)
 Set the LTDC window position.
HAL_StatusTypeDef HAL_LTDC_SetPixelFormat (LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx)
 Reconfigure the pixel format.
HAL_StatusTypeDef HAL_LTDC_SetAlpha (LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx)
 Reconfigure the layer alpha value.
HAL_StatusTypeDef HAL_LTDC_SetAddress (LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx)
 Reconfigure the frame buffer Address.
HAL_StatusTypeDef HAL_LTDC_SetPitch (LTDC_HandleTypeDef *hltdc, uint32_t LinePitchInPixels, uint32_t LayerIdx)
 Function used to reconfigure the pitch for specific cases where the attached LayerIdx buffer have a width that is larger than the one intended to be displayed on screen.
HAL_StatusTypeDef HAL_LTDC_ConfigColorKeying (LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx)
 Configure the color keying.
HAL_StatusTypeDef HAL_LTDC_ConfigCLUT (LTDC_HandleTypeDef *hltdc, uint32_t *pCLUT, uint32_t CLUTSize, uint32_t LayerIdx)
 Load the color lookup table.
HAL_StatusTypeDef HAL_LTDC_EnableColorKeying (LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
 Enable the color keying.
HAL_StatusTypeDef HAL_LTDC_DisableColorKeying (LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
 Disable the color keying.
HAL_StatusTypeDef HAL_LTDC_EnableCLUT (LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
 Enable the color lookup table.
HAL_StatusTypeDef HAL_LTDC_DisableCLUT (LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
 Disable the color lookup table.
HAL_StatusTypeDef HAL_LTDC_ProgramLineEvent (LTDC_HandleTypeDef *hltdc, uint32_t Line)
 Define the position of the line interrupt.
HAL_StatusTypeDef HAL_LTDC_EnableDither (LTDC_HandleTypeDef *hltdc)
 Enable Dither.
HAL_StatusTypeDef HAL_LTDC_DisableDither (LTDC_HandleTypeDef *hltdc)
 Disable Dither.
HAL_StatusTypeDef HAL_LTDC_Reload (LTDC_HandleTypeDef *hltdc, uint32_t ReloadType)
 Reload LTDC Layers configuration.
HAL_StatusTypeDef HAL_LTDC_ConfigLayer_NoReload (LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx)
 Configure the LTDC Layer according to the specified without reloading parameters in the LTDC_InitTypeDef and create the associated handle.
HAL_StatusTypeDef HAL_LTDC_SetWindowSize_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize, uint32_t LayerIdx)
 Set the LTDC window size without reloading.
HAL_StatusTypeDef HAL_LTDC_SetWindowPosition_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t X0, uint32_t Y0, uint32_t LayerIdx)
 Set the LTDC window position without reloading.
HAL_StatusTypeDef HAL_LTDC_SetPixelFormat_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx)
 Reconfigure the pixel format without reloading.
HAL_StatusTypeDef HAL_LTDC_SetAlpha_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx)
 Reconfigure the layer alpha value without reloading.
HAL_StatusTypeDef HAL_LTDC_SetAddress_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx)
 Reconfigure the frame buffer Address without reloading.
HAL_StatusTypeDef HAL_LTDC_SetPitch_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t LinePitchInPixels, uint32_t LayerIdx)
 Function used to reconfigure the pitch for specific cases where the attached LayerIdx buffer have a width that is larger than the one intended to be displayed on screen.
HAL_StatusTypeDef HAL_LTDC_ConfigColorKeying_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx)
 Configure the color keying without reloading.
HAL_StatusTypeDef HAL_LTDC_EnableColorKeying_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
 Enable the color keying without reloading.
HAL_StatusTypeDef HAL_LTDC_DisableColorKeying_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
 Disable the color keying without reloading.
HAL_StatusTypeDef HAL_LTDC_EnableCLUT_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
 Enable the color lookup table without reloading.
HAL_StatusTypeDef HAL_LTDC_DisableCLUT_NoReload (LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
 Disable the color lookup table without reloading.
HAL_LTDC_StateTypeDef HAL_LTDC_GetState (LTDC_HandleTypeDef *hltdc)
 Return the LTDC handle state.
uint32_t HAL_LTDC_GetError (LTDC_HandleTypeDef *hltdc)
 Return the LTDC handle error code.

Detailed Description

Header file of LTDC HAL module.

Author:
MCD Application Team
Attention:

© COPYRIGHT(c) 2017 STMicroelectronics

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of STMicroelectronics nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file stm32f4xx_hal_ltdc.h.