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