discoverpixy
Macros | Functions
stm32f4xx_ltdc.c File Reference

This file provides firmware functions to manage the following functionalities of the LTDC controller (LTDC) peripheral: More...

#include "stm32f4xx_ltdc.h"
#include "stm32f4xx_rcc.h"
Include dependency graph for stm32f4xx_ltdc.c:

Macros

#define GCR_MASK   ((uint32_t)0x0FFE888F) /* LTDC GCR Mask */
 

Functions

void LTDC_DeInit (void)
 Deinitializes the LTDC peripheral registers to their default reset values. More...
 
void LTDC_Init (LTDC_InitTypeDef *LTDC_InitStruct)
 Initializes the LTDC peripheral according to the specified parameters in the LTDC_InitStruct. More...
 
void LTDC_StructInit (LTDC_InitTypeDef *LTDC_InitStruct)
 Fills each LTDC_InitStruct member with its default value. More...
 
void LTDC_Cmd (FunctionalState NewState)
 Enables or disables the LTDC Controller. More...
 
void LTDC_DitherCmd (FunctionalState NewState)
 Enables or disables Dither. More...
 
LTDC_RGBTypeDef LTDC_GetRGBWidth (void)
 Get the dither RGB width. More...
 
void LTDC_RGBStructInit (LTDC_RGBTypeDef *LTDC_RGB_InitStruct)
 Fills each LTDC_RGBStruct member with its default value. More...
 
void LTDC_LIPConfig (uint32_t LTDC_LIPositionConfig)
 Define the position of the line interrupt . More...
 
void LTDC_ReloadConfig (uint32_t LTDC_Reload)
 reload layers registers with new parameters More...
 
void LTDC_LayerInit (LTDC_Layer_TypeDef *LTDC_Layerx, LTDC_Layer_InitTypeDef *LTDC_Layer_InitStruct)
 Initializes the LTDC Layer according to the specified parameters in the LTDC_LayerStruct. More...
 
void LTDC_LayerStructInit (LTDC_Layer_InitTypeDef *LTDC_Layer_InitStruct)
 Fills each LTDC_Layer_InitStruct member with its default value. More...
 
void LTDC_LayerCmd (LTDC_Layer_TypeDef *LTDC_Layerx, FunctionalState NewState)
 Enables or disables the LTDC_Layer Controller. More...
 
LTDC_PosTypeDef LTDC_GetPosStatus (void)
 Get the current position. More...
 
void LTDC_PosStructInit (LTDC_PosTypeDef *LTDC_Pos_InitStruct)
 Fills each LTDC_Pos_InitStruct member with its default value. More...
 
FlagStatus LTDC_GetCDStatus (uint32_t LTDC_CD)
 Checks whether the specified LTDC's flag is set or not. More...
 
void LTDC_ColorKeyingConfig (LTDC_Layer_TypeDef *LTDC_Layerx, LTDC_ColorKeying_InitTypeDef *LTDC_colorkeying_InitStruct, FunctionalState NewState)
 Set and configure the color keying. More...
 
void LTDC_ColorKeyingStructInit (LTDC_ColorKeying_InitTypeDef *LTDC_colorkeying_InitStruct)
 Fills each LTDC_colorkeying_InitStruct member with its default value. More...
 
void LTDC_CLUTCmd (LTDC_Layer_TypeDef *LTDC_Layerx, FunctionalState NewState)
 Enables or disables CLUT. More...
 
void LTDC_CLUTInit (LTDC_Layer_TypeDef *LTDC_Layerx, LTDC_CLUT_InitTypeDef *LTDC_CLUT_InitStruct)
 configure the CLUT. More...
 
void LTDC_CLUTStructInit (LTDC_CLUT_InitTypeDef *LTDC_CLUT_InitStruct)
 Fills each LTDC_CLUT_InitStruct member with its default value. More...
 
