20#ifndef STM32F4xx_HAL_LTDC_H 
   21#define STM32F4xx_HAL_LTDC_H 
  182#if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) 
  183typedef struct __LTDC_HandleTypeDef
 
  200#if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) 
  201  void (* LineEventCallback)(
struct __LTDC_HandleTypeDef *hltdc);     
 
  202  void (* ReloadEventCallback)(
struct __LTDC_HandleTypeDef *hltdc);   
 
  203  void (* ErrorCallback)(
struct __LTDC_HandleTypeDef *hltdc);         
 
  205  void (* MspInitCallback)(
struct __LTDC_HandleTypeDef *hltdc);       
 
  206  void (* MspDeInitCallback)(
struct __LTDC_HandleTypeDef *hltdc);     
 
 
  213#if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) 
  219  HAL_LTDC_MSPINIT_CB_ID            = 0x00U,    
 
  220  HAL_LTDC_MSPDEINIT_CB_ID          = 0x01U,    
 
  222  HAL_LTDC_LINE_EVENT_CB_ID         = 0x02U,    
 
  223  HAL_LTDC_RELOAD_EVENT_CB_ID       = 0x03U,    
 
  224  HAL_LTDC_ERROR_CB_ID              = 0x04U     
 
  226} HAL_LTDC_CallbackIDTypeDef;
 
  247#define HAL_LTDC_ERROR_NONE               0x00000000U    
  248#define HAL_LTDC_ERROR_TE                 0x00000001U    
  249#define HAL_LTDC_ERROR_FU                 0x00000002U    
  250#define HAL_LTDC_ERROR_TIMEOUT            0x00000020U    
  251#if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) 
  252#define  HAL_LTDC_ERROR_INVALID_CALLBACK  0x00000040U    
  261#define LTDC_LAYER_1                      0x00000000U    
  262#define LTDC_LAYER_2                      0x00000001U    
  270#define LTDC_HSPOLARITY_AL                0x00000000U    
  271#define LTDC_HSPOLARITY_AH                LTDC_GCR_HSPOL             
  279#define LTDC_VSPOLARITY_AL                0x00000000U    
  280#define LTDC_VSPOLARITY_AH                LTDC_GCR_VSPOL             
  288#define LTDC_DEPOLARITY_AL                0x00000000U    
  289#define LTDC_DEPOLARITY_AH                LTDC_GCR_DEPOL             
  297#define LTDC_PCPOLARITY_IPC               0x00000000U    
  298#define LTDC_PCPOLARITY_IIPC              LTDC_GCR_PCPOL             
  306#define LTDC_HORIZONTALSYNC               (LTDC_SSCR_HSW >> 16U)     
  307#define LTDC_VERTICALSYNC                 LTDC_SSCR_VSH              
  315#define LTDC_COLOR                        0x000000FFU    
  323#define LTDC_BLENDING_FACTOR1_CA          0x00000400U    
  324#define LTDC_BLENDING_FACTOR1_PAxCA       0x00000600U    
  332#define LTDC_BLENDING_FACTOR2_CA          0x00000005U    
  333#define LTDC_BLENDING_FACTOR2_PAxCA       0x00000007U    
  341#define LTDC_PIXEL_FORMAT_ARGB8888        0x00000000U    
  342#define LTDC_PIXEL_FORMAT_RGB888          0x00000001U    
  343#define LTDC_PIXEL_FORMAT_RGB565          0x00000002U    
  344#define LTDC_PIXEL_FORMAT_ARGB1555        0x00000003U    
  345#define LTDC_PIXEL_FORMAT_ARGB4444        0x00000004U    
  346#define LTDC_PIXEL_FORMAT_L8              0x00000005U    
  347#define LTDC_PIXEL_FORMAT_AL44            0x00000006U    
  348#define LTDC_PIXEL_FORMAT_AL88            0x00000007U    
  356#define LTDC_ALPHA                        LTDC_LxCACR_CONSTA         
  364#define LTDC_STOPPOSITION                 (LTDC_LxWHPCR_WHSPPOS >> 16U)  
  365#define LTDC_STARTPOSITION                LTDC_LxWHPCR_WHSTPOS           
  367#define LTDC_COLOR_FRAME_BUFFER           LTDC_LxCFBLR_CFBLL             
  368#define LTDC_LINE_NUMBER                  LTDC_LxCFBLNR_CFBLNBR          
  376#define LTDC_IT_LI                        LTDC_IER_LIE               
  377#define LTDC_IT_FU                        LTDC_IER_FUIE              
  378#define LTDC_IT_TE                        LTDC_IER_TERRIE            
  379#define LTDC_IT_RR                        LTDC_IER_RRIE              
  387#define LTDC_FLAG_LI                      LTDC_ISR_LIF               
  388#define LTDC_FLAG_FU                      LTDC_ISR_FUIF              
  389#define LTDC_FLAG_TE                      LTDC_ISR_TERRIF            
  390#define LTDC_FLAG_RR                      LTDC_ISR_RRIF              
  398#define LTDC_RELOAD_IMMEDIATE             LTDC_SRCR_IMR              
  399#define LTDC_RELOAD_VERTICAL_BLANKING     LTDC_SRCR_VBR              
  417#if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) 
  418#define __HAL_LTDC_RESET_HANDLE_STATE(__HANDLE__) do{                                                 \ 
  419                                                      (__HANDLE__)->State = HAL_LTDC_STATE_RESET;     \ 
  420                                                      (__HANDLE__)->MspInitCallback = NULL;           \ 
  421                                                      (__HANDLE__)->MspDeInitCallback = NULL;         \ 
  424#define __HAL_LTDC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_LTDC_STATE_RESET) 
  432#define __HAL_LTDC_ENABLE(__HANDLE__)    ((__HANDLE__)->Instance->GCR |= LTDC_GCR_LTDCEN) 
  439#define __HAL_LTDC_DISABLE(__HANDLE__)   ((__HANDLE__)->Instance->GCR &= ~(LTDC_GCR_LTDCEN)) 
  448#define __HAL_LTDC_LAYER_ENABLE(__HANDLE__, __LAYER__)  ((LTDC_LAYER((__HANDLE__), (__LAYER__)))->CR\ 
  449                                                         |= (uint32_t)LTDC_LxCR_LEN) 
 
  458#define __HAL_LTDC_LAYER_DISABLE(__HANDLE__, __LAYER__) ((LTDC_LAYER((__HANDLE__), (__LAYER__)))->CR\ 
  459                                                         &= ~(uint32_t)LTDC_LxCR_LEN) 
 
  466#define __HAL_LTDC_RELOAD_IMMEDIATE_CONFIG(__HANDLE__)  ((__HANDLE__)->Instance->SRCR |= LTDC_SRCR_IMR) 
  473#define __HAL_LTDC_VERTICAL_BLANKING_RELOAD_CONFIG(__HANDLE__)  ((__HANDLE__)->Instance->SRCR |= LTDC_SRCR_VBR) 
  487#define __HAL_LTDC_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR & (__FLAG__)) 
  500#define __HAL_LTDC_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__)) 
  513#define __HAL_LTDC_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__)) 
  526#define __HAL_LTDC_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= ~(__INTERRUPT__)) 
  539#define __HAL_LTDC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER & (__INTERRUPT__)) 
  564#if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) 
  566                                            pLTDC_CallbackTypeDef pCallback);
 
  645#define LTDC_LAYER(__HANDLE__, __LAYER__)              ((LTDC_Layer_TypeDef *)((uint32_t)(\ 
  646                                                                               ((uint32_t)((__HANDLE__)->Instance))\ 
  647                                                                               + 0x84U + (0x80U*(__LAYER__))))) 
 
  648#define IS_LTDC_LAYER(__LAYER__)                       ((__LAYER__) < MAX_LAYER) 
  649#define IS_LTDC_HSPOL(__HSPOL__)                       (((__HSPOL__) == LTDC_HSPOLARITY_AL)\ 
  650                                                        || ((__HSPOL__) == LTDC_HSPOLARITY_AH)) 
 
  651#define IS_LTDC_VSPOL(__VSPOL__)                       (((__VSPOL__) == LTDC_VSPOLARITY_AL)\ 
  652                                                        || ((__VSPOL__) == LTDC_VSPOLARITY_AH)) 
 
  653#define IS_LTDC_DEPOL(__DEPOL__)                       (((__DEPOL__) == LTDC_DEPOLARITY_AL)\ 
  654                                                        || ((__DEPOL__) ==  LTDC_DEPOLARITY_AH)) 
 
  655#define IS_LTDC_PCPOL(__PCPOL__)                       (((__PCPOL__) == LTDC_PCPOLARITY_IPC)\ 
  656                                                        || ((__PCPOL__) ==  LTDC_PCPOLARITY_IIPC)) 
 
  657#define IS_LTDC_HSYNC(__HSYNC__)                       ((__HSYNC__)  <= LTDC_HORIZONTALSYNC) 
  658#define IS_LTDC_VSYNC(__VSYNC__)                       ((__VSYNC__)  <= LTDC_VERTICALSYNC) 
  659#define IS_LTDC_AHBP(__AHBP__)                         ((__AHBP__)   <= LTDC_HORIZONTALSYNC) 
  660#define IS_LTDC_AVBP(__AVBP__)                         ((__AVBP__)   <= LTDC_VERTICALSYNC) 
  661#define IS_LTDC_AAW(__AAW__)                           ((__AAW__)    <= LTDC_HORIZONTALSYNC) 
  662#define IS_LTDC_AAH(__AAH__)                           ((__AAH__)    <= LTDC_VERTICALSYNC) 
  663#define IS_LTDC_TOTALW(__TOTALW__)                     ((__TOTALW__) <= LTDC_HORIZONTALSYNC) 
  664#define IS_LTDC_TOTALH(__TOTALH__)                     ((__TOTALH__) <= LTDC_VERTICALSYNC) 
  665#define IS_LTDC_BLUEVALUE(__BBLUE__)                   ((__BBLUE__)  <= LTDC_COLOR) 
  666#define IS_LTDC_GREENVALUE(__BGREEN__)                 ((__BGREEN__) <= LTDC_COLOR) 
  667#define IS_LTDC_REDVALUE(__BRED__)                     ((__BRED__)   <= LTDC_COLOR) 
  668#define IS_LTDC_BLENDING_FACTOR1(__BLENDING_FACTOR1__) (((__BLENDING_FACTOR1__) == LTDC_BLENDING_FACTOR1_CA) || \ 
  669                                                        ((__BLENDING_FACTOR1__) == LTDC_BLENDING_FACTOR1_PAxCA)) 
 
  670#define IS_LTDC_BLENDING_FACTOR2(__BLENDING_FACTOR1__) (((__BLENDING_FACTOR1__) == LTDC_BLENDING_FACTOR2_CA) || \ 
  671                                                        ((__BLENDING_FACTOR1__) == LTDC_BLENDING_FACTOR2_PAxCA)) 
 
  672#define IS_LTDC_PIXEL_FORMAT(__PIXEL_FORMAT__)         (((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_ARGB8888) || \ 
  673                                                        ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_RGB888)   || \ 
  674                                                        ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_RGB565)   || \ 
  675                                                        ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_ARGB1555) || \ 
  676                                                        ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_ARGB4444) || \ 
  677                                                        ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_L8)       || \ 
  678                                                        ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_AL44)     || \ 
  679                                                        ((__PIXEL_FORMAT__) == LTDC_PIXEL_FORMAT_AL88)) 
 
  680#define IS_LTDC_ALPHA(__ALPHA__)                       ((__ALPHA__) <= LTDC_ALPHA) 
  681#define IS_LTDC_HCONFIGST(__HCONFIGST__)               ((__HCONFIGST__) <= LTDC_STARTPOSITION) 
  682#define IS_LTDC_HCONFIGSP(__HCONFIGSP__)               ((__HCONFIGSP__) <= LTDC_STOPPOSITION) 
  683#define IS_LTDC_VCONFIGST(__VCONFIGST__)               ((__VCONFIGST__) <= LTDC_STARTPOSITION) 
  684#define IS_LTDC_VCONFIGSP(__VCONFIGSP__)               ((__VCONFIGSP__) <= LTDC_STOPPOSITION) 
  685#define IS_LTDC_CFBP(__CFBP__)                         ((__CFBP__) <= LTDC_COLOR_FRAME_BUFFER) 
  686#define IS_LTDC_CFBLL(__CFBLL__)                       ((__CFBLL__) <= LTDC_COLOR_FRAME_BUFFER) 
  687#define IS_LTDC_CFBLNBR(__CFBLNBR__)                   ((__CFBLNBR__) <= LTDC_LINE_NUMBER) 
  688#define IS_LTDC_LIPOS(__LIPOS__)                       ((__LIPOS__) <= 0x7FFU) 
  689#define IS_LTDC_RELOAD(__RELOADTYPE__)                 (((__RELOADTYPE__) == LTDC_RELOAD_IMMEDIATE) || \ 
  690                                                        ((__RELOADTYPE__) == LTDC_RELOAD_VERTICAL_BLANKING)) 
 
