mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Fri Aug 14 13:15:17 2015 +0100
Revision:
610:813dcc80987e
Parent:
573:ad23fe03a082
Synchronized with git revision 6d84db41c6833e0b9b024741eb0616a5f62d5599

Full URL: https://github.com/mbedmicro/mbed/commit/6d84db41c6833e0b9b024741eb0616a5f62d5599/

DISCO_F746NG - Improvements

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 573:ad23fe03a082 1 /**
mbed_official 573:ad23fe03a082 2 ******************************************************************************
mbed_official 573:ad23fe03a082 3 * @file stm32f7xx_hal_ltdc.h
mbed_official 573:ad23fe03a082 4 * @author MCD Application Team
mbed_official 610:813dcc80987e 5 * @version V1.0.1
mbed_official 610:813dcc80987e 6 * @date 25-June-2015
mbed_official 573:ad23fe03a082 7 * @brief Header file of LTDC HAL module.
mbed_official 573:ad23fe03a082 8 ******************************************************************************
mbed_official 573:ad23fe03a082 9 * @attention
mbed_official 573:ad23fe03a082 10 *
mbed_official 573:ad23fe03a082 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 573:ad23fe03a082 12 *
mbed_official 573:ad23fe03a082 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 573:ad23fe03a082 14 * are permitted provided that the following conditions are met:
mbed_official 573:ad23fe03a082 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 573:ad23fe03a082 16 * this list of conditions and the following disclaimer.
mbed_official 573:ad23fe03a082 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 573:ad23fe03a082 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 573:ad23fe03a082 19 * and/or other materials provided with the distribution.
mbed_official 573:ad23fe03a082 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 573:ad23fe03a082 21 * may be used to endorse or promote products derived from this software
mbed_official 573:ad23fe03a082 22 * without specific prior written permission.
mbed_official 573:ad23fe03a082 23 *
mbed_official 573:ad23fe03a082 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 573:ad23fe03a082 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 573:ad23fe03a082 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 573:ad23fe03a082 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 573:ad23fe03a082 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 573:ad23fe03a082 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 573:ad23fe03a082 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 573:ad23fe03a082 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 573:ad23fe03a082 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 573:ad23fe03a082 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 573:ad23fe03a082 34 *
mbed_official 573:ad23fe03a082 35 ******************************************************************************
mbed_official 573:ad23fe03a082 36 */
mbed_official 573:ad23fe03a082 37
mbed_official 573:ad23fe03a082 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 573:ad23fe03a082 39 #ifndef __STM32F7xx_HAL_LTDC_H
mbed_official 573:ad23fe03a082 40 #define __STM32F7xx_HAL_LTDC_H
mbed_official 573:ad23fe03a082 41
mbed_official 573:ad23fe03a082 42 #ifdef __cplusplus
mbed_official 573:ad23fe03a082 43 extern "C" {
mbed_official 573:ad23fe03a082 44 #endif
mbed_official 573:ad23fe03a082 45
mbed_official 573:ad23fe03a082 46 #if defined(STM32F756xx) || defined(STM32F746xx)
mbed_official 573:ad23fe03a082 47 /* Includes ------------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 48 #include "stm32f7xx_hal_def.h"
mbed_official 573:ad23fe03a082 49
mbed_official 573:ad23fe03a082 50
mbed_official 573:ad23fe03a082 51 /** @addtogroup STM32F7xx_HAL_Driver
mbed_official 573:ad23fe03a082 52 * @{
mbed_official 573:ad23fe03a082 53 */
mbed_official 573:ad23fe03a082 54
mbed_official 573:ad23fe03a082 55 /** @defgroup LTDC LTDC
mbed_official 573:ad23fe03a082 56 * @brief LTDC HAL module driver
mbed_official 573:ad23fe03a082 57 * @{
mbed_official 573:ad23fe03a082 58 */
mbed_official 573:ad23fe03a082 59
mbed_official 573:ad23fe03a082 60 /* Exported types ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 61 /** @defgroup LTDC_Exported_Types LTDC Exported Types
mbed_official 573:ad23fe03a082 62 * @{
mbed_official 573:ad23fe03a082 63 */
mbed_official 573:ad23fe03a082 64 #define MAX_LAYER 2
mbed_official 573:ad23fe03a082 65
mbed_official 573:ad23fe03a082 66 /**
mbed_official 573:ad23fe03a082 67 * @brief LTDC color structure definition
mbed_official 573:ad23fe03a082 68 */
mbed_official 573:ad23fe03a082 69 typedef struct
mbed_official 573:ad23fe03a082 70 {
mbed_official 573:ad23fe03a082 71 uint8_t Blue; /*!< Configures the blue value.
mbed_official 573:ad23fe03a082 72 This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */
mbed_official 573:ad23fe03a082 73
mbed_official 573:ad23fe03a082 74 uint8_t Green; /*!< Configures the green value.
mbed_official 573:ad23fe03a082 75 This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */
mbed_official 573:ad23fe03a082 76
mbed_official 573:ad23fe03a082 77 uint8_t Red; /*!< Configures the red value.
mbed_official 573:ad23fe03a082 78 This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */
mbed_official 573:ad23fe03a082 79
mbed_official 573:ad23fe03a082 80 uint8_t Reserved; /*!< Reserved 0xFF */
mbed_official 573:ad23fe03a082 81 } LTDC_ColorTypeDef;
mbed_official 573:ad23fe03a082 82
mbed_official 573:ad23fe03a082 83 /**
mbed_official 573:ad23fe03a082 84 * @brief LTDC Init structure definition
mbed_official 573:ad23fe03a082 85 */
mbed_official 573:ad23fe03a082 86 typedef struct
mbed_official 573:ad23fe03a082 87 {
mbed_official 573:ad23fe03a082 88 uint32_t HSPolarity; /*!< configures the horizontal synchronization polarity.
mbed_official 573:ad23fe03a082 89 This parameter can be one value of @ref LTDC_HS_POLARITY */
mbed_official 573:ad23fe03a082 90
mbed_official 573:ad23fe03a082 91 uint32_t VSPolarity; /*!< configures the vertical synchronization polarity.
mbed_official 573:ad23fe03a082 92 This parameter can be one value of @ref LTDC_VS_POLARITY */
mbed_official 573:ad23fe03a082 93
mbed_official 573:ad23fe03a082 94 uint32_t DEPolarity; /*!< configures the data enable polarity.
mbed_official 573:ad23fe03a082 95 This parameter can be one of value of @ref LTDC_DE_POLARITY */
mbed_official 573:ad23fe03a082 96
mbed_official 573:ad23fe03a082 97 uint32_t PCPolarity; /*!< configures the pixel clock polarity.
mbed_official 573:ad23fe03a082 98 This parameter can be one of value of @ref LTDC_PC_POLARITY */
mbed_official 573:ad23fe03a082 99
mbed_official 573:ad23fe03a082 100 uint32_t HorizontalSync; /*!< configures the number of Horizontal synchronization width.
mbed_official 573:ad23fe03a082 101 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */
mbed_official 573:ad23fe03a082 102
mbed_official 573:ad23fe03a082 103 uint32_t VerticalSync; /*!< configures the number of Vertical synchronization height.
mbed_official 573:ad23fe03a082 104 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0x7FF. */
mbed_official 573:ad23fe03a082 105
mbed_official 573:ad23fe03a082 106 uint32_t AccumulatedHBP; /*!< configures the accumulated horizontal back porch width.
mbed_official 573:ad23fe03a082 107 This parameter must be a number between Min_Data = LTDC_HorizontalSync and Max_Data = 0xFFF. */
mbed_official 573:ad23fe03a082 108
mbed_official 573:ad23fe03a082 109 uint32_t AccumulatedVBP; /*!< configures the accumulated vertical back porch height.
mbed_official 573:ad23fe03a082 110 This parameter must be a number between Min_Data = LTDC_VerticalSync and Max_Data = 0x7FF. */
mbed_official 573:ad23fe03a082 111
mbed_official 573:ad23fe03a082 112 uint32_t AccumulatedActiveW; /*!< configures the accumulated active width.
mbed_official 573:ad23fe03a082 113 This parameter must be a number between Min_Data = LTDC_AccumulatedHBP and Max_Data = 0xFFF. */
mbed_official 573:ad23fe03a082 114
mbed_official 573:ad23fe03a082 115 uint32_t AccumulatedActiveH; /*!< configures the accumulated active height.
mbed_official 573:ad23fe03a082 116 This parameter must be a number between Min_Data = LTDC_AccumulatedVBP and Max_Data = 0x7FF. */
mbed_official 573:ad23fe03a082 117
mbed_official 573:ad23fe03a082 118 uint32_t TotalWidth; /*!< configures the total width.
mbed_official 573:ad23fe03a082 119 This parameter must be a number between Min_Data = LTDC_AccumulatedActiveW and Max_Data = 0xFFF. */
mbed_official 573:ad23fe03a082 120
mbed_official 573:ad23fe03a082 121 uint32_t TotalHeigh; /*!< configures the total height.
mbed_official 573:ad23fe03a082 122 This parameter must be a number between Min_Data = LTDC_AccumulatedActiveH and Max_Data = 0x7FF. */
mbed_official 573:ad23fe03a082 123
mbed_official 573:ad23fe03a082 124 LTDC_ColorTypeDef Backcolor; /*!< Configures the background color. */
mbed_official 573:ad23fe03a082 125 } LTDC_InitTypeDef;
mbed_official 573:ad23fe03a082 126
mbed_official 573:ad23fe03a082 127 /**
mbed_official 573:ad23fe03a082 128 * @brief LTDC Layer structure definition
mbed_official 573:ad23fe03a082 129 */
mbed_official 573:ad23fe03a082 130 typedef struct
mbed_official 573:ad23fe03a082 131 {
mbed_official 573:ad23fe03a082 132 uint32_t WindowX0; /*!< Configures the Window Horizontal Start Position.
mbed_official 573:ad23fe03a082 133 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */
mbed_official 573:ad23fe03a082 134
mbed_official 573:ad23fe03a082 135 uint32_t WindowX1; /*!< Configures the Window Horizontal Stop Position.
mbed_official 573:ad23fe03a082 136 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0xFFF. */
mbed_official 573:ad23fe03a082 137
mbed_official 573:ad23fe03a082 138 uint32_t WindowY0; /*!< Configures the Window vertical Start Position.
mbed_official 610:813dcc80987e 139 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0x7FF. */
mbed_official 573:ad23fe03a082 140
mbed_official 573:ad23fe03a082 141 uint32_t WindowY1; /*!< Configures the Window vertical Stop Position.
mbed_official 610:813dcc80987e 142 This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x7FF. */
mbed_official 573:ad23fe03a082 143
mbed_official 573:ad23fe03a082 144 uint32_t PixelFormat; /*!< Specifies the pixel format.
mbed_official 573:ad23fe03a082 145 This parameter can be one of value of @ref LTDC_Pixelformat */
mbed_official 573:ad23fe03a082 146
mbed_official 573:ad23fe03a082 147 uint32_t Alpha; /*!< Specifies the constant alpha used for blending.
mbed_official 573:ad23fe03a082 148 This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */
mbed_official 573:ad23fe03a082 149
mbed_official 573:ad23fe03a082 150 uint32_t Alpha0; /*!< Configures the default alpha value.
mbed_official 573:ad23fe03a082 151 This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. */
mbed_official 573:ad23fe03a082 152
mbed_official 573:ad23fe03a082 153 uint32_t BlendingFactor1; /*!< Select the blending factor 1.
mbed_official 573:ad23fe03a082 154 This parameter can be one of value of @ref LTDC_BlendingFactor1 */
mbed_official 573:ad23fe03a082 155
mbed_official 573:ad23fe03a082 156 uint32_t BlendingFactor2; /*!< Select the blending factor 2.
mbed_official 573:ad23fe03a082 157 This parameter can be one of value of @ref LTDC_BlendingFactor2 */
mbed_official 573:ad23fe03a082 158
mbed_official 573:ad23fe03a082 159 uint32_t FBStartAdress; /*!< Configures the color frame buffer address */
mbed_official 573:ad23fe03a082 160
mbed_official 573:ad23fe03a082 161 uint32_t ImageWidth; /*!< Configures the color frame buffer line length.
mbed_official 573:ad23fe03a082 162 This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x1FFF. */
mbed_official 573:ad23fe03a082 163
mbed_official 573:ad23fe03a082 164 uint32_t ImageHeight; /*!< Specifies the number of line in frame buffer.
mbed_official 573:ad23fe03a082 165 This parameter must be a number between Min_Data = 0x000 and Max_Data = 0x7FF. */
mbed_official 573:ad23fe03a082 166
mbed_official 573:ad23fe03a082 167 LTDC_ColorTypeDef Backcolor; /*!< Configures the layer background color. */
mbed_official 573:ad23fe03a082 168 } LTDC_LayerCfgTypeDef;
mbed_official 573:ad23fe03a082 169
mbed_official 573:ad23fe03a082 170 /**
mbed_official 573:ad23fe03a082 171 * @brief HAL LTDC State structures definition
mbed_official 573:ad23fe03a082 172 */
mbed_official 573:ad23fe03a082 173 typedef enum
mbed_official 573:ad23fe03a082 174 {
mbed_official 573:ad23fe03a082 175 HAL_LTDC_STATE_RESET = 0x00, /*!< LTDC not yet initialized or disabled */
mbed_official 573:ad23fe03a082 176 HAL_LTDC_STATE_READY = 0x01, /*!< LTDC initialized and ready for use */
mbed_official 573:ad23fe03a082 177 HAL_LTDC_STATE_BUSY = 0x02, /*!< LTDC internal process is ongoing */
mbed_official 573:ad23fe03a082 178 HAL_LTDC_STATE_TIMEOUT = 0x03, /*!< LTDC Timeout state */
mbed_official 573:ad23fe03a082 179 HAL_LTDC_STATE_ERROR = 0x04 /*!< LTDC state error */
mbed_official 573:ad23fe03a082 180 }HAL_LTDC_StateTypeDef;
mbed_official 573:ad23fe03a082 181
mbed_official 573:ad23fe03a082 182 /**
mbed_official 573:ad23fe03a082 183 * @brief LTDC handle Structure definition
mbed_official 573:ad23fe03a082 184 */
mbed_official 573:ad23fe03a082 185 typedef struct
mbed_official 573:ad23fe03a082 186 {
mbed_official 573:ad23fe03a082 187 LTDC_TypeDef *Instance; /*!< LTDC Register base address */
mbed_official 573:ad23fe03a082 188
mbed_official 573:ad23fe03a082 189 LTDC_InitTypeDef Init; /*!< LTDC parameters */
mbed_official 573:ad23fe03a082 190
mbed_official 573:ad23fe03a082 191 LTDC_LayerCfgTypeDef LayerCfg[MAX_LAYER]; /*!< LTDC Layers parameters */
mbed_official 573:ad23fe03a082 192
mbed_official 573:ad23fe03a082 193 HAL_LockTypeDef Lock; /*!< LTDC Lock */
mbed_official 573:ad23fe03a082 194
mbed_official 573:ad23fe03a082 195 __IO HAL_LTDC_StateTypeDef State; /*!< LTDC state */
mbed_official 573:ad23fe03a082 196
mbed_official 573:ad23fe03a082 197 __IO uint32_t ErrorCode; /*!< LTDC Error code */
mbed_official 573:ad23fe03a082 198
mbed_official 573:ad23fe03a082 199 } LTDC_HandleTypeDef;
mbed_official 573:ad23fe03a082 200 /**
mbed_official 573:ad23fe03a082 201 * @}
mbed_official 573:ad23fe03a082 202 */
mbed_official 573:ad23fe03a082 203
mbed_official 573:ad23fe03a082 204 /* Exported constants --------------------------------------------------------*/
mbed_official 573:ad23fe03a082 205 /** @defgroup LTDC_Exported_Constants LTDC Exported Constants
mbed_official 573:ad23fe03a082 206 * @{
mbed_official 573:ad23fe03a082 207 */
mbed_official 573:ad23fe03a082 208
mbed_official 573:ad23fe03a082 209 /** @defgroup LTDC_Error_Code LTDC Error Code
mbed_official 573:ad23fe03a082 210 * @{
mbed_official 573:ad23fe03a082 211 */
mbed_official 573:ad23fe03a082 212 #define HAL_LTDC_ERROR_NONE ((uint32_t)0x00000000) /*!< LTDC No error */
mbed_official 573:ad23fe03a082 213 #define HAL_LTDC_ERROR_TE ((uint32_t)0x00000001) /*!< LTDC Transfer error */
mbed_official 573:ad23fe03a082 214 #define HAL_LTDC_ERROR_FU ((uint32_t)0x00000002) /*!< LTDC FIFO Underrun */
mbed_official 573:ad23fe03a082 215 #define HAL_LTDC_ERROR_TIMEOUT ((uint32_t)0x00000020) /*!< LTDC Timeout error */
mbed_official 573:ad23fe03a082 216 /**
mbed_official 573:ad23fe03a082 217 * @}
mbed_official 573:ad23fe03a082 218 */
mbed_official 573:ad23fe03a082 219
mbed_official 573:ad23fe03a082 220 /** @defgroup LTDC_HS_POLARITY LTDC HS POLARITY
mbed_official 573:ad23fe03a082 221 * @{
mbed_official 573:ad23fe03a082 222 */
mbed_official 573:ad23fe03a082 223 #define LTDC_HSPOLARITY_AL ((uint32_t)0x00000000) /*!< Horizontal Synchronization is active low. */
mbed_official 573:ad23fe03a082 224 #define LTDC_HSPOLARITY_AH LTDC_GCR_HSPOL /*!< Horizontal Synchronization is active high. */
mbed_official 573:ad23fe03a082 225 /**
mbed_official 573:ad23fe03a082 226 * @}
mbed_official 573:ad23fe03a082 227 */
mbed_official 573:ad23fe03a082 228
mbed_official 573:ad23fe03a082 229 /** @defgroup LTDC_VS_POLARITY LTDC VS POLARITY
mbed_official 573:ad23fe03a082 230 * @{
mbed_official 573:ad23fe03a082 231 */
mbed_official 573:ad23fe03a082 232 #define LTDC_VSPOLARITY_AL ((uint32_t)0x00000000) /*!< Vertical Synchronization is active low. */
mbed_official 573:ad23fe03a082 233 #define LTDC_VSPOLARITY_AH LTDC_GCR_VSPOL /*!< Vertical Synchronization is active high. */
mbed_official 573:ad23fe03a082 234 /**
mbed_official 573:ad23fe03a082 235 * @}
mbed_official 573:ad23fe03a082 236 */
mbed_official 573:ad23fe03a082 237
mbed_official 573:ad23fe03a082 238 /** @defgroup LTDC_DE_POLARITY LTDC DE POLARITY
mbed_official 573:ad23fe03a082 239 * @{
mbed_official 573:ad23fe03a082 240 */
mbed_official 573:ad23fe03a082 241 #define LTDC_DEPOLARITY_AL ((uint32_t)0x00000000) /*!< Data Enable, is active low. */
mbed_official 573:ad23fe03a082 242 #define LTDC_DEPOLARITY_AH LTDC_GCR_DEPOL /*!< Data Enable, is active high. */
mbed_official 573:ad23fe03a082 243 /**
mbed_official 573:ad23fe03a082 244 * @}
mbed_official 573:ad23fe03a082 245 */
mbed_official 573:ad23fe03a082 246
mbed_official 573:ad23fe03a082 247 /** @defgroup LTDC_PC_POLARITY LTDC PC POLARITY
mbed_official 573:ad23fe03a082 248 * @{
mbed_official 573:ad23fe03a082 249 */
mbed_official 573:ad23fe03a082 250 #define LTDC_PCPOLARITY_IPC ((uint32_t)0x00000000) /*!< input pixel clock. */
mbed_official 573:ad23fe03a082 251 #define LTDC_PCPOLARITY_IIPC LTDC_GCR_PCPOL /*!< inverted input pixel clock. */
mbed_official 573:ad23fe03a082 252 /**
mbed_official 573:ad23fe03a082 253 * @}
mbed_official 573:ad23fe03a082 254 */
mbed_official 573:ad23fe03a082 255
mbed_official 573:ad23fe03a082 256 /** @defgroup LTDC_SYNC LTDC SYNC
mbed_official 573:ad23fe03a082 257 * @{
mbed_official 573:ad23fe03a082 258 */
mbed_official 573:ad23fe03a082 259 #define LTDC_HORIZONTALSYNC (LTDC_SSCR_HSW >> 16) /*!< Horizontal synchronization width. */
mbed_official 573:ad23fe03a082 260 #define LTDC_VERTICALSYNC LTDC_SSCR_VSH /*!< Vertical synchronization height. */
mbed_official 573:ad23fe03a082 261 /**
mbed_official 573:ad23fe03a082 262 * @}
mbed_official 573:ad23fe03a082 263 */
mbed_official 573:ad23fe03a082 264
mbed_official 573:ad23fe03a082 265 /** @defgroup LTDC_BACK_COLOR LTDC BACK COLOR
mbed_official 573:ad23fe03a082 266 * @{
mbed_official 573:ad23fe03a082 267 */
mbed_official 573:ad23fe03a082 268 #define LTDC_COLOR ((uint32_t)0x000000FF) /*!< Color mask */
mbed_official 573:ad23fe03a082 269 /**
mbed_official 573:ad23fe03a082 270 * @}
mbed_official 573:ad23fe03a082 271 */
mbed_official 573:ad23fe03a082 272
mbed_official 573:ad23fe03a082 273 /** @defgroup LTDC_BlendingFactor1 LTDC Blending Factor1
mbed_official 573:ad23fe03a082 274 * @{
mbed_official 573:ad23fe03a082 275 */
mbed_official 573:ad23fe03a082 276 #define LTDC_BLENDING_FACTOR1_CA ((uint32_t)0x00000400) /*!< Blending factor : Cte Alpha */
mbed_official 573:ad23fe03a082 277 #define LTDC_BLENDING_FACTOR1_PAxCA ((uint32_t)0x00000600) /*!< Blending factor : Cte Alpha x Pixel Alpha*/
mbed_official 573:ad23fe03a082 278 /**
mbed_official 573:ad23fe03a082 279 * @}
mbed_official 573:ad23fe03a082 280 */
mbed_official 573:ad23fe03a082 281
mbed_official 573:ad23fe03a082 282 /** @defgroup LTDC_BlendingFactor2 LTDC Blending Factor2
mbed_official 573:ad23fe03a082 283 * @{
mbed_official 573:ad23fe03a082 284 */
mbed_official 573:ad23fe03a082 285 #define LTDC_BLENDING_FACTOR2_CA ((uint32_t)0x00000005) /*!< Blending factor : Cte Alpha */
mbed_official 573:ad23fe03a082 286 #define LTDC_BLENDING_FACTOR2_PAxCA ((uint32_t)0x00000007) /*!< Blending factor : Cte Alpha x Pixel Alpha*/
mbed_official 573:ad23fe03a082 287 /**
mbed_official 573:ad23fe03a082 288 * @}
mbed_official 573:ad23fe03a082 289 */
mbed_official 573:ad23fe03a082 290
mbed_official 573:ad23fe03a082 291 /** @defgroup LTDC_Pixelformat LTDC Pixel format
mbed_official 573:ad23fe03a082 292 * @{
mbed_official 573:ad23fe03a082 293 */
mbed_official 573:ad23fe03a082 294 #define LTDC_PIXEL_FORMAT_ARGB8888 ((uint32_t)0x00000000) /*!< ARGB8888 LTDC pixel format */
mbed_official 573:ad23fe03a082 295 #define LTDC_PIXEL_FORMAT_RGB888 ((uint32_t)0x00000001) /*!< RGB888 LTDC pixel format */
mbed_official 573:ad23fe03a082 296 #define LTDC_PIXEL_FORMAT_RGB565 ((uint32_t)0x00000002) /*!< RGB565 LTDC pixel format */
mbed_official 573:ad23fe03a082 297 #define LTDC_PIXEL_FORMAT_ARGB1555 ((uint32_t)0x00000003) /*!< ARGB1555 LTDC pixel format */
mbed_official 573:ad23fe03a082 298 #define LTDC_PIXEL_FORMAT_ARGB4444 ((uint32_t)0x00000004) /*!< ARGB4444 LTDC pixel format */
mbed_official 573:ad23fe03a082 299 #define LTDC_PIXEL_FORMAT_L8 ((uint32_t)0x00000005) /*!< L8 LTDC pixel format */
mbed_official 573:ad23fe03a082 300 #define LTDC_PIXEL_FORMAT_AL44 ((uint32_t)0x00000006) /*!< AL44 LTDC pixel format */
mbed_official 573:ad23fe03a082 301 #define LTDC_PIXEL_FORMAT_AL88 ((uint32_t)0x00000007) /*!< AL88 LTDC pixel format */
mbed_official 573:ad23fe03a082 302 /**
mbed_official 573:ad23fe03a082 303 * @}
mbed_official 573:ad23fe03a082 304 */
mbed_official 573:ad23fe03a082 305
mbed_official 573:ad23fe03a082 306 /** @defgroup LTDC_Alpha LTDC Alpha
mbed_official 573:ad23fe03a082 307 * @{
mbed_official 573:ad23fe03a082 308 */
mbed_official 573:ad23fe03a082 309 #define LTDC_ALPHA LTDC_LxCACR_CONSTA /*!< LTDC Cte Alpha mask */
mbed_official 573:ad23fe03a082 310 /**
mbed_official 573:ad23fe03a082 311 * @}
mbed_official 573:ad23fe03a082 312 */
mbed_official 573:ad23fe03a082 313
mbed_official 573:ad23fe03a082 314 /** @defgroup LTDC_LAYER_Config LTDC LAYER Config
mbed_official 573:ad23fe03a082 315 * @{
mbed_official 573:ad23fe03a082 316 */
mbed_official 573:ad23fe03a082 317 #define LTDC_STOPPOSITION (LTDC_LxWHPCR_WHSPPOS >> 16) /*!< LTDC Layer stop position */
mbed_official 573:ad23fe03a082 318 #define LTDC_STARTPOSITION LTDC_LxWHPCR_WHSTPOS /*!< LTDC Layer start position */
mbed_official 573:ad23fe03a082 319
mbed_official 573:ad23fe03a082 320 #define LTDC_COLOR_FRAME_BUFFER LTDC_LxCFBLR_CFBLL /*!< LTDC Layer Line length */
mbed_official 573:ad23fe03a082 321 #define LTDC_LINE_NUMBER LTDC_LxCFBLNR_CFBLNBR /*!< LTDC Layer Line number */
mbed_official 573:ad23fe03a082 322 /**
mbed_official 573:ad23fe03a082 323 * @}
mbed_official 573:ad23fe03a082 324 */
mbed_official 573:ad23fe03a082 325
mbed_official 573:ad23fe03a082 326 /** @defgroup LTDC_Interrupts LTDC Interrupts
mbed_official 573:ad23fe03a082 327 * @{
mbed_official 573:ad23fe03a082 328 */
mbed_official 573:ad23fe03a082 329 #define LTDC_IT_LI LTDC_IER_LIE
mbed_official 573:ad23fe03a082 330 #define LTDC_IT_FU LTDC_IER_FUIE
mbed_official 573:ad23fe03a082 331 #define LTDC_IT_TE LTDC_IER_TERRIE
mbed_official 573:ad23fe03a082 332 #define LTDC_IT_RR LTDC_IER_RRIE
mbed_official 573:ad23fe03a082 333 /**
mbed_official 573:ad23fe03a082 334 * @}
mbed_official 573:ad23fe03a082 335 */
mbed_official 573:ad23fe03a082 336
mbed_official 573:ad23fe03a082 337 /** @defgroup LTDC_Flag LTDC Flag
mbed_official 573:ad23fe03a082 338 * @{
mbed_official 573:ad23fe03a082 339 */
mbed_official 573:ad23fe03a082 340 #define LTDC_FLAG_LI LTDC_ISR_LIF
mbed_official 573:ad23fe03a082 341 #define LTDC_FLAG_FU LTDC_ISR_FUIF
mbed_official 573:ad23fe03a082 342 #define LTDC_FLAG_TE LTDC_ISR_TERRIF
mbed_official 573:ad23fe03a082 343 #define LTDC_FLAG_RR LTDC_ISR_RRIF
mbed_official 573:ad23fe03a082 344 /**
mbed_official 573:ad23fe03a082 345 * @}
mbed_official 573:ad23fe03a082 346 */
mbed_official 573:ad23fe03a082 347
mbed_official 573:ad23fe03a082 348 /**
mbed_official 573:ad23fe03a082 349 * @}
mbed_official 573:ad23fe03a082 350 */
mbed_official 573:ad23fe03a082 351
mbed_official 573:ad23fe03a082 352 /* Exported macro ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 353 /** @defgroup LTDC_Exported_Macros LTDC Exported Macros
mbed_official 573:ad23fe03a082 354 * @{
mbed_official 573:ad23fe03a082 355 */
mbed_official 573:ad23fe03a082 356
mbed_official 573:ad23fe03a082 357 /** @brief Reset LTDC handle state
mbed_official 573:ad23fe03a082 358 * @param __HANDLE__: specifies the LTDC handle.
mbed_official 573:ad23fe03a082 359 * @retval None
mbed_official 573:ad23fe03a082 360 */
mbed_official 573:ad23fe03a082 361 #define __HAL_LTDC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_LTDC_STATE_RESET)
mbed_official 573:ad23fe03a082 362
mbed_official 573:ad23fe03a082 363 /**
mbed_official 573:ad23fe03a082 364 * @brief Enable the LTDC.
mbed_official 573:ad23fe03a082 365 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 366 * @retval None.
mbed_official 573:ad23fe03a082 367 */
mbed_official 573:ad23fe03a082 368 #define __HAL_LTDC_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->GCR |= LTDC_GCR_LTDCEN)
mbed_official 573:ad23fe03a082 369
mbed_official 573:ad23fe03a082 370 /**
mbed_official 573:ad23fe03a082 371 * @brief Disable the LTDC.
mbed_official 573:ad23fe03a082 372 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 373 * @retval None.
mbed_official 573:ad23fe03a082 374 */
mbed_official 573:ad23fe03a082 375 #define __HAL_LTDC_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->GCR &= ~(LTDC_GCR_LTDCEN))
mbed_official 573:ad23fe03a082 376
mbed_official 573:ad23fe03a082 377 /**
mbed_official 573:ad23fe03a082 378 * @brief Enable the LTDC Layer.
mbed_official 573:ad23fe03a082 379 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 380 * @param __LAYER__: Specify the layer to be enabled
mbed_official 573:ad23fe03a082 381 * This parameter can be 0 or 1
mbed_official 573:ad23fe03a082 382 * @retval None.
mbed_official 573:ad23fe03a082 383 */
mbed_official 573:ad23fe03a082 384 #define __HAL_LTDC_LAYER_ENABLE(__HANDLE__, __LAYER__) ((LTDC_LAYER((__HANDLE__), (__LAYER__)))->CR |= (uint32_t)LTDC_LxCR_LEN)
mbed_official 573:ad23fe03a082 385
mbed_official 573:ad23fe03a082 386 /**
mbed_official 573:ad23fe03a082 387 * @brief Disable the LTDC Layer.
mbed_official 573:ad23fe03a082 388 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 389 * @param __LAYER__: Specify the layer to be disabled
mbed_official 573:ad23fe03a082 390 * This parameter can be 0 or 1
mbed_official 573:ad23fe03a082 391 * @retval None.
mbed_official 573:ad23fe03a082 392 */
mbed_official 573:ad23fe03a082 393 #define __HAL_LTDC_LAYER_DISABLE(__HANDLE__, __LAYER__) ((LTDC_LAYER((__HANDLE__), (__LAYER__)))->CR &= ~(uint32_t)LTDC_LxCR_LEN)
mbed_official 573:ad23fe03a082 394
mbed_official 573:ad23fe03a082 395 /**
mbed_official 573:ad23fe03a082 396 * @brief Reload Layer Configuration.
mbed_official 573:ad23fe03a082 397 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 398 * @retval None.
mbed_official 573:ad23fe03a082 399 */
mbed_official 573:ad23fe03a082 400 #define __HAL_LTDC_RELOAD_CONFIG(__HANDLE__) ((__HANDLE__)->Instance->SRCR |= LTDC_SRCR_IMR)
mbed_official 573:ad23fe03a082 401
mbed_official 573:ad23fe03a082 402 /* Interrupt & Flag management */
mbed_official 573:ad23fe03a082 403 /**
mbed_official 573:ad23fe03a082 404 * @brief Get the LTDC pending flags.
mbed_official 573:ad23fe03a082 405 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 406 * @param __FLAG__: Get the specified flag.
mbed_official 573:ad23fe03a082 407 * This parameter can be any combination of the following values:
mbed_official 573:ad23fe03a082 408 * @arg LTDC_FLAG_LI: Line Interrupt flag
mbed_official 573:ad23fe03a082 409 * @arg LTDC_FLAG_FU: FIFO Underrun Interrupt flag
mbed_official 573:ad23fe03a082 410 * @arg LTDC_FLAG_TE: Transfer Error interrupt flag
mbed_official 573:ad23fe03a082 411 * @arg LTDC_FLAG_RR: Register Reload Interrupt Flag
mbed_official 573:ad23fe03a082 412 * @retval The state of FLAG (SET or RESET).
mbed_official 573:ad23fe03a082 413 */
mbed_official 573:ad23fe03a082 414 #define __HAL_LTDC_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR & (__FLAG__))
mbed_official 573:ad23fe03a082 415
mbed_official 573:ad23fe03a082 416 /**
mbed_official 573:ad23fe03a082 417 * @brief Clears the LTDC pending flags.
mbed_official 573:ad23fe03a082 418 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 419 * @param __FLAG__: specifies the flag to clear.
mbed_official 573:ad23fe03a082 420 * This parameter can be any combination of the following values:
mbed_official 573:ad23fe03a082 421 * @arg LTDC_FLAG_LI: Line Interrupt flag
mbed_official 573:ad23fe03a082 422 * @arg LTDC_FLAG_FU: FIFO Underrun Interrupt flag
mbed_official 573:ad23fe03a082 423 * @arg LTDC_FLAG_TE: Transfer Error interrupt flag
mbed_official 573:ad23fe03a082 424 * @arg LTDC_FLAG_RR: Register Reload Interrupt Flag
mbed_official 573:ad23fe03a082 425 * @retval None
mbed_official 573:ad23fe03a082 426 */
mbed_official 573:ad23fe03a082 427 #define __HAL_LTDC_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__))
mbed_official 573:ad23fe03a082 428
mbed_official 573:ad23fe03a082 429 /**
mbed_official 573:ad23fe03a082 430 * @brief Enables the specified LTDC interrupts.
mbed_official 573:ad23fe03a082 431 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 432 * @param __INTERRUPT__: specifies the LTDC interrupt sources to be enabled.
mbed_official 573:ad23fe03a082 433 * This parameter can be any combination of the following values:
mbed_official 573:ad23fe03a082 434 * @arg LTDC_IT_LI: Line Interrupt flag
mbed_official 573:ad23fe03a082 435 * @arg LTDC_IT_FU: FIFO Underrun Interrupt flag
mbed_official 573:ad23fe03a082 436 * @arg LTDC_IT_TE: Transfer Error interrupt flag
mbed_official 573:ad23fe03a082 437 * @arg LTDC_IT_RR: Register Reload Interrupt Flag
mbed_official 573:ad23fe03a082 438 * @retval None
mbed_official 573:ad23fe03a082 439 */
mbed_official 573:ad23fe03a082 440 #define __HAL_LTDC_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__))
mbed_official 573:ad23fe03a082 441
mbed_official 573:ad23fe03a082 442 /**
mbed_official 573:ad23fe03a082 443 * @brief Disables the specified LTDC interrupts.
mbed_official 573:ad23fe03a082 444 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 445 * @param __INTERRUPT__: specifies the LTDC interrupt sources to be disabled.
mbed_official 573:ad23fe03a082 446 * This parameter can be any combination of the following values:
mbed_official 573:ad23fe03a082 447 * @arg LTDC_IT_LI: Line Interrupt flag
mbed_official 573:ad23fe03a082 448 * @arg LTDC_IT_FU: FIFO Underrun Interrupt flag
mbed_official 573:ad23fe03a082 449 * @arg LTDC_IT_TE: Transfer Error interrupt flag
mbed_official 573:ad23fe03a082 450 * @arg LTDC_IT_RR: Register Reload Interrupt Flag
mbed_official 573:ad23fe03a082 451 * @retval None
mbed_official 573:ad23fe03a082 452 */
mbed_official 573:ad23fe03a082 453 #define __HAL_LTDC_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= ~(__INTERRUPT__))
mbed_official 573:ad23fe03a082 454
mbed_official 573:ad23fe03a082 455 /**
mbed_official 573:ad23fe03a082 456 * @brief Checks whether the specified LTDC interrupt has occurred or not.
mbed_official 573:ad23fe03a082 457 * @param __HANDLE__: LTDC handle
mbed_official 573:ad23fe03a082 458 * @param __INTERRUPT__: specifies the LTDC interrupt source to check.
mbed_official 573:ad23fe03a082 459 * This parameter can be one of the following values:
mbed_official 573:ad23fe03a082 460 * @arg LTDC_IT_LI: Line Interrupt flag
mbed_official 573:ad23fe03a082 461 * @arg LTDC_IT_FU: FIFO Underrun Interrupt flag
mbed_official 573:ad23fe03a082 462 * @arg LTDC_IT_TE: Transfer Error interrupt flag
mbed_official 573:ad23fe03a082 463 * @arg LTDC_IT_RR: Register Reload Interrupt Flag
mbed_official 573:ad23fe03a082 464 * @retval The state of INTERRUPT (SET or RESET).
mbed_official 573:ad23fe03a082 465 */
mbed_official 573:ad23fe03a082 466 #define __HAL_LTDC_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->ISR & (__INTERRUPT__))
mbed_official 573:ad23fe03a082 467 /**
mbed_official 573:ad23fe03a082 468 * @}
mbed_official 573:ad23fe03a082 469 */
mbed_official 573:ad23fe03a082 470
mbed_official 573:ad23fe03a082 471 /* Exported functions --------------------------------------------------------*/
mbed_official 573:ad23fe03a082 472 /** @addtogroup LTDC_Exported_Functions
mbed_official 573:ad23fe03a082 473 * @{
mbed_official 573:ad23fe03a082 474 */
mbed_official 573:ad23fe03a082 475 /** @addtogroup LTDC_Exported_Functions_Group1
mbed_official 573:ad23fe03a082 476 * @{
mbed_official 573:ad23fe03a082 477 */
mbed_official 573:ad23fe03a082 478 /* Initialization and de-initialization functions *****************************/
mbed_official 573:ad23fe03a082 479 HAL_StatusTypeDef HAL_LTDC_Init(LTDC_HandleTypeDef *hltdc);
mbed_official 573:ad23fe03a082 480 HAL_StatusTypeDef HAL_LTDC_DeInit(LTDC_HandleTypeDef *hltdc);
mbed_official 573:ad23fe03a082 481 void HAL_LTDC_MspInit(LTDC_HandleTypeDef* hltdc);
mbed_official 573:ad23fe03a082 482 void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc);
mbed_official 573:ad23fe03a082 483 void HAL_LTDC_ErrorCallback(LTDC_HandleTypeDef *hltdc);
mbed_official 573:ad23fe03a082 484 void HAL_LTDC_LineEvenCallback(LTDC_HandleTypeDef *hltdc);
mbed_official 573:ad23fe03a082 485 /**
mbed_official 573:ad23fe03a082 486 * @}
mbed_official 573:ad23fe03a082 487 */
mbed_official 573:ad23fe03a082 488
mbed_official 573:ad23fe03a082 489 /** @addtogroup LTDC_Exported_Functions_Group2
mbed_official 573:ad23fe03a082 490 * @{
mbed_official 573:ad23fe03a082 491 */
mbed_official 573:ad23fe03a082 492 /* IO operation functions *****************************************************/
mbed_official 573:ad23fe03a082 493 void HAL_LTDC_IRQHandler(LTDC_HandleTypeDef *hltdc);
mbed_official 573:ad23fe03a082 494 /**
mbed_official 573:ad23fe03a082 495 * @}
mbed_official 573:ad23fe03a082 496 */
mbed_official 573:ad23fe03a082 497
mbed_official 573:ad23fe03a082 498 /** @addtogroup LTDC_Exported_Functions_Group3
mbed_official 573:ad23fe03a082 499 * @{
mbed_official 573:ad23fe03a082 500 */
mbed_official 573:ad23fe03a082 501 /* Peripheral Control functions ***********************************************/
mbed_official 573:ad23fe03a082 502 HAL_StatusTypeDef HAL_LTDC_ConfigLayer(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 503 HAL_StatusTypeDef HAL_LTDC_SetWindowSize(LTDC_HandleTypeDef *hltdc, uint32_t XSize, uint32_t YSize, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 504 HAL_StatusTypeDef HAL_LTDC_SetWindowPosition(LTDC_HandleTypeDef *hltdc, uint32_t X0, uint32_t Y0, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 505 HAL_StatusTypeDef HAL_LTDC_SetPixelFormat(LTDC_HandleTypeDef *hltdc, uint32_t Pixelformat, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 506 HAL_StatusTypeDef HAL_LTDC_SetAlpha(LTDC_HandleTypeDef *hltdc, uint32_t Alpha, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 507 HAL_StatusTypeDef HAL_LTDC_SetAddress(LTDC_HandleTypeDef *hltdc, uint32_t Address, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 508 HAL_StatusTypeDef HAL_LTDC_ConfigColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t RGBValue, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 509 HAL_StatusTypeDef HAL_LTDC_ConfigCLUT(LTDC_HandleTypeDef *hltdc, uint32_t *pCLUT, uint32_t CLUTSize, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 510 HAL_StatusTypeDef HAL_LTDC_EnableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 511 HAL_StatusTypeDef HAL_LTDC_DisableColorKeying(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 512 HAL_StatusTypeDef HAL_LTDC_EnableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 513 HAL_StatusTypeDef HAL_LTDC_DisableCLUT(LTDC_HandleTypeDef *hltdc, uint32_t LayerIdx);
mbed_official 573:ad23fe03a082 514 HAL_StatusTypeDef HAL_LTDC_ProgramLineEvent(LTDC_HandleTypeDef *hltdc, uint32_t Line);
mbed_official 573:ad23fe03a082 515 HAL_StatusTypeDef HAL_LTDC_EnableDither(LTDC_HandleTypeDef *hltdc);
mbed_official 573:ad23fe03a082 516 HAL_StatusTypeDef HAL_LTDC_DisableDither(LTDC_HandleTypeDef *hltdc);
mbed_official 573:ad23fe03a082 517 /**
mbed_official 573:ad23fe03a082 518 * @}
mbed_official 573:ad23fe03a082 519 */
mbed_official 573:ad23fe03a082 520
mbed_official 573:ad23fe03a082 521 /** @addtogroup LTDC_Exported_Functions_Group4
mbed_official 573:ad23fe03a082 522 * @{
mbed_official 573:ad23fe03a082 523 */
mbed_official 573:ad23fe03a082 524 /* Peripheral State functions *************************************************/
mbed_official 573:ad23fe03a082 525 HAL_LTDC_StateTypeDef HAL_LTDC_GetState(LTDC_HandleTypeDef *hltdc);
mbed_official 573:ad23fe03a082 526 uint32_t HAL_LTDC_GetError(LTDC_HandleTypeDef *hltdc);
mbed_official 573:ad23fe03a082 527 /**
mbed_official 573:ad23fe03a082 528 * @}
mbed_official 573:ad23fe03a082 529 */
mbed_official 573:ad23fe03a082 530
mbed_official 573:ad23fe03a082 531 /**
mbed_official 573:ad23fe03a082 532 * @}
mbed_official 573:ad23fe03a082 533 */
mbed_official 573:ad23fe03a082 534 /* Private types -------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 535 /** @defgroup LTDC_Private_Types LTDC Private Types
mbed_official 573:ad23fe03a082 536 * @{
mbed_official 573:ad23fe03a082 537 */
mbed_official 573:ad23fe03a082 538
mbed_official 573:ad23fe03a082 539 /**
mbed_official 573:ad23fe03a082 540 * @}
mbed_official 573:ad23fe03a082 541 */
mbed_official 573:ad23fe03a082 542
mbed_official 573:ad23fe03a082 543 /* Private variables ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 544 /** @defgroup LTDC_Private_Variables LTDC Private Variables
mbed_official 573:ad23fe03a082 545 * @{
mbed_official 573:ad23fe03a082 546 */
mbed_official 573:ad23fe03a082 547
mbed_official 573:ad23fe03a082 548 /**
mbed_official 573:ad23fe03a082 549 * @}
mbed_official 573:ad23fe03a082 550 */
mbed_official 573:ad23fe03a082 551
mbed_official 573:ad23fe03a082 552 /* Private constants ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 553 /** @defgroup LTDC_Private_Constants LTDC Private Constants
mbed_official 573:ad23fe03a082 554 * @{
mbed_official 573:ad23fe03a082 555 */
mbed_official 573:ad23fe03a082 556
mbed_official 573:ad23fe03a082 557 /**
mbed_official 573:ad23fe03a082 558 * @}
mbed_official 573:ad23fe03a082 559 */
mbed_official 573:ad23fe03a082 560
mbed_official 573:ad23fe03a082 561 /* Private macros ------------------------------------------------------------*/
mbed_official 573:ad23fe03a082 562 /** @defgroup LTDC_Private_Macros LTDC Private Macros
mbed_official 573:ad23fe03a082 563 * @{
mbed_official 573:ad23fe03a082 564 */
mbed_official 573:ad23fe03a082 565 #define LTDC_LAYER(__HANDLE__, __LAYER__) ((LTDC_Layer_TypeDef *)((uint32_t)(((uint32_t)((__HANDLE__)->Instance)) + 0x84 + (0x80*(__LAYER__)))))
mbed_official 573:ad23fe03a082 566 #define IS_LTDC_LAYER(LAYER) ((LAYER) <= MAX_LAYER)
mbed_official 573:ad23fe03a082 567 #define IS_LTDC_HSPOL(HSPOL) (((HSPOL) == LTDC_HSPOLARITY_AL) || \
mbed_official 573:ad23fe03a082 568 ((HSPOL) == LTDC_HSPOLARITY_AH))
mbed_official 573:ad23fe03a082 569 #define IS_LTDC_VSPOL(VSPOL) (((VSPOL) == LTDC_VSPOLARITY_AL) || \
mbed_official 573:ad23fe03a082 570 ((VSPOL) == LTDC_VSPOLARITY_AH))
mbed_official 573:ad23fe03a082 571 #define IS_LTDC_DEPOL(DEPOL) (((DEPOL) == LTDC_DEPOLARITY_AL) || \
mbed_official 573:ad23fe03a082 572 ((DEPOL) == LTDC_DEPOLARITY_AH))
mbed_official 573:ad23fe03a082 573 #define IS_LTDC_PCPOL(PCPOL) (((PCPOL) == LTDC_PCPOLARITY_IPC) || \
mbed_official 573:ad23fe03a082 574 ((PCPOL) == LTDC_PCPOLARITY_IIPC))
mbed_official 573:ad23fe03a082 575 #define IS_LTDC_HSYNC(HSYNC) ((HSYNC) <= LTDC_HORIZONTALSYNC)
mbed_official 573:ad23fe03a082 576 #define IS_LTDC_VSYNC(VSYNC) ((VSYNC) <= LTDC_VERTICALSYNC)
mbed_official 573:ad23fe03a082 577 #define IS_LTDC_AHBP(AHBP) ((AHBP) <= LTDC_HORIZONTALSYNC)
mbed_official 573:ad23fe03a082 578 #define IS_LTDC_AVBP(AVBP) ((AVBP) <= LTDC_VERTICALSYNC)
mbed_official 573:ad23fe03a082 579 #define IS_LTDC_AAW(AAW) ((AAW) <= LTDC_HORIZONTALSYNC)
mbed_official 573:ad23fe03a082 580 #define IS_LTDC_AAH(AAH) ((AAH) <= LTDC_VERTICALSYNC)
mbed_official 573:ad23fe03a082 581 #define IS_LTDC_TOTALW(TOTALW) ((TOTALW) <= LTDC_HORIZONTALSYNC)
mbed_official 573:ad23fe03a082 582 #define IS_LTDC_TOTALH(TOTALH) ((TOTALH) <= LTDC_VERTICALSYNC)
mbed_official 573:ad23fe03a082 583 #define IS_LTDC_BLUEVALUE(BBLUE) ((BBLUE) <= LTDC_COLOR)
mbed_official 573:ad23fe03a082 584 #define IS_LTDC_GREENVALUE(BGREEN) ((BGREEN) <= LTDC_COLOR)
mbed_official 573:ad23fe03a082 585 #define IS_LTDC_REDVALUE(BRED) ((BRED) <= LTDC_COLOR)
mbed_official 573:ad23fe03a082 586 #define IS_LTDC_BLENDING_FACTOR1(BlendingFactor1) (((BlendingFactor1) == LTDC_BLENDING_FACTOR1_CA) || \
mbed_official 573:ad23fe03a082 587 ((BlendingFactor1) == LTDC_BLENDING_FACTOR1_PAxCA))
mbed_official 573:ad23fe03a082 588 #define IS_LTDC_BLENDING_FACTOR2(BlendingFactor2) (((BlendingFactor2) == LTDC_BLENDING_FACTOR2_CA) || \
mbed_official 573:ad23fe03a082 589 ((BlendingFactor2) == LTDC_BLENDING_FACTOR2_PAxCA))
mbed_official 573:ad23fe03a082 590 #define IS_LTDC_PIXEL_FORMAT(Pixelformat) (((Pixelformat) == LTDC_PIXEL_FORMAT_ARGB8888) || ((Pixelformat) == LTDC_PIXEL_FORMAT_RGB888) || \
mbed_official 573:ad23fe03a082 591 ((Pixelformat) == LTDC_PIXEL_FORMAT_RGB565) || ((Pixelformat) == LTDC_PIXEL_FORMAT_ARGB1555) || \
mbed_official 573:ad23fe03a082 592 ((Pixelformat) == LTDC_PIXEL_FORMAT_ARGB4444) || ((Pixelformat) == LTDC_PIXEL_FORMAT_L8) || \
mbed_official 573:ad23fe03a082 593 ((Pixelformat) == LTDC_PIXEL_FORMAT_AL44) || ((Pixelformat) == LTDC_PIXEL_FORMAT_AL88))
mbed_official 573:ad23fe03a082 594 #define IS_LTDC_ALPHA(ALPHA) ((ALPHA) <= LTDC_ALPHA)
mbed_official 573:ad23fe03a082 595 #define IS_LTDC_HCONFIGST(HCONFIGST) ((HCONFIGST) <= LTDC_STARTPOSITION)
mbed_official 573:ad23fe03a082 596 #define IS_LTDC_HCONFIGSP(HCONFIGSP) ((HCONFIGSP) <= LTDC_STOPPOSITION)
mbed_official 573:ad23fe03a082 597 #define IS_LTDC_VCONFIGST(VCONFIGST) ((VCONFIGST) <= LTDC_STARTPOSITION)
mbed_official 573:ad23fe03a082 598 #define IS_LTDC_VCONFIGSP(VCONFIGSP) ((VCONFIGSP) <= LTDC_STOPPOSITION)
mbed_official 573:ad23fe03a082 599 #define IS_LTDC_CFBP(CFBP) ((CFBP) <= LTDC_COLOR_FRAME_BUFFER)
mbed_official 573:ad23fe03a082 600 #define IS_LTDC_CFBLL(CFBLL) ((CFBLL) <= LTDC_COLOR_FRAME_BUFFER)
mbed_official 573:ad23fe03a082 601 #define IS_LTDC_CFBLNBR(CFBLNBR) ((CFBLNBR) <= LTDC_LINE_NUMBER)
mbed_official 573:ad23fe03a082 602 #define IS_LTDC_LIPOS(LIPOS) ((LIPOS) <= 0x7FF)
mbed_official 573:ad23fe03a082 603 /**
mbed_official 573:ad23fe03a082 604 * @}
mbed_official 573:ad23fe03a082 605 */
mbed_official 573:ad23fe03a082 606
mbed_official 573:ad23fe03a082 607 /* Private functions ---------------------------------------------------------*/
mbed_official 573:ad23fe03a082 608 /** @defgroup LTDC_Private_Functions LTDC Private Functions
mbed_official 573:ad23fe03a082 609 * @{
mbed_official 573:ad23fe03a082 610 */
mbed_official 573:ad23fe03a082 611
mbed_official 573:ad23fe03a082 612 /**
mbed_official 573:ad23fe03a082 613 * @}
mbed_official 573:ad23fe03a082 614 */
mbed_official 573:ad23fe03a082 615
mbed_official 573:ad23fe03a082 616 /**
mbed_official 573:ad23fe03a082 617 * @}
mbed_official 573:ad23fe03a082 618 */
mbed_official 573:ad23fe03a082 619 #endif /* STM32F756xx || STM32F746xx */
mbed_official 573:ad23fe03a082 620 /**
mbed_official 573:ad23fe03a082 621 * @}
mbed_official 573:ad23fe03a082 622 */
mbed_official 573:ad23fe03a082 623
mbed_official 573:ad23fe03a082 624 #ifdef __cplusplus
mbed_official 573:ad23fe03a082 625 }
mbed_official 573:ad23fe03a082 626 #endif
mbed_official 573:ad23fe03a082 627
mbed_official 573:ad23fe03a082 628 #endif /* __STM32F7xx_HAL_LTDC_H */
mbed_official 573:ad23fe03a082 629
mbed_official 573:ad23fe03a082 630 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/