STM32L443xx HAL User Manual
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l4xx_ll_dma2d.h 00004 * @author MCD Application Team 00005 * @brief Header file of DMA2D LL module. 00006 ****************************************************************************** 00007 * @attention 00008 * 00009 * Copyright (c) 2017 STMicroelectronics. 00010 * All rights reserved. 00011 * 00012 * This software is licensed under terms that can be found in the LICENSE file 00013 * in the root directory of this software component. 00014 * If no LICENSE file comes with this software, it is provided AS-IS. 00015 * 00016 ****************************************************************************** 00017 */ 00018 00019 /* Define to prevent recursive inclusion -------------------------------------*/ 00020 #ifndef STM32L4xx_LL_DMA2D_H 00021 #define STM32L4xx_LL_DMA2D_H 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 /* Includes ------------------------------------------------------------------*/ 00028 #include "stm32l4xx.h" 00029 00030 /** @addtogroup STM32L4xx_LL_Driver 00031 * @{ 00032 */ 00033 00034 #if defined (DMA2D) 00035 00036 /** @defgroup DMA2D_LL DMA2D 00037 * @{ 00038 */ 00039 00040 /* Private types -------------------------------------------------------------*/ 00041 /* Private variables ---------------------------------------------------------*/ 00042 /* Private constants ---------------------------------------------------------*/ 00043 /* Private macros ------------------------------------------------------------*/ 00044 #if defined(USE_FULL_LL_DRIVER) 00045 /** @defgroup DMA2D_LL_Private_Macros DMA2D Private Macros 00046 * @{ 00047 */ 00048 00049 /** 00050 * @} 00051 */ 00052 #endif /*USE_FULL_LL_DRIVER*/ 00053 00054 /* Exported types ------------------------------------------------------------*/ 00055 #if defined(USE_FULL_LL_DRIVER) 00056 /** @defgroup DMA2D_LL_ES_Init_Struct DMA2D Exported Init structures 00057 * @{ 00058 */ 00059 00060 /** 00061 * @brief LL DMA2D Init Structure Definition 00062 */ 00063 typedef struct 00064 { 00065 uint32_t Mode; /*!< Specifies the DMA2D transfer mode. 00066 - This parameter can be one value of @ref DMA2D_LL_EC_MODE. 00067 00068 This parameter can be modified afterwards, 00069 using unitary function @ref LL_DMA2D_SetMode(). */ 00070 00071 uint32_t ColorMode; /*!< Specifies the color format of the output image. 00072 - This parameter can be one value of @ref DMA2D_LL_EC_OUTPUT_COLOR_MODE. 00073 00074 This parameter can be modified afterwards using, 00075 unitary function @ref LL_DMA2D_SetOutputColorMode(). */ 00076 00077 uint32_t OutputBlue; /*!< Specifies the Blue value of the output image. 00078 - This parameter must be a number between: 00079 Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected. 00080 - This parameter must be a number between: 00081 Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected. 00082 - This parameter must be a number between: 00083 Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected. 00084 - This parameter must be a number between: 00085 Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected. 00086 - This parameter must be a number between: 00087 Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected. 00088 00089 This parameter can be modified afterwards, 00090 using unitary function @ref LL_DMA2D_SetOutputColor() or configuration 00091 function @ref LL_DMA2D_ConfigOutputColor(). */ 00092 00093 uint32_t OutputGreen; /*!< Specifies the Green value of the output image. 00094 - This parameter must be a number between: 00095 Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected. 00096 - This parameter must be a number between: 00097 Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected. 00098 - This parameter must be a number between: 00099 Min_Data = 0x00 and Max_Data = 0x3F if RGB565 color mode is selected. 00100 - This parameter must be a number between: 00101 Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected. 00102 - This parameter must be a number between: 00103 Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected. 00104 00105 This parameter can be modified afterwards 00106 using unitary function @ref LL_DMA2D_SetOutputColor() or configuration 00107 function @ref LL_DMA2D_ConfigOutputColor(). */ 00108 00109 uint32_t OutputRed; /*!< Specifies the Red value of the output image. 00110 - This parameter must be a number between: 00111 Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected. 00112 - This parameter must be a number between: 00113 Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected. 00114 - This parameter must be a number between: 00115 Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected. 00116 - This parameter must be a number between: 00117 Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected. 00118 - This parameter must be a number between: 00119 Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected. 00120 00121 This parameter can be modified afterwards 00122 using unitary function @ref LL_DMA2D_SetOutputColor() or configuration 00123 function @ref LL_DMA2D_ConfigOutputColor(). */ 00124 00125 uint32_t OutputAlpha; /*!< Specifies the Alpha channel of the output image. 00126 - This parameter must be a number between: 00127 Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected. 00128 - This parameter must be a number between: 00129 Min_Data = 0x00 and Max_Data = 0x01 if ARGB1555 color mode is selected. 00130 - This parameter must be a number between: 00131 Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected. 00132 - This parameter is not considered if RGB888 or RGB565 color mode is selected. 00133 00134 This parameter can be modified afterwards using, 00135 unitary function @ref LL_DMA2D_SetOutputColor() or configuration 00136 function @ref LL_DMA2D_ConfigOutputColor(). */ 00137 00138 uint32_t OutputMemoryAddress; /*!< Specifies the memory address. 00139 - This parameter must be a number between: 00140 Min_Data = 0x0000 and Max_Data = 0xFFFFFFFF. 00141 00142 This parameter can be modified afterwards, 00143 using unitary function @ref LL_DMA2D_SetOutputMemAddr(). */ 00144 00145 #if defined(DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT) 00146 uint32_t OutputSwapMode; /*!< Specifies the output swap mode color format of the output image. 00147 - This parameter can be one value of @ref DMA2D_LL_EC_OUTPUT_SWAP_MODE. 00148 00149 This parameter can be modified afterwards, 00150 using unitary function @ref LL_DMA2D_SetOutputSwapMode(). */ 00151 #endif /* DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT */ 00152 00153 #if defined(DMA2D_LINE_OFFSET_MODE_SUPPORT) 00154 uint32_t LineOffsetMode; /*!< Specifies the output line offset mode. 00155 - This parameter can be one value of @ref DMA2D_LL_EC_LINE_OFFSET_MODE. 00156 00157 This parameter can be modified afterwards, 00158 using unitary function @ref LL_DMA2D_SetLineOffsetMode(). */ 00159 #endif /* DMA2D_LINE_OFFSET_MODE_SUPPORT */ 00160 00161 uint32_t LineOffset; /*!< Specifies the output line offset value. 00162 - This parameter must be a number between: 00163 Min_Data = 0x0000 and Max_Data = 0x3FFF on devices 00164 where the Line Offset Mode feature is available. 00165 else between Min_Data = 0x0000 and Max_Data = 0xFFFF on other devices. 00166 00167 This parameter can be modified afterwards, 00168 using unitary function @ref LL_DMA2D_SetLineOffset(). */ 00169 00170 uint32_t NbrOfLines; /*!< Specifies the number of lines of the area to be transferred. 00171 - This parameter must be a number between: 00172 Min_Data = 0x0000 and Max_Data = 0xFFFF. 00173 00174 This parameter can be modified afterwards, 00175 using unitary function @ref LL_DMA2D_SetNbrOfLines(). */ 00176 00177 uint32_t NbrOfPixelsPerLines; /*!< Specifies the number of pixels per lines of the area to be transferred. 00178 - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x3FFF. 00179 00180 This parameter can be modified afterwards using, 00181 unitary function @ref LL_DMA2D_SetNbrOfPixelsPerLines(). */ 00182 00183 uint32_t AlphaInversionMode; /*!< Specifies the output alpha inversion mode. 00184 - This parameter can be one value of @ref DMA2D_LL_EC_ALPHA_INVERSION. 00185 00186 This parameter can be modified afterwards, 00187 using unitary function @ref LL_DMA2D_SetOutputAlphaInvMode(). */ 00188 00189 uint32_t RBSwapMode; /*!< Specifies the output Red Blue swap mode. 00190 - This parameter can be one value of @ref DMA2D_LL_EC_RED_BLUE_SWAP. 00191 00192 This parameter can be modified afterwards, 00193 using unitary function @ref LL_DMA2D_SetOutputRBSwapMode(). */ 00194 00195 } LL_DMA2D_InitTypeDef; 00196 00197 /** 00198 * @brief LL DMA2D Layer Configuration Structure Definition 00199 */ 00200 typedef struct 00201 { 00202 uint32_t MemoryAddress; /*!< Specifies the foreground or background memory address. 00203 - This parameter must be a number between: 00204 Min_Data = 0x0000 and Max_Data = 0xFFFFFFFF. 00205 00206 This parameter can be modified afterwards using unitary functions 00207 - @ref LL_DMA2D_FGND_SetMemAddr() for foreground layer, 00208 - @ref LL_DMA2D_BGND_SetMemAddr() for background layer. */ 00209 00210 uint32_t LineOffset; /*!< Specifies the foreground or background line offset value. 00211 - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x3FFF. 00212 00213 This parameter can be modified afterwards using unitary functions 00214 - @ref LL_DMA2D_FGND_SetLineOffset() for foreground layer, 00215 - @ref LL_DMA2D_BGND_SetLineOffset() for background layer. */ 00216 00217 uint32_t ColorMode; /*!< Specifies the foreground or background color mode. 00218 - This parameter can be one value of @ref DMA2D_LL_EC_INPUT_COLOR_MODE. 00219 00220 This parameter can be modified afterwards using unitary functions 00221 - @ref LL_DMA2D_FGND_SetColorMode() for foreground layer, 00222 - @ref LL_DMA2D_BGND_SetColorMode() for background layer. */ 00223 00224 uint32_t CLUTColorMode; /*!< Specifies the foreground or background CLUT color mode. 00225 - This parameter can be one value of @ref DMA2D_LL_EC_CLUT_COLOR_MODE. 00226 00227 This parameter can be modified afterwards using unitary functions 00228 - @ref LL_DMA2D_FGND_SetCLUTColorMode() for foreground layer, 00229 - @ref LL_DMA2D_BGND_SetCLUTColorMode() for background layer. */ 00230 00231 uint32_t CLUTSize; /*!< Specifies the foreground or background CLUT size. 00232 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. 00233 00234 This parameter can be modified afterwards using unitary functions 00235 - @ref LL_DMA2D_FGND_SetCLUTSize() for foreground layer, 00236 - @ref LL_DMA2D_BGND_SetCLUTSize() for background layer. */ 00237 00238 uint32_t AlphaMode; /*!< Specifies the foreground or background alpha mode. 00239 - This parameter can be one value of @ref DMA2D_LL_EC_ALPHA_MODE. 00240 00241 This parameter can be modified afterwards using unitary functions 00242 - @ref LL_DMA2D_FGND_SetAlphaMode() for foreground layer, 00243 - @ref LL_DMA2D_BGND_SetAlphaMode() for background layer. */ 00244 00245 uint32_t Alpha; /*!< Specifies the foreground or background Alpha value. 00246 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. 00247 00248 This parameter can be modified afterwards using unitary functions 00249 - @ref LL_DMA2D_FGND_SetAlpha() for foreground layer, 00250 - @ref LL_DMA2D_BGND_SetAlpha() for background layer. */ 00251 00252 uint32_t Blue; /*!< Specifies the foreground or background Blue color value. 00253 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. 00254 00255 This parameter can be modified afterwards using unitary functions 00256 - @ref LL_DMA2D_FGND_SetBlueColor() for foreground layer, 00257 - @ref LL_DMA2D_BGND_SetBlueColor() for background layer. */ 00258 00259 uint32_t Green; /*!< Specifies the foreground or background Green color value. 00260 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. 00261 00262 This parameter can be modified afterwards using unitary functions 00263 - @ref LL_DMA2D_FGND_SetGreenColor() for foreground layer, 00264 - @ref LL_DMA2D_BGND_SetGreenColor() for background layer. */ 00265 00266 uint32_t Red; /*!< Specifies the foreground or background Red color value. 00267 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF. 00268 00269 This parameter can be modified afterwards using unitary functions 00270 - @ref LL_DMA2D_FGND_SetRedColor() for foreground layer, 00271 - @ref LL_DMA2D_BGND_SetRedColor() for background layer. */ 00272 00273 uint32_t CLUTMemoryAddress; /*!< Specifies the foreground or background CLUT memory address. 00274 - This parameter must be a number between: 00275 Min_Data = 0x0000 and Max_Data = 0xFFFFFFFF. 00276 00277 This parameter can be modified afterwards using unitary functions 00278 - @ref LL_DMA2D_FGND_SetCLUTMemAddr() for foreground layer, 00279 - @ref LL_DMA2D_BGND_SetCLUTMemAddr() for background layer. */ 00280 00281 uint32_t AlphaInversionMode; /*!< Specifies the foreground or background alpha inversion mode. 00282 - This parameter can be one value of @ref DMA2D_LL_EC_ALPHA_INVERSION. 00283 00284 This parameter can be modified afterwards using unitary functions 00285 - @ref LL_DMA2D_FGND_SetAlphaInvMode() for foreground layer, 00286 - @ref LL_DMA2D_BGND_SetAlphaInvMode() for background layer. */ 00287 00288 uint32_t RBSwapMode; /*!< Specifies the foreground or background Red Blue swap mode. 00289 This parameter can be one value of @ref DMA2D_LL_EC_RED_BLUE_SWAP . 00290 00291 This parameter can be modified afterwards using unitary functions 00292 - @ref LL_DMA2D_FGND_SetRBSwapMode() for foreground layer, 00293 - @ref LL_DMA2D_BGND_SetRBSwapMode() for background layer. */ 00294 00295 00296 } LL_DMA2D_LayerCfgTypeDef; 00297 00298 /** 00299 * @brief LL DMA2D Output Color Structure Definition 00300 */ 00301 typedef struct 00302 { 00303 uint32_t ColorMode; /*!< Specifies the color format of the output image. 00304 - This parameter can be one value of @ref DMA2D_LL_EC_OUTPUT_COLOR_MODE. 00305 00306 This parameter can be modified afterwards using 00307 unitary function @ref LL_DMA2D_SetOutputColorMode(). */ 00308 00309 uint32_t OutputBlue; /*!< Specifies the Blue value of the output image. 00310 - This parameter must be a number between: 00311 Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected. 00312 - This parameter must be a number between: 00313 Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected. 00314 - This parameter must be a number between: 00315 Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected. 00316 - This parameter must be a number between: 00317 Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected. 00318 - This parameter must be a number between: 00319 Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected. 00320 00321 This parameter can be modified afterwards using, 00322 unitary function @ref LL_DMA2D_SetOutputColor() or configuration 00323 function @ref LL_DMA2D_ConfigOutputColor(). */ 00324 00325 uint32_t OutputGreen; /*!< Specifies the Green value of the output image. 00326 - This parameter must be a number between: 00327 Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected. 00328 - This parameter must be a number between 00329 Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected. 00330 - This parameter must be a number between: 00331 Min_Data = 0x00 and Max_Data = 0x3F if RGB565 color mode is selected. 00332 - This parameter must be a number between: 00333 Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected. 00334 - This parameter must be a number between: 00335 Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected. 00336 00337 This parameter can be modified afterwards, 00338 using unitary function @ref LL_DMA2D_SetOutputColor() or configuration 00339 function @ref LL_DMA2D_ConfigOutputColor(). */ 00340 00341 uint32_t OutputRed; /*!< Specifies the Red value of the output image. 00342 - This parameter must be a number between: 00343 Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected. 00344 - This parameter must be a number between: 00345 Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected. 00346 - This parameter must be a number between: 00347 Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected. 00348 - This parameter must be a number between: 00349 Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected. 00350 - This parameter must be a number between: 00351 Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected. 00352 00353 This parameter can be modified afterwards, 00354 using unitary function @ref LL_DMA2D_SetOutputColor() or configuration 00355 function @ref LL_DMA2D_ConfigOutputColor(). */ 00356 00357 uint32_t OutputAlpha; /*!< Specifies the Alpha channel of the output image. 00358 - This parameter must be a number between: 00359 Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected. 00360 - This parameter must be a number between: 00361 Min_Data = 0x00 and Max_Data = 0x01 if ARGB1555 color mode is selected. 00362 - This parameter must be a number between: 00363 Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected. 00364 - This parameter is not considered if RGB888 or RGB565 color mode is selected. 00365 00366 This parameter can be modified afterwards, 00367 using unitary function @ref LL_DMA2D_SetOutputColor() or configuration 00368 function @ref LL_DMA2D_ConfigOutputColor(). */ 00369 00370 } LL_DMA2D_ColorTypeDef; 00371 00372 /** 00373 * @} 00374 */ 00375 #endif /* USE_FULL_LL_DRIVER */ 00376 00377 /* Exported constants --------------------------------------------------------*/ 00378 /** @defgroup DMA2D_LL_Exported_Constants DMA2D Exported Constants 00379 * @{ 00380 */ 00381 00382 /** @defgroup DMA2D_LL_EC_GET_FLAG Get Flags Defines 00383 * @brief Flags defines which can be used with LL_DMA2D_ReadReg function 00384 * @{ 00385 */ 00386 #define LL_DMA2D_FLAG_CEIF DMA2D_ISR_CEIF /*!< Configuration Error Interrupt Flag */ 00387 #define LL_DMA2D_FLAG_CTCIF DMA2D_ISR_CTCIF /*!< CLUT Transfer Complete Interrupt Flag */ 00388 #define LL_DMA2D_FLAG_CAEIF DMA2D_ISR_CAEIF /*!< CLUT Access Error Interrupt Flag */ 00389 #define LL_DMA2D_FLAG_TWIF DMA2D_ISR_TWIF /*!< Transfer Watermark Interrupt Flag */ 00390 #define LL_DMA2D_FLAG_TCIF DMA2D_ISR_TCIF /*!< Transfer Complete Interrupt Flag */ 00391 #define LL_DMA2D_FLAG_TEIF DMA2D_ISR_TEIF /*!< Transfer Error Interrupt Flag */ 00392 /** 00393 * @} 00394 */ 00395 00396 /** @defgroup DMA2D_LL_EC_IT IT Defines 00397 * @brief IT defines which can be used with LL_DMA2D_ReadReg and LL_DMA2D_WriteReg functions 00398 * @{ 00399 */ 00400 #define LL_DMA2D_IT_CEIE DMA2D_CR_CEIE /*!< Configuration Error Interrupt */ 00401 #define LL_DMA2D_IT_CTCIE DMA2D_CR_CTCIE /*!< CLUT Transfer Complete Interrupt */ 00402 #define LL_DMA2D_IT_CAEIE DMA2D_CR_CAEIE /*!< CLUT Access Error Interrupt */ 00403 #define LL_DMA2D_IT_TWIE DMA2D_CR_TWIE /*!< Transfer Watermark Interrupt */ 00404 #define LL_DMA2D_IT_TCIE DMA2D_CR_TCIE /*!< Transfer Complete Interrupt */ 00405 #define LL_DMA2D_IT_TEIE DMA2D_CR_TEIE /*!< Transfer Error Interrupt */ 00406 /** 00407 * @} 00408 */ 00409 00410 /** @defgroup DMA2D_LL_EC_MODE Mode 00411 * @{ 00412 */ 00413 #define LL_DMA2D_MODE_M2M 0x00000000U /*!< DMA2D memory to memory transfer mode */ 00414 #define LL_DMA2D_MODE_M2M_PFC DMA2D_CR_MODE_0 /*!< DMA2D memory to memory with pixel format conversion transfer mode */ 00415 #define LL_DMA2D_MODE_M2M_BLEND DMA2D_CR_MODE_1 /*!< DMA2D memory to memory with blending transfer mode */ 00416 #define LL_DMA2D_MODE_R2M (DMA2D_CR_MODE_0|DMA2D_CR_MODE_1) /*!< DMA2D register to memory transfer mode */ 00417 #if defined(DMA2D_M2M_BLEND_FIXED_COLOR_FG_BG_SUPPORT) 00418 #define LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_FG DMA2D_CR_MODE_2 /*!< DMA2D memory to memory with blending transfer mode and fixed color foreground */ 00419 #define LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_BG (DMA2D_CR_MODE_0|DMA2D_CR_MODE_2) /*!< DMA2D memory to memory with blending transfer mode and fixed color background */ 00420 #endif /* DMA2D_M2M_BLEND_FIXED_COLOR_FG_BG_SUPPORT */ 00421 /** 00422 * @} 00423 */ 00424 00425 /** @defgroup DMA2D_LL_EC_OUTPUT_COLOR_MODE Output Color Mode 00426 * @{ 00427 */ 00428 #define LL_DMA2D_OUTPUT_MODE_ARGB8888 0x00000000U /*!< ARGB8888 */ 00429 #define LL_DMA2D_OUTPUT_MODE_RGB888 DMA2D_OPFCCR_CM_0 /*!< RGB888 */ 00430 #define LL_DMA2D_OUTPUT_MODE_RGB565 DMA2D_OPFCCR_CM_1 /*!< RGB565 */ 00431 #define LL_DMA2D_OUTPUT_MODE_ARGB1555 (DMA2D_OPFCCR_CM_0|DMA2D_OPFCCR_CM_1) /*!< ARGB1555 */ 00432 #define LL_DMA2D_OUTPUT_MODE_ARGB4444 DMA2D_OPFCCR_CM_2 /*!< ARGB4444 */ 00433 /** 00434 * @} 00435 */ 00436 00437 /** @defgroup DMA2D_LL_EC_INPUT_COLOR_MODE Input Color Mode 00438 * @{ 00439 */ 00440 #define LL_DMA2D_INPUT_MODE_ARGB8888 0x00000000U /*!< ARGB8888 */ 00441 #define LL_DMA2D_INPUT_MODE_RGB888 DMA2D_FGPFCCR_CM_0 /*!< RGB888 */ 00442 #define LL_DMA2D_INPUT_MODE_RGB565 DMA2D_FGPFCCR_CM_1 /*!< RGB565 */ 00443 #define LL_DMA2D_INPUT_MODE_ARGB1555 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_1) /*!< ARGB1555 */ 00444 #define LL_DMA2D_INPUT_MODE_ARGB4444 DMA2D_FGPFCCR_CM_2 /*!< ARGB4444 */ 00445 #define LL_DMA2D_INPUT_MODE_L8 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_2) /*!< L8 */ 00446 #define LL_DMA2D_INPUT_MODE_AL44 (DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_2) /*!< AL44 */ 00447 #define LL_DMA2D_INPUT_MODE_AL88 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_2) /*!< AL88 */ 00448 #define LL_DMA2D_INPUT_MODE_L4 DMA2D_FGPFCCR_CM_3 /*!< L4 */ 00449 #define LL_DMA2D_INPUT_MODE_A8 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_3) /*!< A8 */ 00450 #define LL_DMA2D_INPUT_MODE_A4 (DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_3) /*!< A4 */ 00451 /** 00452 * @} 00453 */ 00454 00455 /** @defgroup DMA2D_LL_EC_ALPHA_MODE Alpha Mode 00456 * @{ 00457 */ 00458 #define LL_DMA2D_ALPHA_MODE_NO_MODIF 0x00000000U /*!< No modification of the alpha channel value */ 00459 #define LL_DMA2D_ALPHA_MODE_REPLACE DMA2D_FGPFCCR_AM_0 /*!< Replace original alpha channel value by 00460 programmed alpha value */ 00461 #define LL_DMA2D_ALPHA_MODE_COMBINE DMA2D_FGPFCCR_AM_1 /*!< Replace original alpha channel value by 00462 programmed alpha value with, 00463 original alpha channel value */ 00464 /** 00465 * @} 00466 */ 00467 00468 #if defined(DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT) 00469 /** @defgroup DMA2D_LL_EC_OUTPUT_SWAP_MODE Swap Mode 00470 * @{ 00471 */ 00472 #define LL_DMA2D_SWAP_MODE_REGULAR 0x00000000U /*!< Regular order */ 00473 #define LL_DMA2D_SWAP_MODE_TWO_BY_TWO DMA2D_OPFCCR_SB /*!< Bytes swapped two by two */ 00474 /** 00475 * @} 00476 */ 00477 #endif /* DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT */ 00478 00479 /** @defgroup DMA2D_LL_EC_RED_BLUE_SWAP Red Blue Swap 00480 * @{ 00481 */ 00482 #define LL_DMA2D_RB_MODE_REGULAR 0x00000000U /*!< RGB or ARGB */ 00483 #define LL_DMA2D_RB_MODE_SWAP DMA2D_FGPFCCR_RBS /*!< BGR or ABGR */ 00484 /** 00485 * @} 00486 */ 00487 00488 /** @defgroup DMA2D_LL_EC_ALPHA_INVERSION Alpha Inversion 00489 * @{ 00490 */ 00491 #define LL_DMA2D_ALPHA_REGULAR 0x00000000U /*!< Regular alpha */ 00492 #define LL_DMA2D_ALPHA_INVERTED DMA2D_FGPFCCR_AI /*!< Inverted alpha */ 00493 /** 00494 * @} 00495 */ 00496 00497 00498 #if defined(DMA2D_LINE_OFFSET_MODE_SUPPORT) 00499 /** @defgroup DMA2D_LL_EC_LINE_OFFSET_MODE Line Offset Mode 00500 * @{ 00501 */ 00502 #define LL_DMA2D_LINE_OFFSET_PIXELS 0x00000000U /*!< Line offsets are expressed in pixels */ 00503 #define LL_DMA2D_LINE_OFFSET_BYTES DMA2D_CR_LOM /*!< Line offsets are expressed in bytes */ 00504 /** 00505 * @} 00506 */ 00507 #endif /* DMA2D_LINE_OFFSET_MODE_SUPPORT */ 00508 00509 /** @defgroup DMA2D_LL_EC_CLUT_COLOR_MODE CLUT Color Mode 00510 * @{ 00511 */ 00512 #define LL_DMA2D_CLUT_COLOR_MODE_ARGB8888 0x00000000U /*!< ARGB8888 */ 00513 #define LL_DMA2D_CLUT_COLOR_MODE_RGB888 DMA2D_FGPFCCR_CCM /*!< RGB888 */ 00514 /** 00515 * @} 00516 */ 00517 00518 00519 /** 00520 * @} 00521 */ 00522 00523 /* Exported macro ------------------------------------------------------------*/ 00524 /** @defgroup DMA2D_LL_Exported_Macros DMA2D Exported Macros 00525 * @{ 00526 */ 00527 00528 /** @defgroup DMA2D_LL_EM_WRITE_READ Common Write and read registers Macros 00529 * @{ 00530 */ 00531 00532 /** 00533 * @brief Write a value in DMA2D register. 00534 * @param __INSTANCE__ DMA2D Instance 00535 * @param __REG__ Register to be written 00536 * @param __VALUE__ Value to be written in the register 00537 * @retval None 00538 */ 00539 #define LL_DMA2D_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG((__INSTANCE__)->__REG__, (__VALUE__)) 00540 00541 /** 00542 * @brief Read a value in DMA2D register. 00543 * @param __INSTANCE__ DMA2D Instance 00544 * @param __REG__ Register to be read 00545 * @retval Register value 00546 */ 00547 #define LL_DMA2D_ReadReg(__INSTANCE__, __REG__) READ_REG((__INSTANCE__)->__REG__) 00548 /** 00549 * @} 00550 */ 00551 00552 /** 00553 * @} 00554 */ 00555 00556 /* Exported functions --------------------------------------------------------*/ 00557 /** @defgroup DMA2D_LL_Exported_Functions DMA2D Exported Functions 00558 * @{ 00559 */ 00560 00561 /** @defgroup DMA2D_LL_EF_Configuration Configuration Functions 00562 * @{ 00563 */ 00564 00565 /** 00566 * @brief Start a DMA2D transfer. 00567 * @rmtoll CR START LL_DMA2D_Start 00568 * @param DMA2Dx DMA2D Instance 00569 * @retval None 00570 */ 00571 __STATIC_INLINE void LL_DMA2D_Start(DMA2D_TypeDef *DMA2Dx) 00572 { 00573 SET_BIT(DMA2Dx->CR, DMA2D_CR_START); 00574 } 00575 00576 /** 00577 * @brief Indicate if a DMA2D transfer is ongoing. 00578 * @rmtoll CR START LL_DMA2D_IsTransferOngoing 00579 * @param DMA2Dx DMA2D Instance 00580 * @retval State of bit (1 or 0). 00581 */ 00582 __STATIC_INLINE uint32_t LL_DMA2D_IsTransferOngoing(DMA2D_TypeDef *DMA2Dx) 00583 { 00584 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_START) == (DMA2D_CR_START)) ? 1UL : 0UL); 00585 } 00586 00587 /** 00588 * @brief Suspend DMA2D transfer. 00589 * @note This API can be used to suspend automatic foreground or background CLUT loading. 00590 * @rmtoll CR SUSP LL_DMA2D_Suspend 00591 * @param DMA2Dx DMA2D Instance 00592 * @retval None 00593 */ 00594 __STATIC_INLINE void LL_DMA2D_Suspend(DMA2D_TypeDef *DMA2Dx) 00595 { 00596 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_SUSP | DMA2D_CR_START, DMA2D_CR_SUSP); 00597 } 00598 00599 /** 00600 * @brief Resume DMA2D transfer. 00601 * @note This API can be used to resume automatic foreground or background CLUT loading. 00602 * @rmtoll CR SUSP LL_DMA2D_Resume 00603 * @param DMA2Dx DMA2D Instance 00604 * @retval None 00605 */ 00606 __STATIC_INLINE void LL_DMA2D_Resume(DMA2D_TypeDef *DMA2Dx) 00607 { 00608 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_SUSP | DMA2D_CR_START); 00609 } 00610 00611 /** 00612 * @brief Indicate if DMA2D transfer is suspended. 00613 * @note This API can be used to indicate whether or not automatic foreground or 00614 * background CLUT loading is suspended. 00615 * @rmtoll CR SUSP LL_DMA2D_IsSuspended 00616 * @param DMA2Dx DMA2D Instance 00617 * @retval State of bit (1 or 0). 00618 */ 00619 __STATIC_INLINE uint32_t LL_DMA2D_IsSuspended(DMA2D_TypeDef *DMA2Dx) 00620 { 00621 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_SUSP) == (DMA2D_CR_SUSP)) ? 1UL : 0UL); 00622 } 00623 00624 /** 00625 * @brief Abort DMA2D transfer. 00626 * @note This API can be used to abort automatic foreground or background CLUT loading. 00627 * @rmtoll CR ABORT LL_DMA2D_Abort 00628 * @param DMA2Dx DMA2D Instance 00629 * @retval None 00630 */ 00631 __STATIC_INLINE void LL_DMA2D_Abort(DMA2D_TypeDef *DMA2Dx) 00632 { 00633 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_ABORT | DMA2D_CR_START, DMA2D_CR_ABORT); 00634 } 00635 00636 /** 00637 * @brief Indicate if DMA2D transfer is aborted. 00638 * @note This API can be used to indicate whether or not automatic foreground or 00639 * background CLUT loading is aborted. 00640 * @rmtoll CR ABORT LL_DMA2D_IsAborted 00641 * @param DMA2Dx DMA2D Instance 00642 * @retval State of bit (1 or 0). 00643 */ 00644 __STATIC_INLINE uint32_t LL_DMA2D_IsAborted(DMA2D_TypeDef *DMA2Dx) 00645 { 00646 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_ABORT) == (DMA2D_CR_ABORT)) ? 1UL : 0UL); 00647 } 00648 00649 /** 00650 * @brief Set DMA2D mode. 00651 * @rmtoll CR MODE LL_DMA2D_SetMode 00652 * @param DMA2Dx DMA2D Instance 00653 * @param Mode This parameter can be one of the following values: 00654 * @arg @ref LL_DMA2D_MODE_M2M 00655 * @arg @ref LL_DMA2D_MODE_M2M_PFC 00656 * @arg @ref LL_DMA2D_MODE_M2M_BLEND 00657 * @arg @ref LL_DMA2D_MODE_R2M 00658 * @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_FG (*) 00659 * @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_BG (*) 00660 * 00661 * (*) value not defined in all devices. 00662 * @retval None 00663 */ 00664 __STATIC_INLINE void LL_DMA2D_SetMode(DMA2D_TypeDef *DMA2Dx, uint32_t Mode) 00665 { 00666 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_MODE, Mode); 00667 } 00668 00669 /** 00670 * @brief Return DMA2D mode 00671 * @rmtoll CR MODE LL_DMA2D_GetMode 00672 * @param DMA2Dx DMA2D Instance 00673 * @retval Returned value can be one of the following values: 00674 * @arg @ref LL_DMA2D_MODE_M2M 00675 * @arg @ref LL_DMA2D_MODE_M2M_PFC 00676 * @arg @ref LL_DMA2D_MODE_M2M_BLEND 00677 * @arg @ref LL_DMA2D_MODE_R2M 00678 * @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_FG (*) 00679 * @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_BG (*) 00680 * 00681 * (*) value not defined in all devices. 00682 */ 00683 __STATIC_INLINE uint32_t LL_DMA2D_GetMode(DMA2D_TypeDef *DMA2Dx) 00684 { 00685 return (uint32_t)(READ_BIT(DMA2Dx->CR, DMA2D_CR_MODE)); 00686 } 00687 00688 /** 00689 * @brief Set DMA2D output color mode. 00690 * @rmtoll OPFCCR CM LL_DMA2D_SetOutputColorMode 00691 * @param DMA2Dx DMA2D Instance 00692 * @param ColorMode This parameter can be one of the following values: 00693 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB8888 00694 * @arg @ref LL_DMA2D_OUTPUT_MODE_RGB888 00695 * @arg @ref LL_DMA2D_OUTPUT_MODE_RGB565 00696 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB1555 00697 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB4444 00698 * @retval None 00699 */ 00700 __STATIC_INLINE void LL_DMA2D_SetOutputColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode) 00701 { 00702 MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_CM, ColorMode); 00703 } 00704 00705 /** 00706 * @brief Return DMA2D output color mode. 00707 * @rmtoll OPFCCR CM LL_DMA2D_GetOutputColorMode 00708 * @param DMA2Dx DMA2D Instance 00709 * @retval Returned value can be one of the following values: 00710 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB8888 00711 * @arg @ref LL_DMA2D_OUTPUT_MODE_RGB888 00712 * @arg @ref LL_DMA2D_OUTPUT_MODE_RGB565 00713 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB1555 00714 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB4444 00715 */ 00716 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputColorMode(DMA2D_TypeDef *DMA2Dx) 00717 { 00718 return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_CM)); 00719 } 00720 00721 /** 00722 * @brief Set DMA2D output Red Blue swap mode. 00723 * @rmtoll OPFCCR RBS LL_DMA2D_SetOutputRBSwapMode 00724 * @param DMA2Dx DMA2D Instance 00725 * @param RBSwapMode This parameter can be one of the following values: 00726 * @arg @ref LL_DMA2D_RB_MODE_REGULAR 00727 * @arg @ref LL_DMA2D_RB_MODE_SWAP 00728 * @retval None 00729 */ 00730 __STATIC_INLINE void LL_DMA2D_SetOutputRBSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t RBSwapMode) 00731 { 00732 MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_RBS, RBSwapMode); 00733 } 00734 00735 /** 00736 * @brief Return DMA2D output Red Blue swap mode. 00737 * @rmtoll OPFCCR RBS LL_DMA2D_GetOutputRBSwapMode 00738 * @param DMA2Dx DMA2D Instance 00739 * @retval Returned value can be one of the following values: 00740 * @arg @ref LL_DMA2D_RB_MODE_REGULAR 00741 * @arg @ref LL_DMA2D_RB_MODE_SWAP 00742 */ 00743 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputRBSwapMode(DMA2D_TypeDef *DMA2Dx) 00744 { 00745 return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_RBS)); 00746 } 00747 00748 /** 00749 * @brief Set DMA2D output alpha inversion mode. 00750 * @rmtoll OPFCCR AI LL_DMA2D_SetOutputAlphaInvMode 00751 * @param DMA2Dx DMA2D Instance 00752 * @param AlphaInversionMode This parameter can be one of the following values: 00753 * @arg @ref LL_DMA2D_ALPHA_REGULAR 00754 * @arg @ref LL_DMA2D_ALPHA_INVERTED 00755 * @retval None 00756 */ 00757 __STATIC_INLINE void LL_DMA2D_SetOutputAlphaInvMode(DMA2D_TypeDef *DMA2Dx, uint32_t AlphaInversionMode) 00758 { 00759 MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_AI, AlphaInversionMode); 00760 } 00761 00762 /** 00763 * @brief Return DMA2D output alpha inversion mode. 00764 * @rmtoll OPFCCR AI LL_DMA2D_GetOutputAlphaInvMode 00765 * @param DMA2Dx DMA2D Instance 00766 * @retval Returned value can be one of the following values: 00767 * @arg @ref LL_DMA2D_ALPHA_REGULAR 00768 * @arg @ref LL_DMA2D_ALPHA_INVERTED 00769 */ 00770 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputAlphaInvMode(DMA2D_TypeDef *DMA2Dx) 00771 { 00772 return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_AI)); 00773 } 00774 00775 00776 #if defined(DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT) 00777 /** 00778 * @brief Set DMA2D output swap mode. 00779 * @rmtoll OPFCCR SB LL_DMA2D_SetOutputSwapMode 00780 * @param DMA2Dx DMA2D Instance 00781 * @param OutputSwapMode This parameter can be one of the following values: 00782 * @arg @ref LL_DMA2D_SWAP_MODE_REGULAR 00783 * @arg @ref LL_DMA2D_SWAP_MODE_TWO_BY_TWO 00784 * @retval None 00785 */ 00786 __STATIC_INLINE void LL_DMA2D_SetOutputSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t OutputSwapMode) 00787 { 00788 MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_SB, OutputSwapMode); 00789 } 00790 00791 /** 00792 * @brief Return DMA2D output swap mode. 00793 * @rmtoll OPFCCR SB LL_DMA2D_GetOutputSwapMode 00794 * @param DMA2Dx DMA2D Instance 00795 * @retval Returned value can be one of the following values: 00796 * @arg @ref LL_DMA2D_SWAP_MODE_REGULAR 00797 * @arg @ref LL_DMA2D_SWAP_MODE_TWO_BY_TWO 00798 */ 00799 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputSwapMode(DMA2D_TypeDef *DMA2Dx) 00800 { 00801 return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_SB)); 00802 } 00803 #endif /* DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT */ 00804 00805 #if defined(DMA2D_LINE_OFFSET_MODE_SUPPORT) 00806 /** 00807 * @brief Set DMA2D line offset mode. 00808 * @rmtoll CR LOM LL_DMA2D_SetLineOffsetMode 00809 * @param DMA2Dx DMA2D Instance 00810 * @param LineOffsetMode This parameter can be one of the following values: 00811 * @arg @ref LL_DMA2D_LINE_OFFSET_PIXELS 00812 * @arg @ref LL_DMA2D_LINE_OFFSET_BYTES 00813 * @retval None 00814 */ 00815 __STATIC_INLINE void LL_DMA2D_SetLineOffsetMode(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffsetMode) 00816 { 00817 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_LOM, LineOffsetMode); 00818 } 00819 00820 /** 00821 * @brief Return DMA2D line offset mode. 00822 * @rmtoll CR LOM LL_DMA2D_GetLineOffsetMode 00823 * @param DMA2Dx DMA2D Instance 00824 * @retval Returned value can be one of the following values: 00825 * @arg @ref LL_DMA2D_LINE_OFFSET_PIXELS 00826 * @arg @ref LL_DMA2D_LINE_OFFSET_BYTES 00827 */ 00828 __STATIC_INLINE uint32_t LL_DMA2D_GetLineOffsetMode(DMA2D_TypeDef *DMA2Dx) 00829 { 00830 return (uint32_t)(READ_BIT(DMA2Dx->CR, DMA2D_CR_LOM)); 00831 } 00832 #endif /* DMA2D_LINE_OFFSET_MODE_SUPPORT */ 00833 00834 /** 00835 * @brief Set DMA2D line offset, expressed on 14 bits ([13:0] bits). 00836 * @rmtoll OOR LO LL_DMA2D_SetLineOffset 00837 * @param DMA2Dx DMA2D Instance 00838 @if DMA2D_LINE_OFFSET_MODE_SUPPORT 00839 * @param LineOffset Value between Min_Data=0 and Max_Data=0xFFFF 00840 @else 00841 * @param LineOffset Value between Min_Data=0 and Max_Data=0x3FFF 00842 @endif 00843 * @retval None 00844 */ 00845 __STATIC_INLINE void LL_DMA2D_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset) 00846 { 00847 MODIFY_REG(DMA2Dx->OOR, DMA2D_OOR_LO, LineOffset); 00848 } 00849 00850 /** 00851 * @brief Return DMA2D line offset, expressed on 14 bits ([13:0] bits). 00852 * @rmtoll OOR LO LL_DMA2D_GetLineOffset 00853 * @param DMA2Dx DMA2D Instance 00854 @if DMA2D_LINE_OFFSET_MODE_SUPPORT 00855 * @retval Line offset value between Min_Data=0 and Max_Data=0xFFFF 00856 @else 00857 * @retval Line offset value between Min_Data=0 and Max_Data=0x3FFF 00858 @endif 00859 */ 00860 __STATIC_INLINE uint32_t LL_DMA2D_GetLineOffset(DMA2D_TypeDef *DMA2Dx) 00861 { 00862 return (uint32_t)(READ_BIT(DMA2Dx->OOR, DMA2D_OOR_LO)); 00863 } 00864 00865 /** 00866 * @brief Set DMA2D number of pixels per lines, expressed on 14 bits ([13:0] bits). 00867 * @rmtoll NLR PL LL_DMA2D_SetNbrOfPixelsPerLines 00868 * @param DMA2Dx DMA2D Instance 00869 * @param NbrOfPixelsPerLines Value between Min_Data=0 and Max_Data=0x3FFF 00870 * @retval None 00871 */ 00872 __STATIC_INLINE void LL_DMA2D_SetNbrOfPixelsPerLines(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfPixelsPerLines) 00873 { 00874 MODIFY_REG(DMA2Dx->NLR, DMA2D_NLR_PL, (NbrOfPixelsPerLines << DMA2D_NLR_PL_Pos)); 00875 } 00876 00877 /** 00878 * @brief Return DMA2D number of pixels per lines, expressed on 14 bits ([13:0] bits) 00879 * @rmtoll NLR PL LL_DMA2D_GetNbrOfPixelsPerLines 00880 * @param DMA2Dx DMA2D Instance 00881 * @retval Number of pixels per lines value between Min_Data=0 and Max_Data=0x3FFF 00882 */ 00883 __STATIC_INLINE uint32_t LL_DMA2D_GetNbrOfPixelsPerLines(DMA2D_TypeDef *DMA2Dx) 00884 { 00885 return (uint32_t)(READ_BIT(DMA2Dx->NLR, DMA2D_NLR_PL) >> DMA2D_NLR_PL_Pos); 00886 } 00887 00888 /** 00889 * @brief Set DMA2D number of lines, expressed on 16 bits ([15:0] bits). 00890 * @rmtoll NLR NL LL_DMA2D_SetNbrOfLines 00891 * @param DMA2Dx DMA2D Instance 00892 * @param NbrOfLines Value between Min_Data=0 and Max_Data=0xFFFF 00893 * @retval None 00894 */ 00895 __STATIC_INLINE void LL_DMA2D_SetNbrOfLines(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfLines) 00896 { 00897 MODIFY_REG(DMA2Dx->NLR, DMA2D_NLR_NL, NbrOfLines); 00898 } 00899 00900 /** 00901 * @brief Return DMA2D number of lines, expressed on 16 bits ([15:0] bits). 00902 * @rmtoll NLR NL LL_DMA2D_GetNbrOfLines 00903 * @param DMA2Dx DMA2D Instance 00904 * @retval Number of lines value between Min_Data=0 and Max_Data=0xFFFF 00905 */ 00906 __STATIC_INLINE uint32_t LL_DMA2D_GetNbrOfLines(DMA2D_TypeDef *DMA2Dx) 00907 { 00908 return (uint32_t)(READ_BIT(DMA2Dx->NLR, DMA2D_NLR_NL)); 00909 } 00910 00911 /** 00912 * @brief Set DMA2D output memory address, expressed on 32 bits ([31:0] bits). 00913 * @rmtoll OMAR MA LL_DMA2D_SetOutputMemAddr 00914 * @param DMA2Dx DMA2D Instance 00915 * @param OutputMemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF 00916 * @retval None 00917 */ 00918 __STATIC_INLINE void LL_DMA2D_SetOutputMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t OutputMemoryAddress) 00919 { 00920 LL_DMA2D_WriteReg(DMA2Dx, OMAR, OutputMemoryAddress); 00921 } 00922 00923 /** 00924 * @brief Get DMA2D output memory address, expressed on 32 bits ([31:0] bits). 00925 * @rmtoll OMAR MA LL_DMA2D_GetOutputMemAddr 00926 * @param DMA2Dx DMA2D Instance 00927 * @retval Output memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF 00928 */ 00929 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputMemAddr(DMA2D_TypeDef *DMA2Dx) 00930 { 00931 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, OMAR)); 00932 } 00933 00934 /** 00935 * @brief Set DMA2D output color, expressed on 32 bits ([31:0] bits). 00936 * @note Output color format depends on output color mode, ARGB8888, RGB888, 00937 * RGB565, ARGB1555 or ARGB4444. 00938 * @note LL_DMA2D_ConfigOutputColor() API may be used instead if colors values formatting 00939 * with respect to color mode is not done by the user code. 00940 * @rmtoll OCOLR BLUE LL_DMA2D_SetOutputColor\n 00941 * OCOLR GREEN LL_DMA2D_SetOutputColor\n 00942 * OCOLR RED LL_DMA2D_SetOutputColor\n 00943 * OCOLR ALPHA LL_DMA2D_SetOutputColor 00944 * @param DMA2Dx DMA2D Instance 00945 * @param OutputColor Value between Min_Data=0 and Max_Data=0xFFFFFFFF 00946 * @retval None 00947 */ 00948 __STATIC_INLINE void LL_DMA2D_SetOutputColor(DMA2D_TypeDef *DMA2Dx, uint32_t OutputColor) 00949 { 00950 MODIFY_REG(DMA2Dx->OCOLR, (DMA2D_OCOLR_BLUE_1 | DMA2D_OCOLR_GREEN_1 | DMA2D_OCOLR_RED_1 | DMA2D_OCOLR_ALPHA_1), \ 00951 OutputColor); 00952 } 00953 00954 /** 00955 * @brief Get DMA2D output color, expressed on 32 bits ([31:0] bits). 00956 * @note Alpha channel and red, green, blue color values must be retrieved from the returned 00957 * value based on the output color mode (ARGB8888, RGB888, RGB565, ARGB1555 or ARGB4444) 00958 * as set by @ref LL_DMA2D_SetOutputColorMode. 00959 * @rmtoll OCOLR BLUE LL_DMA2D_GetOutputColor\n 00960 * OCOLR GREEN LL_DMA2D_GetOutputColor\n 00961 * OCOLR RED LL_DMA2D_GetOutputColor\n 00962 * OCOLR ALPHA LL_DMA2D_GetOutputColor 00963 * @param DMA2Dx DMA2D Instance 00964 * @retval Output color value between Min_Data=0 and Max_Data=0xFFFFFFFF 00965 */ 00966 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputColor(DMA2D_TypeDef *DMA2Dx) 00967 { 00968 return (uint32_t)(READ_BIT(DMA2Dx->OCOLR, \ 00969 (DMA2D_OCOLR_BLUE_1 | DMA2D_OCOLR_GREEN_1 | DMA2D_OCOLR_RED_1 | DMA2D_OCOLR_ALPHA_1))); 00970 } 00971 00972 /** 00973 * @brief Set DMA2D line watermark, expressed on 16 bits ([15:0] bits). 00974 * @rmtoll LWR LW LL_DMA2D_SetLineWatermark 00975 * @param DMA2Dx DMA2D Instance 00976 * @param LineWatermark Value between Min_Data=0 and Max_Data=0xFFFF 00977 * @retval None 00978 */ 00979 __STATIC_INLINE void LL_DMA2D_SetLineWatermark(DMA2D_TypeDef *DMA2Dx, uint32_t LineWatermark) 00980 { 00981 MODIFY_REG(DMA2Dx->LWR, DMA2D_LWR_LW, LineWatermark); 00982 } 00983 00984 /** 00985 * @brief Return DMA2D line watermark, expressed on 16 bits ([15:0] bits). 00986 * @rmtoll LWR LW LL_DMA2D_GetLineWatermark 00987 * @param DMA2Dx DMA2D Instance 00988 * @retval Line watermark value between Min_Data=0 and Max_Data=0xFFFF 00989 */ 00990 __STATIC_INLINE uint32_t LL_DMA2D_GetLineWatermark(DMA2D_TypeDef *DMA2Dx) 00991 { 00992 return (uint32_t)(READ_BIT(DMA2Dx->LWR, DMA2D_LWR_LW)); 00993 } 00994 00995 /** 00996 * @brief Set DMA2D dead time, expressed on 8 bits ([7:0] bits). 00997 * @rmtoll AMTCR DT LL_DMA2D_SetDeadTime 00998 * @param DMA2Dx DMA2D Instance 00999 * @param DeadTime Value between Min_Data=0 and Max_Data=0xFF 01000 * @retval None 01001 */ 01002 __STATIC_INLINE void LL_DMA2D_SetDeadTime(DMA2D_TypeDef *DMA2Dx, uint32_t DeadTime) 01003 { 01004 MODIFY_REG(DMA2Dx->AMTCR, DMA2D_AMTCR_DT, (DeadTime << DMA2D_AMTCR_DT_Pos)); 01005 } 01006 01007 /** 01008 * @brief Return DMA2D dead time, expressed on 8 bits ([7:0] bits). 01009 * @rmtoll AMTCR DT LL_DMA2D_GetDeadTime 01010 * @param DMA2Dx DMA2D Instance 01011 * @retval Dead time value between Min_Data=0 and Max_Data=0xFF 01012 */ 01013 __STATIC_INLINE uint32_t LL_DMA2D_GetDeadTime(DMA2D_TypeDef *DMA2Dx) 01014 { 01015 return (uint32_t)(READ_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_DT) >> DMA2D_AMTCR_DT_Pos); 01016 } 01017 01018 /** 01019 * @brief Enable DMA2D dead time functionality. 01020 * @rmtoll AMTCR EN LL_DMA2D_EnableDeadTime 01021 * @param DMA2Dx DMA2D Instance 01022 * @retval None 01023 */ 01024 __STATIC_INLINE void LL_DMA2D_EnableDeadTime(DMA2D_TypeDef *DMA2Dx) 01025 { 01026 SET_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN); 01027 } 01028 01029 /** 01030 * @brief Disable DMA2D dead time functionality. 01031 * @rmtoll AMTCR EN LL_DMA2D_DisableDeadTime 01032 * @param DMA2Dx DMA2D Instance 01033 * @retval None 01034 */ 01035 __STATIC_INLINE void LL_DMA2D_DisableDeadTime(DMA2D_TypeDef *DMA2Dx) 01036 { 01037 CLEAR_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN); 01038 } 01039 01040 /** 01041 * @brief Indicate if DMA2D dead time functionality is enabled. 01042 * @rmtoll AMTCR EN LL_DMA2D_IsEnabledDeadTime 01043 * @param DMA2Dx DMA2D Instance 01044 * @retval State of bit (1 or 0). 01045 */ 01046 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledDeadTime(DMA2D_TypeDef *DMA2Dx) 01047 { 01048 return ((READ_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN) == (DMA2D_AMTCR_EN)) ? 1UL : 0UL); 01049 } 01050 01051 /** @defgroup DMA2D_LL_EF_FGND_Configuration Foreground Configuration Functions 01052 * @{ 01053 */ 01054 01055 /** 01056 * @brief Set DMA2D foreground memory address, expressed on 32 bits ([31:0] bits). 01057 * @rmtoll FGMAR MA LL_DMA2D_FGND_SetMemAddr 01058 * @param DMA2Dx DMA2D Instance 01059 * @param MemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF 01060 * @retval None 01061 */ 01062 __STATIC_INLINE void LL_DMA2D_FGND_SetMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t MemoryAddress) 01063 { 01064 LL_DMA2D_WriteReg(DMA2Dx, FGMAR, MemoryAddress); 01065 } 01066 01067 /** 01068 * @brief Get DMA2D foreground memory address, expressed on 32 bits ([31:0] bits). 01069 * @rmtoll FGMAR MA LL_DMA2D_FGND_GetMemAddr 01070 * @param DMA2Dx DMA2D Instance 01071 * @retval Foreground memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF 01072 */ 01073 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetMemAddr(DMA2D_TypeDef *DMA2Dx) 01074 { 01075 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, FGMAR)); 01076 } 01077 01078 /** 01079 * @brief Enable DMA2D foreground CLUT loading. 01080 * @rmtoll FGPFCCR START LL_DMA2D_FGND_EnableCLUTLoad 01081 * @param DMA2Dx DMA2D Instance 01082 * @retval None 01083 */ 01084 __STATIC_INLINE void LL_DMA2D_FGND_EnableCLUTLoad(DMA2D_TypeDef *DMA2Dx) 01085 { 01086 SET_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_START); 01087 } 01088 01089 /** 01090 * @brief Indicate if DMA2D foreground CLUT loading is enabled. 01091 * @rmtoll FGPFCCR START LL_DMA2D_FGND_IsEnabledCLUTLoad 01092 * @param DMA2Dx DMA2D Instance 01093 * @retval State of bit (1 or 0). 01094 */ 01095 __STATIC_INLINE uint32_t LL_DMA2D_FGND_IsEnabledCLUTLoad(DMA2D_TypeDef *DMA2Dx) 01096 { 01097 return ((READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_START) == (DMA2D_FGPFCCR_START)) ? 1UL : 0UL); 01098 } 01099 01100 /** 01101 * @brief Set DMA2D foreground color mode. 01102 * @rmtoll FGPFCCR CM LL_DMA2D_FGND_SetColorMode 01103 * @param DMA2Dx DMA2D Instance 01104 * @param ColorMode This parameter can be one of the following values: 01105 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888 01106 * @arg @ref LL_DMA2D_INPUT_MODE_RGB888 01107 * @arg @ref LL_DMA2D_INPUT_MODE_RGB565 01108 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555 01109 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444 01110 * @arg @ref LL_DMA2D_INPUT_MODE_L8 01111 * @arg @ref LL_DMA2D_INPUT_MODE_AL44 01112 * @arg @ref LL_DMA2D_INPUT_MODE_AL88 01113 * @arg @ref LL_DMA2D_INPUT_MODE_L4 01114 * @arg @ref LL_DMA2D_INPUT_MODE_A8 01115 * @arg @ref LL_DMA2D_INPUT_MODE_A4 01116 * @retval None 01117 */ 01118 __STATIC_INLINE void LL_DMA2D_FGND_SetColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode) 01119 { 01120 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CM, ColorMode); 01121 } 01122 01123 /** 01124 * @brief Return DMA2D foreground color mode. 01125 * @rmtoll FGPFCCR CM LL_DMA2D_FGND_GetColorMode 01126 * @param DMA2Dx DMA2D Instance 01127 * @retval Returned value can be one of the following values: 01128 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888 01129 * @arg @ref LL_DMA2D_INPUT_MODE_RGB888 01130 * @arg @ref LL_DMA2D_INPUT_MODE_RGB565 01131 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555 01132 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444 01133 * @arg @ref LL_DMA2D_INPUT_MODE_L8 01134 * @arg @ref LL_DMA2D_INPUT_MODE_AL44 01135 * @arg @ref LL_DMA2D_INPUT_MODE_AL88 01136 * @arg @ref LL_DMA2D_INPUT_MODE_L4 01137 * @arg @ref LL_DMA2D_INPUT_MODE_A8 01138 * @arg @ref LL_DMA2D_INPUT_MODE_A4 01139 */ 01140 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetColorMode(DMA2D_TypeDef *DMA2Dx) 01141 { 01142 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CM)); 01143 } 01144 01145 /** 01146 * @brief Set DMA2D foreground alpha mode. 01147 * @rmtoll FGPFCCR AM LL_DMA2D_FGND_SetAlphaMode 01148 * @param DMA2Dx DMA2D Instance 01149 * @param AphaMode This parameter can be one of the following values: 01150 * @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF 01151 * @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE 01152 * @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE 01153 * @retval None 01154 */ 01155 __STATIC_INLINE void LL_DMA2D_FGND_SetAlphaMode(DMA2D_TypeDef *DMA2Dx, uint32_t AphaMode) 01156 { 01157 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AM, AphaMode); 01158 } 01159 01160 /** 01161 * @brief Return DMA2D foreground alpha mode. 01162 * @rmtoll FGPFCCR AM LL_DMA2D_FGND_GetAlphaMode 01163 * @param DMA2Dx DMA2D Instance 01164 * @retval Returned value can be one of the following values: 01165 * @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF 01166 * @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE 01167 * @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE 01168 */ 01169 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlphaMode(DMA2D_TypeDef *DMA2Dx) 01170 { 01171 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AM)); 01172 } 01173 01174 /** 01175 * @brief Set DMA2D foreground alpha value, expressed on 8 bits ([7:0] bits). 01176 * @rmtoll FGPFCCR ALPHA LL_DMA2D_FGND_SetAlpha 01177 * @param DMA2Dx DMA2D Instance 01178 * @param Alpha Value between Min_Data=0 and Max_Data=0xFF 01179 * @retval None 01180 */ 01181 __STATIC_INLINE void LL_DMA2D_FGND_SetAlpha(DMA2D_TypeDef *DMA2Dx, uint32_t Alpha) 01182 { 01183 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_ALPHA, (Alpha << DMA2D_FGPFCCR_ALPHA_Pos)); 01184 } 01185 01186 /** 01187 * @brief Return DMA2D foreground alpha value, expressed on 8 bits ([7:0] bits). 01188 * @rmtoll FGPFCCR ALPHA LL_DMA2D_FGND_GetAlpha 01189 * @param DMA2Dx DMA2D Instance 01190 * @retval Alpha value between Min_Data=0 and Max_Data=0xFF 01191 */ 01192 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlpha(DMA2D_TypeDef *DMA2Dx) 01193 { 01194 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_ALPHA) >> DMA2D_FGPFCCR_ALPHA_Pos); 01195 } 01196 01197 /** 01198 * @brief Set DMA2D foreground Red Blue swap mode. 01199 * @rmtoll FGPFCCR RBS LL_DMA2D_FGND_SetRBSwapMode 01200 * @param DMA2Dx DMA2D Instance 01201 * @param RBSwapMode This parameter can be one of the following values: 01202 * @arg @ref LL_DMA2D_RB_MODE_REGULAR 01203 * @arg @ref LL_DMA2D_RB_MODE_SWAP 01204 * @retval None 01205 */ 01206 __STATIC_INLINE void LL_DMA2D_FGND_SetRBSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t RBSwapMode) 01207 { 01208 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_RBS, RBSwapMode); 01209 } 01210 01211 /** 01212 * @brief Return DMA2D foreground Red Blue swap mode. 01213 * @rmtoll FGPFCCR RBS LL_DMA2D_FGND_GetRBSwapMode 01214 * @param DMA2Dx DMA2D Instance 01215 * @retval Returned value can be one of the following values: 01216 * @arg @ref LL_DMA2D_RB_MODE_REGULAR 01217 * @arg @ref LL_DMA2D_RB_MODE_SWAP 01218 */ 01219 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetRBSwapMode(DMA2D_TypeDef *DMA2Dx) 01220 { 01221 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_RBS)); 01222 } 01223 01224 /** 01225 * @brief Set DMA2D foreground alpha inversion mode. 01226 * @rmtoll FGPFCCR AI LL_DMA2D_FGND_SetAlphaInvMode 01227 * @param DMA2Dx DMA2D Instance 01228 * @param AlphaInversionMode This parameter can be one of the following values: 01229 * @arg @ref LL_DMA2D_ALPHA_REGULAR 01230 * @arg @ref LL_DMA2D_ALPHA_INVERTED 01231 * @retval None 01232 */ 01233 __STATIC_INLINE void LL_DMA2D_FGND_SetAlphaInvMode(DMA2D_TypeDef *DMA2Dx, uint32_t AlphaInversionMode) 01234 { 01235 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AI, AlphaInversionMode); 01236 } 01237 01238 /** 01239 * @brief Return DMA2D foreground alpha inversion mode. 01240 * @rmtoll FGPFCCR AI LL_DMA2D_FGND_GetAlphaInvMode 01241 * @param DMA2Dx DMA2D Instance 01242 * @retval Returned value can be one of the following values: 01243 * @arg @ref LL_DMA2D_ALPHA_REGULAR 01244 * @arg @ref LL_DMA2D_ALPHA_INVERTED 01245 */ 01246 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlphaInvMode(DMA2D_TypeDef *DMA2Dx) 01247 { 01248 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AI)); 01249 } 01250 01251 /** 01252 * @brief Set DMA2D foreground line offset, expressed on 14 bits ([13:0] bits). 01253 * @rmtoll FGOR LO LL_DMA2D_FGND_SetLineOffset 01254 * @param DMA2Dx DMA2D Instance 01255 * @param LineOffset Value between Min_Data=0 and Max_Data=0x3FF 01256 * @retval None 01257 */ 01258 __STATIC_INLINE void LL_DMA2D_FGND_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset) 01259 { 01260 MODIFY_REG(DMA2Dx->FGOR, DMA2D_FGOR_LO, LineOffset); 01261 } 01262 01263 /** 01264 * @brief Return DMA2D foreground line offset, expressed on 14 bits ([13:0] bits). 01265 * @rmtoll FGOR LO LL_DMA2D_FGND_GetLineOffset 01266 * @param DMA2Dx DMA2D Instance 01267 * @retval Foreground line offset value between Min_Data=0 and Max_Data=0x3FF 01268 */ 01269 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetLineOffset(DMA2D_TypeDef *DMA2Dx) 01270 { 01271 return (uint32_t)(READ_BIT(DMA2Dx->FGOR, DMA2D_FGOR_LO)); 01272 } 01273 01274 /** 01275 * @brief Set DMA2D foreground color values, expressed on 24 bits ([23:0] bits). 01276 * @rmtoll FGCOLR RED LL_DMA2D_FGND_SetColor 01277 * @rmtoll FGCOLR GREEN LL_DMA2D_FGND_SetColor 01278 * @rmtoll FGCOLR BLUE LL_DMA2D_FGND_SetColor 01279 * @param DMA2Dx DMA2D Instance 01280 * @param Red Value between Min_Data=0 and Max_Data=0xFF 01281 * @param Green Value between Min_Data=0 and Max_Data=0xFF 01282 * @param Blue Value between Min_Data=0 and Max_Data=0xFF 01283 * @retval None 01284 */ 01285 __STATIC_INLINE void LL_DMA2D_FGND_SetColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red, uint32_t Green, uint32_t Blue) 01286 { 01287 MODIFY_REG(DMA2Dx->FGCOLR, (DMA2D_FGCOLR_RED | DMA2D_FGCOLR_GREEN | DMA2D_FGCOLR_BLUE), \ 01288 ((Red << DMA2D_FGCOLR_RED_Pos) | (Green << DMA2D_FGCOLR_GREEN_Pos) | Blue)); 01289 } 01290 01291 /** 01292 * @brief Set DMA2D foreground red color value, expressed on 8 bits ([7:0] bits). 01293 * @rmtoll FGCOLR RED LL_DMA2D_FGND_SetRedColor 01294 * @param DMA2Dx DMA2D Instance 01295 * @param Red Value between Min_Data=0 and Max_Data=0xFF 01296 * @retval None 01297 */ 01298 __STATIC_INLINE void LL_DMA2D_FGND_SetRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red) 01299 { 01300 MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_RED, (Red << DMA2D_FGCOLR_RED_Pos)); 01301 } 01302 01303 /** 01304 * @brief Return DMA2D foreground red color value, expressed on 8 bits ([7:0] bits). 01305 * @rmtoll FGCOLR RED LL_DMA2D_FGND_GetRedColor 01306 * @param DMA2Dx DMA2D Instance 01307 * @retval Red color value between Min_Data=0 and Max_Data=0xFF 01308 */ 01309 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetRedColor(DMA2D_TypeDef *DMA2Dx) 01310 { 01311 return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_RED) >> DMA2D_FGCOLR_RED_Pos); 01312 } 01313 01314 /** 01315 * @brief Set DMA2D foreground green color value, expressed on 8 bits ([7:0] bits). 01316 * @rmtoll FGCOLR GREEN LL_DMA2D_FGND_SetGreenColor 01317 * @param DMA2Dx DMA2D Instance 01318 * @param Green Value between Min_Data=0 and Max_Data=0xFF 01319 * @retval None 01320 */ 01321 __STATIC_INLINE void LL_DMA2D_FGND_SetGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t Green) 01322 { 01323 MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_GREEN, (Green << DMA2D_FGCOLR_GREEN_Pos)); 01324 } 01325 01326 /** 01327 * @brief Return DMA2D foreground green color value, expressed on 8 bits ([7:0] bits). 01328 * @rmtoll FGCOLR GREEN LL_DMA2D_FGND_GetGreenColor 01329 * @param DMA2Dx DMA2D Instance 01330 * @retval Green color value between Min_Data=0 and Max_Data=0xFF 01331 */ 01332 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetGreenColor(DMA2D_TypeDef *DMA2Dx) 01333 { 01334 return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_GREEN) >> DMA2D_FGCOLR_GREEN_Pos); 01335 } 01336 01337 /** 01338 * @brief Set DMA2D foreground blue color value, expressed on 8 bits ([7:0] bits). 01339 * @rmtoll FGCOLR BLUE LL_DMA2D_FGND_SetBlueColor 01340 * @param DMA2Dx DMA2D Instance 01341 * @param Blue Value between Min_Data=0 and Max_Data=0xFF 01342 * @retval None 01343 */ 01344 __STATIC_INLINE void LL_DMA2D_FGND_SetBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t Blue) 01345 { 01346 MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_BLUE, Blue); 01347 } 01348 01349 /** 01350 * @brief Return DMA2D foreground blue color value, expressed on 8 bits ([7:0] bits). 01351 * @rmtoll FGCOLR BLUE LL_DMA2D_FGND_GetBlueColor 01352 * @param DMA2Dx DMA2D Instance 01353 * @retval Blue color value between Min_Data=0 and Max_Data=0xFF 01354 */ 01355 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetBlueColor(DMA2D_TypeDef *DMA2Dx) 01356 { 01357 return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_BLUE)); 01358 } 01359 01360 /** 01361 * @brief Set DMA2D foreground CLUT memory address, expressed on 32 bits ([31:0] bits). 01362 * @rmtoll FGCMAR MA LL_DMA2D_FGND_SetCLUTMemAddr 01363 * @param DMA2Dx DMA2D Instance 01364 * @param CLUTMemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF 01365 * @retval None 01366 */ 01367 __STATIC_INLINE void LL_DMA2D_FGND_SetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTMemoryAddress) 01368 { 01369 LL_DMA2D_WriteReg(DMA2Dx, FGCMAR, CLUTMemoryAddress); 01370 } 01371 01372 /** 01373 * @brief Get DMA2D foreground CLUT memory address, expressed on 32 bits ([31:0] bits). 01374 * @rmtoll FGCMAR MA LL_DMA2D_FGND_GetCLUTMemAddr 01375 * @param DMA2Dx DMA2D Instance 01376 * @retval Foreground CLUT memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF 01377 */ 01378 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx) 01379 { 01380 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, FGCMAR)); 01381 } 01382 01383 /** 01384 * @brief Set DMA2D foreground CLUT size, expressed on 8 bits ([7:0] bits). 01385 * @rmtoll FGPFCCR CS LL_DMA2D_FGND_SetCLUTSize 01386 * @param DMA2Dx DMA2D Instance 01387 * @param CLUTSize Value between Min_Data=0 and Max_Data=0xFF 01388 * @retval None 01389 */ 01390 __STATIC_INLINE void LL_DMA2D_FGND_SetCLUTSize(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTSize) 01391 { 01392 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CS, (CLUTSize << DMA2D_FGPFCCR_CS_Pos)); 01393 } 01394 01395 /** 01396 * @brief Get DMA2D foreground CLUT size, expressed on 8 bits ([7:0] bits). 01397 * @rmtoll FGPFCCR CS LL_DMA2D_FGND_GetCLUTSize 01398 * @param DMA2Dx DMA2D Instance 01399 * @retval Foreground CLUT size value between Min_Data=0 and Max_Data=0xFF 01400 */ 01401 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTSize(DMA2D_TypeDef *DMA2Dx) 01402 { 01403 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CS) >> DMA2D_FGPFCCR_CS_Pos); 01404 } 01405 01406 /** 01407 * @brief Set DMA2D foreground CLUT color mode. 01408 * @rmtoll FGPFCCR CCM LL_DMA2D_FGND_SetCLUTColorMode 01409 * @param DMA2Dx DMA2D Instance 01410 * @param CLUTColorMode This parameter can be one of the following values: 01411 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888 01412 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888 01413 * @retval None 01414 */ 01415 __STATIC_INLINE void LL_DMA2D_FGND_SetCLUTColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTColorMode) 01416 { 01417 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CCM, CLUTColorMode); 01418 } 01419 01420 /** 01421 * @brief Return DMA2D foreground CLUT color mode. 01422 * @rmtoll FGPFCCR CCM LL_DMA2D_FGND_GetCLUTColorMode 01423 * @param DMA2Dx DMA2D Instance 01424 * @retval Returned value can be one of the following values: 01425 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888 01426 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888 01427 */ 01428 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTColorMode(DMA2D_TypeDef *DMA2Dx) 01429 { 01430 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CCM)); 01431 } 01432 01433 /** 01434 * @} 01435 */ 01436 01437 /** @defgroup DMA2D_LL_EF_BGND_Configuration Background Configuration Functions 01438 * @{ 01439 */ 01440 01441 /** 01442 * @brief Set DMA2D background memory address, expressed on 32 bits ([31:0] bits). 01443 * @rmtoll BGMAR MA LL_DMA2D_BGND_SetMemAddr 01444 * @param DMA2Dx DMA2D Instance 01445 * @param MemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF 01446 * @retval None 01447 */ 01448 __STATIC_INLINE void LL_DMA2D_BGND_SetMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t MemoryAddress) 01449 { 01450 LL_DMA2D_WriteReg(DMA2Dx, BGMAR, MemoryAddress); 01451 } 01452 01453 /** 01454 * @brief Get DMA2D background memory address, expressed on 32 bits ([31:0] bits). 01455 * @rmtoll BGMAR MA LL_DMA2D_BGND_GetMemAddr 01456 * @param DMA2Dx DMA2D Instance 01457 * @retval Background memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF 01458 */ 01459 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetMemAddr(DMA2D_TypeDef *DMA2Dx) 01460 { 01461 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, BGMAR)); 01462 } 01463 01464 /** 01465 * @brief Enable DMA2D background CLUT loading. 01466 * @rmtoll BGPFCCR START LL_DMA2D_BGND_EnableCLUTLoad 01467 * @param DMA2Dx DMA2D Instance 01468 * @retval None 01469 */ 01470 __STATIC_INLINE void LL_DMA2D_BGND_EnableCLUTLoad(DMA2D_TypeDef *DMA2Dx) 01471 { 01472 SET_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_START); 01473 } 01474 01475 /** 01476 * @brief Indicate if DMA2D background CLUT loading is enabled. 01477 * @rmtoll BGPFCCR START LL_DMA2D_BGND_IsEnabledCLUTLoad 01478 * @param DMA2Dx DMA2D Instance 01479 * @retval State of bit (1 or 0). 01480 */ 01481 __STATIC_INLINE uint32_t LL_DMA2D_BGND_IsEnabledCLUTLoad(DMA2D_TypeDef *DMA2Dx) 01482 { 01483 return ((READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_START) == (DMA2D_BGPFCCR_START)) ? 1UL : 0UL); 01484 } 01485 01486 /** 01487 * @brief Set DMA2D background color mode. 01488 * @rmtoll BGPFCCR CM LL_DMA2D_BGND_SetColorMode 01489 * @param DMA2Dx DMA2D Instance 01490 * @param ColorMode This parameter can be one of the following values: 01491 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888 01492 * @arg @ref LL_DMA2D_INPUT_MODE_RGB888 01493 * @arg @ref LL_DMA2D_INPUT_MODE_RGB565 01494 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555 01495 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444 01496 * @arg @ref LL_DMA2D_INPUT_MODE_L8 01497 * @arg @ref LL_DMA2D_INPUT_MODE_AL44 01498 * @arg @ref LL_DMA2D_INPUT_MODE_AL88 01499 * @arg @ref LL_DMA2D_INPUT_MODE_L4 01500 * @arg @ref LL_DMA2D_INPUT_MODE_A8 01501 * @arg @ref LL_DMA2D_INPUT_MODE_A4 01502 * @retval None 01503 */ 01504 __STATIC_INLINE void LL_DMA2D_BGND_SetColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode) 01505 { 01506 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CM, ColorMode); 01507 } 01508 01509 /** 01510 * @brief Return DMA2D background color mode. 01511 * @rmtoll BGPFCCR CM LL_DMA2D_BGND_GetColorMode 01512 * @param DMA2Dx DMA2D Instance 01513 * @retval Returned value can be one of the following values: 01514 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888 01515 * @arg @ref LL_DMA2D_INPUT_MODE_RGB888 01516 * @arg @ref LL_DMA2D_INPUT_MODE_RGB565 01517 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555 01518 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444 01519 * @arg @ref LL_DMA2D_INPUT_MODE_L8 01520 * @arg @ref LL_DMA2D_INPUT_MODE_AL44 01521 * @arg @ref LL_DMA2D_INPUT_MODE_AL88 01522 * @arg @ref LL_DMA2D_INPUT_MODE_L4 01523 * @arg @ref LL_DMA2D_INPUT_MODE_A8 01524 * @arg @ref LL_DMA2D_INPUT_MODE_A4 01525 */ 01526 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetColorMode(DMA2D_TypeDef *DMA2Dx) 01527 { 01528 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CM)); 01529 } 01530 01531 /** 01532 * @brief Set DMA2D background alpha mode. 01533 * @rmtoll BGPFCCR AM LL_DMA2D_BGND_SetAlphaMode 01534 * @param DMA2Dx DMA2D Instance 01535 * @param AphaMode This parameter can be one of the following values: 01536 * @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF 01537 * @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE 01538 * @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE 01539 * @retval None 01540 */ 01541 __STATIC_INLINE void LL_DMA2D_BGND_SetAlphaMode(DMA2D_TypeDef *DMA2Dx, uint32_t AphaMode) 01542 { 01543 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AM, AphaMode); 01544 } 01545 01546 /** 01547 * @brief Return DMA2D background alpha mode. 01548 * @rmtoll BGPFCCR AM LL_DMA2D_BGND_GetAlphaMode 01549 * @param DMA2Dx DMA2D Instance 01550 * @retval Returned value can be one of the following values: 01551 * @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF 01552 * @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE 01553 * @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE 01554 */ 01555 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetAlphaMode(DMA2D_TypeDef *DMA2Dx) 01556 { 01557 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AM)); 01558 } 01559 01560 /** 01561 * @brief Set DMA2D background alpha value, expressed on 8 bits ([7:0] bits). 01562 * @rmtoll BGPFCCR ALPHA LL_DMA2D_BGND_SetAlpha 01563 * @param DMA2Dx DMA2D Instance 01564 * @param Alpha Value between Min_Data=0 and Max_Data=0xFF 01565 * @retval None 01566 */ 01567 __STATIC_INLINE void LL_DMA2D_BGND_SetAlpha(DMA2D_TypeDef *DMA2Dx, uint32_t Alpha) 01568 { 01569 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_ALPHA, (Alpha << DMA2D_BGPFCCR_ALPHA_Pos)); 01570 } 01571 01572 /** 01573 * @brief Return DMA2D background alpha value, expressed on 8 bits ([7:0] bits). 01574 * @rmtoll BGPFCCR ALPHA LL_DMA2D_BGND_GetAlpha 01575 * @param DMA2Dx DMA2D Instance 01576 * @retval Alpha value between Min_Data=0 and Max_Data=0xFF 01577 */ 01578 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetAlpha(DMA2D_TypeDef *DMA2Dx) 01579 { 01580 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_ALPHA) >> DMA2D_BGPFCCR_ALPHA_Pos); 01581 } 01582 01583 /** 01584 * @brief Set DMA2D background Red Blue swap mode. 01585 * @rmtoll BGPFCCR RBS LL_DMA2D_BGND_SetRBSwapMode 01586 * @param DMA2Dx DMA2D Instance 01587 * @param RBSwapMode This parameter can be one of the following values: 01588 * @arg @ref LL_DMA2D_RB_MODE_REGULAR 01589 * @arg @ref LL_DMA2D_RB_MODE_SWAP 01590 * @retval None 01591 */ 01592 __STATIC_INLINE void LL_DMA2D_BGND_SetRBSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t RBSwapMode) 01593 { 01594 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_RBS, RBSwapMode); 01595 } 01596 01597 /** 01598 * @brief Return DMA2D background Red Blue swap mode. 01599 * @rmtoll BGPFCCR RBS LL_DMA2D_BGND_GetRBSwapMode 01600 * @param DMA2Dx DMA2D Instance 01601 * @retval Returned value can be one of the following values: 01602 * @arg @ref LL_DMA2D_RB_MODE_REGULAR 01603 * @arg @ref LL_DMA2D_RB_MODE_SWAP 01604 */ 01605 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetRBSwapMode(DMA2D_TypeDef *DMA2Dx) 01606 { 01607 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_RBS)); 01608 } 01609 01610 /** 01611 * @brief Set DMA2D background alpha inversion mode. 01612 * @rmtoll BGPFCCR AI LL_DMA2D_BGND_SetAlphaInvMode 01613 * @param DMA2Dx DMA2D Instance 01614 * @param AlphaInversionMode This parameter can be one of the following values: 01615 * @arg @ref LL_DMA2D_ALPHA_REGULAR 01616 * @arg @ref LL_DMA2D_ALPHA_INVERTED 01617 * @retval None 01618 */ 01619 __STATIC_INLINE void LL_DMA2D_BGND_SetAlphaInvMode(DMA2D_TypeDef *DMA2Dx, uint32_t AlphaInversionMode) 01620 { 01621 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AI, AlphaInversionMode); 01622 } 01623 01624 /** 01625 * @brief Return DMA2D background alpha inversion mode. 01626 * @rmtoll BGPFCCR AI LL_DMA2D_BGND_GetAlphaInvMode 01627 * @param DMA2Dx DMA2D Instance 01628 * @retval Returned value can be one of the following values: 01629 * @arg @ref LL_DMA2D_ALPHA_REGULAR 01630 * @arg @ref LL_DMA2D_ALPHA_INVERTED 01631 */ 01632 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetAlphaInvMode(DMA2D_TypeDef *DMA2Dx) 01633 { 01634 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AI)); 01635 } 01636 01637 /** 01638 * @brief Set DMA2D background line offset, expressed on 14 bits ([13:0] bits). 01639 * @rmtoll BGOR LO LL_DMA2D_BGND_SetLineOffset 01640 * @param DMA2Dx DMA2D Instance 01641 * @param LineOffset Value between Min_Data=0 and Max_Data=0x3FF 01642 * @retval None 01643 */ 01644 __STATIC_INLINE void LL_DMA2D_BGND_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset) 01645 { 01646 MODIFY_REG(DMA2Dx->BGOR, DMA2D_BGOR_LO, LineOffset); 01647 } 01648 01649 /** 01650 * @brief Return DMA2D background line offset, expressed on 14 bits ([13:0] bits). 01651 * @rmtoll BGOR LO LL_DMA2D_BGND_GetLineOffset 01652 * @param DMA2Dx DMA2D Instance 01653 * @retval Background line offset value between Min_Data=0 and Max_Data=0x3FF 01654 */ 01655 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetLineOffset(DMA2D_TypeDef *DMA2Dx) 01656 { 01657 return (uint32_t)(READ_BIT(DMA2Dx->BGOR, DMA2D_BGOR_LO)); 01658 } 01659 01660 /** 01661 * @brief Set DMA2D background color values, expressed on 24 bits ([23:0] bits). 01662 * @rmtoll BGCOLR RED LL_DMA2D_BGND_SetColor 01663 * @rmtoll BGCOLR GREEN LL_DMA2D_BGND_SetColor 01664 * @rmtoll BGCOLR BLUE LL_DMA2D_BGND_SetColor 01665 * @param DMA2Dx DMA2D Instance 01666 * @param Red Value between Min_Data=0 and Max_Data=0xFF 01667 * @param Green Value between Min_Data=0 and Max_Data=0xFF 01668 * @param Blue Value between Min_Data=0 and Max_Data=0xFF 01669 * @retval None 01670 */ 01671 __STATIC_INLINE void LL_DMA2D_BGND_SetColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red, uint32_t Green, uint32_t Blue) 01672 { 01673 MODIFY_REG(DMA2Dx->BGCOLR, (DMA2D_BGCOLR_RED | DMA2D_BGCOLR_GREEN | DMA2D_BGCOLR_BLUE), \ 01674 ((Red << DMA2D_BGCOLR_RED_Pos) | (Green << DMA2D_BGCOLR_GREEN_Pos) | Blue)); 01675 } 01676 01677 /** 01678 * @brief Set DMA2D background red color value, expressed on 8 bits ([7:0] bits). 01679 * @rmtoll BGCOLR RED LL_DMA2D_BGND_SetRedColor 01680 * @param DMA2Dx DMA2D Instance 01681 * @param Red Value between Min_Data=0 and Max_Data=0xFF 01682 * @retval None 01683 */ 01684 __STATIC_INLINE void LL_DMA2D_BGND_SetRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red) 01685 { 01686 MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_RED, (Red << DMA2D_BGCOLR_RED_Pos)); 01687 } 01688 01689 /** 01690 * @brief Return DMA2D background red color value, expressed on 8 bits ([7:0] bits). 01691 * @rmtoll BGCOLR RED LL_DMA2D_BGND_GetRedColor 01692 * @param DMA2Dx DMA2D Instance 01693 * @retval Red color value between Min_Data=0 and Max_Data=0xFF 01694 */ 01695 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetRedColor(DMA2D_TypeDef *DMA2Dx) 01696 { 01697 return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_RED) >> DMA2D_BGCOLR_RED_Pos); 01698 } 01699 01700 /** 01701 * @brief Set DMA2D background green color value, expressed on 8 bits ([7:0] bits). 01702 * @rmtoll BGCOLR GREEN LL_DMA2D_BGND_SetGreenColor 01703 * @param DMA2Dx DMA2D Instance 01704 * @param Green Value between Min_Data=0 and Max_Data=0xFF 01705 * @retval None 01706 */ 01707 __STATIC_INLINE void LL_DMA2D_BGND_SetGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t Green) 01708 { 01709 MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_GREEN, (Green << DMA2D_BGCOLR_GREEN_Pos)); 01710 } 01711 01712 /** 01713 * @brief Return DMA2D background green color value, expressed on 8 bits ([7:0] bits). 01714 * @rmtoll BGCOLR GREEN LL_DMA2D_BGND_GetGreenColor 01715 * @param DMA2Dx DMA2D Instance 01716 * @retval Green color value between Min_Data=0 and Max_Data=0xFF 01717 */ 01718 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetGreenColor(DMA2D_TypeDef *DMA2Dx) 01719 { 01720 return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_GREEN) >> DMA2D_BGCOLR_GREEN_Pos); 01721 } 01722 01723 /** 01724 * @brief Set DMA2D background blue color value, expressed on 8 bits ([7:0] bits). 01725 * @rmtoll BGCOLR BLUE LL_DMA2D_BGND_SetBlueColor 01726 * @param DMA2Dx DMA2D Instance 01727 * @param Blue Value between Min_Data=0 and Max_Data=0xFF 01728 * @retval None 01729 */ 01730 __STATIC_INLINE void LL_DMA2D_BGND_SetBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t Blue) 01731 { 01732 MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_BLUE, Blue); 01733 } 01734 01735 /** 01736 * @brief Return DMA2D background blue color value, expressed on 8 bits ([7:0] bits). 01737 * @rmtoll BGCOLR BLUE LL_DMA2D_BGND_GetBlueColor 01738 * @param DMA2Dx DMA2D Instance 01739 * @retval Blue color value between Min_Data=0 and Max_Data=0xFF 01740 */ 01741 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetBlueColor(DMA2D_TypeDef *DMA2Dx) 01742 { 01743 return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_BLUE)); 01744 } 01745 01746 /** 01747 * @brief Set DMA2D background CLUT memory address, expressed on 32 bits ([31:0] bits). 01748 * @rmtoll BGCMAR MA LL_DMA2D_BGND_SetCLUTMemAddr 01749 * @param DMA2Dx DMA2D Instance 01750 * @param CLUTMemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF 01751 * @retval None 01752 */ 01753 __STATIC_INLINE void LL_DMA2D_BGND_SetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTMemoryAddress) 01754 { 01755 LL_DMA2D_WriteReg(DMA2Dx, BGCMAR, CLUTMemoryAddress); 01756 } 01757 01758 /** 01759 * @brief Get DMA2D background CLUT memory address, expressed on 32 bits ([31:0] bits). 01760 * @rmtoll BGCMAR MA LL_DMA2D_BGND_GetCLUTMemAddr 01761 * @param DMA2Dx DMA2D Instance 01762 * @retval Background CLUT memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF 01763 */ 01764 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx) 01765 { 01766 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, BGCMAR)); 01767 } 01768 01769 /** 01770 * @brief Set DMA2D background CLUT size, expressed on 8 bits ([7:0] bits). 01771 * @rmtoll BGPFCCR CS LL_DMA2D_BGND_SetCLUTSize 01772 * @param DMA2Dx DMA2D Instance 01773 * @param CLUTSize Value between Min_Data=0 and Max_Data=0xFF 01774 * @retval None 01775 */ 01776 __STATIC_INLINE void LL_DMA2D_BGND_SetCLUTSize(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTSize) 01777 { 01778 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CS, (CLUTSize << DMA2D_BGPFCCR_CS_Pos)); 01779 } 01780 01781 /** 01782 * @brief Get DMA2D background CLUT size, expressed on 8 bits ([7:0] bits). 01783 * @rmtoll BGPFCCR CS LL_DMA2D_BGND_GetCLUTSize 01784 * @param DMA2Dx DMA2D Instance 01785 * @retval Background CLUT size value between Min_Data=0 and Max_Data=0xFF 01786 */ 01787 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTSize(DMA2D_TypeDef *DMA2Dx) 01788 { 01789 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CS) >> DMA2D_BGPFCCR_CS_Pos); 01790 } 01791 01792 /** 01793 * @brief Set DMA2D background CLUT color mode. 01794 * @rmtoll BGPFCCR CCM LL_DMA2D_BGND_SetCLUTColorMode 01795 * @param DMA2Dx DMA2D Instance 01796 * @param CLUTColorMode This parameter can be one of the following values: 01797 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888 01798 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888 01799 * @retval None 01800 */ 01801 __STATIC_INLINE void LL_DMA2D_BGND_SetCLUTColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTColorMode) 01802 { 01803 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CCM, CLUTColorMode); 01804 } 01805 01806 /** 01807 * @brief Return DMA2D background CLUT color mode. 01808 * @rmtoll BGPFCCR CCM LL_DMA2D_BGND_GetCLUTColorMode 01809 * @param DMA2Dx DMA2D Instance 01810 * @retval Returned value can be one of the following values: 01811 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888 01812 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888 01813 */ 01814 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTColorMode(DMA2D_TypeDef *DMA2Dx) 01815 { 01816 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CCM)); 01817 } 01818 01819 /** 01820 * @} 01821 */ 01822 01823 /** 01824 * @} 01825 */ 01826 01827 01828 /** @defgroup DMA2D_LL_EF_FLAG_MANAGEMENT Flag Management 01829 * @{ 01830 */ 01831 01832 /** 01833 * @brief Check if the DMA2D Configuration Error Interrupt Flag is set or not 01834 * @rmtoll ISR CEIF LL_DMA2D_IsActiveFlag_CE 01835 * @param DMA2Dx DMA2D Instance 01836 * @retval State of bit (1 or 0). 01837 */ 01838 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CE(DMA2D_TypeDef *DMA2Dx) 01839 { 01840 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CEIF) == (DMA2D_ISR_CEIF)) ? 1UL : 0UL); 01841 } 01842 01843 /** 01844 * @brief Check if the DMA2D CLUT Transfer Complete Interrupt Flag is set or not 01845 * @rmtoll ISR CTCIF LL_DMA2D_IsActiveFlag_CTC 01846 * @param DMA2Dx DMA2D Instance 01847 * @retval State of bit (1 or 0). 01848 */ 01849 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CTC(DMA2D_TypeDef *DMA2Dx) 01850 { 01851 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CTCIF) == (DMA2D_ISR_CTCIF)) ? 1UL : 0UL); 01852 } 01853 01854 /** 01855 * @brief Check if the DMA2D CLUT Access Error Interrupt Flag is set or not 01856 * @rmtoll ISR CAEIF LL_DMA2D_IsActiveFlag_CAE 01857 * @param DMA2Dx DMA2D Instance 01858 * @retval State of bit (1 or 0). 01859 */ 01860 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CAE(DMA2D_TypeDef *DMA2Dx) 01861 { 01862 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CAEIF) == (DMA2D_ISR_CAEIF)) ? 1UL : 0UL); 01863 } 01864 01865 /** 01866 * @brief Check if the DMA2D Transfer Watermark Interrupt Flag is set or not 01867 * @rmtoll ISR TWIF LL_DMA2D_IsActiveFlag_TW 01868 * @param DMA2Dx DMA2D Instance 01869 * @retval State of bit (1 or 0). 01870 */ 01871 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TW(DMA2D_TypeDef *DMA2Dx) 01872 { 01873 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TWIF) == (DMA2D_ISR_TWIF)) ? 1UL : 0UL); 01874 } 01875 01876 /** 01877 * @brief Check if the DMA2D Transfer Complete Interrupt Flag is set or not 01878 * @rmtoll ISR TCIF LL_DMA2D_IsActiveFlag_TC 01879 * @param DMA2Dx DMA2D Instance 01880 * @retval State of bit (1 or 0). 01881 */ 01882 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TC(DMA2D_TypeDef *DMA2Dx) 01883 { 01884 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TCIF) == (DMA2D_ISR_TCIF)) ? 1UL : 0UL); 01885 } 01886 01887 /** 01888 * @brief Check if the DMA2D Transfer Error Interrupt Flag is set or not 01889 * @rmtoll ISR TEIF LL_DMA2D_IsActiveFlag_TE 01890 * @param DMA2Dx DMA2D Instance 01891 * @retval State of bit (1 or 0). 01892 */ 01893 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TE(DMA2D_TypeDef *DMA2Dx) 01894 { 01895 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TEIF) == (DMA2D_ISR_TEIF)) ? 1UL : 0UL); 01896 } 01897 01898 /** 01899 * @brief Clear DMA2D Configuration Error Interrupt Flag 01900 * @rmtoll IFCR CCEIF LL_DMA2D_ClearFlag_CE 01901 * @param DMA2Dx DMA2D Instance 01902 * @retval None 01903 */ 01904 __STATIC_INLINE void LL_DMA2D_ClearFlag_CE(DMA2D_TypeDef *DMA2Dx) 01905 { 01906 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CCEIF); 01907 } 01908 01909 /** 01910 * @brief Clear DMA2D CLUT Transfer Complete Interrupt Flag 01911 * @rmtoll IFCR CCTCIF LL_DMA2D_ClearFlag_CTC 01912 * @param DMA2Dx DMA2D Instance 01913 * @retval None 01914 */ 01915 __STATIC_INLINE void LL_DMA2D_ClearFlag_CTC(DMA2D_TypeDef *DMA2Dx) 01916 { 01917 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CCTCIF); 01918 } 01919 01920 /** 01921 * @brief Clear DMA2D CLUT Access Error Interrupt Flag 01922 * @rmtoll IFCR CAECIF LL_DMA2D_ClearFlag_CAE 01923 * @param DMA2Dx DMA2D Instance 01924 * @retval None 01925 */ 01926 __STATIC_INLINE void LL_DMA2D_ClearFlag_CAE(DMA2D_TypeDef *DMA2Dx) 01927 { 01928 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CAECIF); 01929 } 01930 01931 /** 01932 * @brief Clear DMA2D Transfer Watermark Interrupt Flag 01933 * @rmtoll IFCR CTWIF LL_DMA2D_ClearFlag_TW 01934 * @param DMA2Dx DMA2D Instance 01935 * @retval None 01936 */ 01937 __STATIC_INLINE void LL_DMA2D_ClearFlag_TW(DMA2D_TypeDef *DMA2Dx) 01938 { 01939 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTWIF); 01940 } 01941 01942 /** 01943 * @brief Clear DMA2D Transfer Complete Interrupt Flag 01944 * @rmtoll IFCR CTCIF LL_DMA2D_ClearFlag_TC 01945 * @param DMA2Dx DMA2D Instance 01946 * @retval None 01947 */ 01948 __STATIC_INLINE void LL_DMA2D_ClearFlag_TC(DMA2D_TypeDef *DMA2Dx) 01949 { 01950 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTCIF); 01951 } 01952 01953 /** 01954 * @brief Clear DMA2D Transfer Error Interrupt Flag 01955 * @rmtoll IFCR CTEIF LL_DMA2D_ClearFlag_TE 01956 * @param DMA2Dx DMA2D Instance 01957 * @retval None 01958 */ 01959 __STATIC_INLINE void LL_DMA2D_ClearFlag_TE(DMA2D_TypeDef *DMA2Dx) 01960 { 01961 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTEIF); 01962 } 01963 01964 /** 01965 * @} 01966 */ 01967 01968 /** @defgroup DMA2D_LL_EF_IT_MANAGEMENT Interruption Management 01969 * @{ 01970 */ 01971 01972 /** 01973 * @brief Enable Configuration Error Interrupt 01974 * @rmtoll CR CEIE LL_DMA2D_EnableIT_CE 01975 * @param DMA2Dx DMA2D Instance 01976 * @retval None 01977 */ 01978 __STATIC_INLINE void LL_DMA2D_EnableIT_CE(DMA2D_TypeDef *DMA2Dx) 01979 { 01980 SET_BIT(DMA2Dx->CR, DMA2D_CR_CEIE); 01981 } 01982 01983 /** 01984 * @brief Enable CLUT Transfer Complete Interrupt 01985 * @rmtoll CR CTCIE LL_DMA2D_EnableIT_CTC 01986 * @param DMA2Dx DMA2D Instance 01987 * @retval None 01988 */ 01989 __STATIC_INLINE void LL_DMA2D_EnableIT_CTC(DMA2D_TypeDef *DMA2Dx) 01990 { 01991 SET_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE); 01992 } 01993 01994 /** 01995 * @brief Enable CLUT Access Error Interrupt 01996 * @rmtoll CR CAEIE LL_DMA2D_EnableIT_CAE 01997 * @param DMA2Dx DMA2D Instance 01998 * @retval None 01999 */ 02000 __STATIC_INLINE void LL_DMA2D_EnableIT_CAE(DMA2D_TypeDef *DMA2Dx) 02001 { 02002 SET_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE); 02003 } 02004 02005 /** 02006 * @brief Enable Transfer Watermark Interrupt 02007 * @rmtoll CR TWIE LL_DMA2D_EnableIT_TW 02008 * @param DMA2Dx DMA2D Instance 02009 * @retval None 02010 */ 02011 __STATIC_INLINE void LL_DMA2D_EnableIT_TW(DMA2D_TypeDef *DMA2Dx) 02012 { 02013 SET_BIT(DMA2Dx->CR, DMA2D_CR_TWIE); 02014 } 02015 02016 /** 02017 * @brief Enable Transfer Complete Interrupt 02018 * @rmtoll CR TCIE LL_DMA2D_EnableIT_TC 02019 * @param DMA2Dx DMA2D Instance 02020 * @retval None 02021 */ 02022 __STATIC_INLINE void LL_DMA2D_EnableIT_TC(DMA2D_TypeDef *DMA2Dx) 02023 { 02024 SET_BIT(DMA2Dx->CR, DMA2D_CR_TCIE); 02025 } 02026 02027 /** 02028 * @brief Enable Transfer Error Interrupt 02029 * @rmtoll CR TEIE LL_DMA2D_EnableIT_TE 02030 * @param DMA2Dx DMA2D Instance 02031 * @retval None 02032 */ 02033 __STATIC_INLINE void LL_DMA2D_EnableIT_TE(DMA2D_TypeDef *DMA2Dx) 02034 { 02035 SET_BIT(DMA2Dx->CR, DMA2D_CR_TEIE); 02036 } 02037 02038 /** 02039 * @brief Disable Configuration Error Interrupt 02040 * @rmtoll CR CEIE LL_DMA2D_DisableIT_CE 02041 * @param DMA2Dx DMA2D Instance 02042 * @retval None 02043 */ 02044 __STATIC_INLINE void LL_DMA2D_DisableIT_CE(DMA2D_TypeDef *DMA2Dx) 02045 { 02046 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CEIE); 02047 } 02048 02049 /** 02050 * @brief Disable CLUT Transfer Complete Interrupt 02051 * @rmtoll CR CTCIE LL_DMA2D_DisableIT_CTC 02052 * @param DMA2Dx DMA2D Instance 02053 * @retval None 02054 */ 02055 __STATIC_INLINE void LL_DMA2D_DisableIT_CTC(DMA2D_TypeDef *DMA2Dx) 02056 { 02057 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE); 02058 } 02059 02060 /** 02061 * @brief Disable CLUT Access Error Interrupt 02062 * @rmtoll CR CAEIE LL_DMA2D_DisableIT_CAE 02063 * @param DMA2Dx DMA2D Instance 02064 * @retval None 02065 */ 02066 __STATIC_INLINE void LL_DMA2D_DisableIT_CAE(DMA2D_TypeDef *DMA2Dx) 02067 { 02068 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE); 02069 } 02070 02071 /** 02072 * @brief Disable Transfer Watermark Interrupt 02073 * @rmtoll CR TWIE LL_DMA2D_DisableIT_TW 02074 * @param DMA2Dx DMA2D Instance 02075 * @retval None 02076 */ 02077 __STATIC_INLINE void LL_DMA2D_DisableIT_TW(DMA2D_TypeDef *DMA2Dx) 02078 { 02079 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TWIE); 02080 } 02081 02082 /** 02083 * @brief Disable Transfer Complete Interrupt 02084 * @rmtoll CR TCIE LL_DMA2D_DisableIT_TC 02085 * @param DMA2Dx DMA2D Instance 02086 * @retval None 02087 */ 02088 __STATIC_INLINE void LL_DMA2D_DisableIT_TC(DMA2D_TypeDef *DMA2Dx) 02089 { 02090 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TCIE); 02091 } 02092 02093 /** 02094 * @brief Disable Transfer Error Interrupt 02095 * @rmtoll CR TEIE LL_DMA2D_DisableIT_TE 02096 * @param DMA2Dx DMA2D Instance 02097 * @retval None 02098 */ 02099 __STATIC_INLINE void LL_DMA2D_DisableIT_TE(DMA2D_TypeDef *DMA2Dx) 02100 { 02101 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TEIE); 02102 } 02103 02104 /** 02105 * @brief Check if the DMA2D Configuration Error interrupt source is enabled or disabled. 02106 * @rmtoll CR CEIE LL_DMA2D_IsEnabledIT_CE 02107 * @param DMA2Dx DMA2D Instance 02108 * @retval State of bit (1 or 0). 02109 */ 02110 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CE(DMA2D_TypeDef *DMA2Dx) 02111 { 02112 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_CEIE) == (DMA2D_CR_CEIE)) ? 1UL : 0UL); 02113 } 02114 02115 /** 02116 * @brief Check if the DMA2D CLUT Transfer Complete interrupt source is enabled or disabled. 02117 * @rmtoll CR CTCIE LL_DMA2D_IsEnabledIT_CTC 02118 * @param DMA2Dx DMA2D Instance 02119 * @retval State of bit (1 or 0). 02120 */ 02121 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CTC(DMA2D_TypeDef *DMA2Dx) 02122 { 02123 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE) == (DMA2D_CR_CTCIE)) ? 1UL : 0UL); 02124 } 02125 02126 /** 02127 * @brief Check if the DMA2D CLUT Access Error interrupt source is enabled or disabled. 02128 * @rmtoll CR CAEIE LL_DMA2D_IsEnabledIT_CAE 02129 * @param DMA2Dx DMA2D Instance 02130 * @retval State of bit (1 or 0). 02131 */ 02132 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CAE(DMA2D_TypeDef *DMA2Dx) 02133 { 02134 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE) == (DMA2D_CR_CAEIE)) ? 1UL : 0UL); 02135 } 02136 02137 /** 02138 * @brief Check if the DMA2D Transfer Watermark interrupt source is enabled or disabled. 02139 * @rmtoll CR TWIE LL_DMA2D_IsEnabledIT_TW 02140 * @param DMA2Dx DMA2D Instance 02141 * @retval State of bit (1 or 0). 02142 */ 02143 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TW(DMA2D_TypeDef *DMA2Dx) 02144 { 02145 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_TWIE) == (DMA2D_CR_TWIE)) ? 1UL : 0UL); 02146 } 02147 02148 /** 02149 * @brief Check if the DMA2D Transfer Complete interrupt source is enabled or disabled. 02150 * @rmtoll CR TCIE LL_DMA2D_IsEnabledIT_TC 02151 * @param DMA2Dx DMA2D Instance 02152 * @retval State of bit (1 or 0). 02153 */ 02154 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TC(DMA2D_TypeDef *DMA2Dx) 02155 { 02156 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_TCIE) == (DMA2D_CR_TCIE)) ? 1UL : 0UL); 02157 } 02158 02159 /** 02160 * @brief Check if the DMA2D Transfer Error interrupt source is enabled or disabled. 02161 * @rmtoll CR TEIE LL_DMA2D_IsEnabledIT_TE 02162 * @param DMA2Dx DMA2D Instance 02163 * @retval State of bit (1 or 0). 02164 */ 02165 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TE(DMA2D_TypeDef *DMA2Dx) 02166 { 02167 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_TEIE) == (DMA2D_CR_TEIE)) ? 1UL : 0UL); 02168 } 02169 02170 02171 02172 /** 02173 * @} 02174 */ 02175 02176 #if defined(USE_FULL_LL_DRIVER) 02177 /** @defgroup DMA2D_LL_EF_Init_Functions Initialization and De-initialization Functions 02178 * @{ 02179 */ 02180 02181 ErrorStatus LL_DMA2D_DeInit(DMA2D_TypeDef *DMA2Dx); 02182 ErrorStatus LL_DMA2D_Init(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_InitTypeDef *DMA2D_InitStruct); 02183 void LL_DMA2D_StructInit(LL_DMA2D_InitTypeDef *DMA2D_InitStruct); 02184 void LL_DMA2D_ConfigLayer(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_LayerCfgTypeDef *DMA2D_LayerCfg, uint32_t LayerIdx); 02185 void LL_DMA2D_LayerCfgStructInit(LL_DMA2D_LayerCfgTypeDef *DMA2D_LayerCfg); 02186 void LL_DMA2D_ConfigOutputColor(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_ColorTypeDef *DMA2D_ColorStruct); 02187 uint32_t LL_DMA2D_GetOutputBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode); 02188 uint32_t LL_DMA2D_GetOutputGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode); 02189 uint32_t LL_DMA2D_GetOutputRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode); 02190 uint32_t LL_DMA2D_GetOutputAlphaColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode); 02191 void LL_DMA2D_ConfigSize(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfLines, uint32_t NbrOfPixelsPerLines); 02192 02193 /** 02194 * @} 02195 */ 02196 #endif /* USE_FULL_LL_DRIVER */ 02197 02198 /** 02199 * @} 02200 */ 02201 02202 /** 02203 * @} 02204 */ 02205 02206 #endif /* defined (DMA2D) */ 02207 02208 /** 02209 * @} 02210 */ 02211 02212 #ifdef __cplusplus 02213 } 02214 #endif 02215 02216 #endif /* STM32L4xx_LL_DMA2D_H */