void HAL_LTDC_ErrorCallback(LTDC_HandleTypeDef *hltdc)
Error LTDC callback.
 
HAL_StatusTypeDef HAL_LTDC_Init(LTDC_HandleTypeDef *hltdc)
Initialize the LTDC according to the specified parameters in the LTDC_InitTypeDef.
 
void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef *hltdc)
De-initialize the LTDC MSP.
 
void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef *hltdc)
Line Event callback.
 
void HAL_LTDC_MspInit(LTDC_HandleTypeDef *hltdc)
Initialize the LTDC MSP.
 
void HAL_LTDC_ReloadEventCallback(LTDC_HandleTypeDef *hltdc)
Reload Event callback.
 
HAL_StatusTypeDef HAL_LTDC_DeInit(LTDC_HandleTypeDef *hltdc)
De-initialize the LTDC peripheral.
 
void HAL_LTDC_IRQHandler(LTDC_HandleTypeDef *hltdc)
Handle LTDC interrupt request.
 
HAL_StatusTypeDef HAL_LTDC_ConfigColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx)
Configure the color keying.
 
HAL_StatusTypeDef HAL_LTDC_DisableDither(LTDC_HandleTypeDef *hltdc)
Disable Dither.
 
HAL_StatusTypeDef HAL_LTDC_SetPixelFormat(LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx)
Reconfigure the pixel format.
 