void LTDC_LayerPosition (LTDC_Layer_TypeDef *LTDC_Layerx, uint16_t OffsetX, uint16_t OffsetY)
 reconfigure the layer position. More...
 
void LTDC_LayerAlpha (LTDC_Layer_TypeDef *LTDC_Layerx, uint8_t ConstantAlpha)
 reconfigure constant alpha. More...
 
void LTDC_LayerAddress (LTDC_Layer_TypeDef *LTDC_Layerx, uint32_t Address)
 reconfigure layer address. More...
 
void LTDC_LayerSize (LTDC_Layer_TypeDef *LTDC_Layerx, uint32_t Width, uint32_t Height)
 reconfigure layer size. More...
 
void LTDC_LayerPixelFormat (LTDC_Layer_TypeDef *LTDC_Layerx, uint32_t PixelFormat)
 reconfigure layer pixel format. More...
 
void LTDC_ITConfig (uint32_t LTDC_IT, FunctionalState NewState)
 Enables or disables the specified LTDC's interrupts. More...
 
FlagStatus LTDC_GetFlagStatus (uint32_t LTDC_FLAG)
 Checks whether the specified LTDC's flag is set or not. More...
 
void LTDC_ClearFlag (uint32_t LTDC_FLAG)
 Clears the LTDC's pending flags. More...
 
ITStatus LTDC_GetITStatus (uint32_t LTDC_IT)
 Checks whether the specified LTDC's interrupt has occurred or not. More...
 
void LTDC_ClearITPendingBit (uint32_t LTDC_IT)
 Clears the LTDC's interrupt pending bits. More...
 

Detailed Description

This file provides firmware functions to manage the following functionalities of the LTDC controller (LTDC) peripheral:

Author
MCD Application Team
Version
V1.4.0
Date
04-August-2014
  • Initialization and configuration
  • Interrupts and flags management
===============================================================================
                     ##### How to use this driver #####
===============================================================================
   [..]
       (#) Enable LTDC clock using 
           RCC_APB2PeriphResetCmd(RCC_APB2Periph_LTDC, ENABLE) function.
       (#) Configures LTDC
         (++) Configure the required Pixel clock following the panel datasheet
         (++) Configure the Synchronous timings: VSYNC, HSYNC, Vertical and 
             Horizontal back proch, active data area and the front proch 
             timings 
         (++) Configure the synchronous signals and clock polarity in the 
             LTDC_GCR register
       (#) Configures Layer1/2 parameters
         (++) The Layer window horizontal and vertical position in the LTDC_LxWHPCR and 
              LTDC_WVPCR registers. The layer window must be in the active data area.
         (++) The pixel input format in the LTDC_LxPFCR register
         (++) The color frame buffer start address in the LTDC_LxCFBAR register
         (++) The line length and pitch of the color frame buffer in the 
              LTDC_LxCFBLR register
         (++) The number of lines of the color frame buffer in 
              the LTDC_LxCFBLNR register
         (++) if needed, load the CLUT with the RGB values and the address 
              in the LTDC_LxCLUTWR register
         (++) If needed, configure the default color and the blending factors 
              respectively in the LTDC_LxDCCR and LTDC_LxBFCR registers 

         (++) If needed, Dithering and color keying can be be enabled respectively 
              in the LTDC_GCR and LTDC_LxCKCR registers. It can be also enabled 
              on the fly.    
       (#) Enable Layer1/2 and if needed the CLUT in the LTDC_LxCR register 
 
       (#) Reload the shadow registers to active register through 
           the LTDC_SRCR register.
         -@- All layer parameters can be be modified on the fly except the CLUT. 
             The new configuration has to be either reloaded immediately 
             or during vertical blanking period by configuring the LTDC_SRCR register.
       (#) Call the LTDC_Cmd() to enable the LTDC controller.
Attention

© COPYRIGHT 2014 STMicroelectronics

Licensed under MCD-ST Liberty SW License Agreement V2, (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at:

   http://www.st.com/software_license_agreement_liberty_v2

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.