HAL_StatusTypeDef HAL_LTDC_EnableColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
Enable the color keying without reloading. Variant of the function HAL_LTDC_EnableColorKeying without...
 
HAL_StatusTypeDef HAL_LTDC_SetAddress_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx)
Reconfigure the frame buffer Address without reloading. Variant of the function HAL_LTDC_SetAddress w...
 
HAL_StatusTypeDef HAL_LTDC_EnableDither(LTDC_HandleTypeDef *hltdc)
Enable Dither.
 
HAL_StatusTypeDef HAL_LTDC_SetAddress(LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx)
Reconfigure the frame buffer Address.
 
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_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_InitType...
 
HAL_StatusTypeDef HAL_LTDC_SetAlpha_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx)
Reconfigure the layer alpha value without reloading. Variant of the function HAL_LTDC_SetAlpha withou...
 
HAL_StatusTypeDef HAL_LTDC_EnableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
Enable the color lookup table.
 
HAL_StatusTypeDef HAL_LTDC_EnableCLUT_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
Enable the color lookup table without reloading. Variant of the function HAL_LTDC_EnableCLUT without ...
 
HAL_StatusTypeDef HAL_LTDC_DisableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
Disable the color keying.
 
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...
 
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 w...
 
HAL_StatusTypeDef HAL_LTDC_SetAlpha(LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx)
Reconfigure the layer alpha value.
 
HAL_StatusTypeDef HAL_LTDC_EnableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
Enable the color keying.
 
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. Variant of the function HAL_LTDC_SetWindowPosition wi...
 
HAL_StatusTypeDef HAL_LTDC_ProgramLineEvent(LTDC_HandleTypeDef *hltdc, uint32_t Line)
Define the position of the line interrupt.
 
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. Variant of the function HAL_LTDC_SetWindowSize without im...
 
HAL_StatusTypeDef HAL_LTDC_DisableColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
Disable the color keying without reloading. Variant of the function HAL_LTDC_DisableColorKeying witho...
 
HAL_StatusTypeDef HAL_LTDC_SetPixelFormat_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx)
Reconfigure the pixel format without reloading. Variant of the function HAL_LTDC_SetPixelFormat witho...
 
HAL_StatusTypeDef HAL_LTDC_ConfigColorKeying_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx)
Configure the color keying without reloading. Variant of the function HAL_LTDC_ConfigColorKeying with...
 
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_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 w...
 
HAL_StatusTypeDef HAL_LTDC_DisableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
Disable the color lookup table.
 
HAL_StatusTypeDef HAL_LTDC_DisableCLUT_NoReload(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx)
Disable the color lookup table without reloading. Variant of the function HAL_LTDC_DisableCLUT withou...
 
HAL_StatusTypeDef HAL_LTDC_SetWindowSize(LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize, uint32_t LayerIdx)
Set the LTDC window size.
 
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.
 
HAL_LTDC_StateTypeDef
HAL LTDC State structures definition.
 
This file contains HAL common defines, enumeration, macros and structures definitions.
 
HAL_StatusTypeDef
HAL Status structures definition
 
HAL_LockTypeDef
HAL Lock structures definition
 
Header file of LTDC HAL Extension module.
 
LTDC color structure definition.
 
LTDC handle Structure definition.
 
__IO HAL_LTDC_StateTypeDef State
 
LTDC Init structure definition.
 
LTDC_ColorTypeDef Backcolor
 
uint32_t AccumulatedActiveW
 
uint32_t AccumulatedActiveH
 
LTDC Layer structure definition.
 
LTDC_ColorTypeDef Backcolor