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

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_NUCLEO_L476RG/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_dma2d.h@161:aa5281ff4a02
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 145:64910690c574 1 /**
AnnaBridge 145:64910690c574 2 ******************************************************************************
AnnaBridge 145:64910690c574 3 * @file stm32l4xx_ll_dma2d.h
AnnaBridge 145:64910690c574 4 * @author MCD Application Team
AnnaBridge 145:64910690c574 5 * @brief Header file of DMA2D LL module.
AnnaBridge 145:64910690c574 6 ******************************************************************************
AnnaBridge 145:64910690c574 7 * @attention
AnnaBridge 145:64910690c574 8 *
AnnaBridge 145:64910690c574 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
AnnaBridge 145:64910690c574 10 *
AnnaBridge 145:64910690c574 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 145:64910690c574 12 * are permitted provided that the following conditions are met:
AnnaBridge 145:64910690c574 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 145:64910690c574 14 * this list of conditions and the following disclaimer.
AnnaBridge 145:64910690c574 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 145:64910690c574 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 145:64910690c574 17 * and/or other materials provided with the distribution.
AnnaBridge 145:64910690c574 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 145:64910690c574 19 * may be used to endorse or promote products derived from this software
AnnaBridge 145:64910690c574 20 * without specific prior written permission.
AnnaBridge 145:64910690c574 21 *
AnnaBridge 145:64910690c574 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 145:64910690c574 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 145:64910690c574 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 145:64910690c574 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 145:64910690c574 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 145:64910690c574 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 145:64910690c574 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 145:64910690c574 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 145:64910690c574 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 145:64910690c574 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 145:64910690c574 32 *
AnnaBridge 145:64910690c574 33 ******************************************************************************
AnnaBridge 145:64910690c574 34 */
AnnaBridge 145:64910690c574 35
AnnaBridge 145:64910690c574 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 145:64910690c574 37 #ifndef __STM32L4xx_LL_DMA2D_H
AnnaBridge 145:64910690c574 38 #define __STM32L4xx_LL_DMA2D_H
AnnaBridge 145:64910690c574 39
AnnaBridge 145:64910690c574 40 #ifdef __cplusplus
AnnaBridge 145:64910690c574 41 extern "C" {
AnnaBridge 145:64910690c574 42 #endif
AnnaBridge 145:64910690c574 43
AnnaBridge 145:64910690c574 44 /* Includes ------------------------------------------------------------------*/
AnnaBridge 145:64910690c574 45 #include "stm32l4xx.h"
AnnaBridge 145:64910690c574 46
AnnaBridge 145:64910690c574 47 /** @addtogroup STM32L4xx_LL_Driver
AnnaBridge 145:64910690c574 48 * @{
AnnaBridge 145:64910690c574 49 */
AnnaBridge 145:64910690c574 50
AnnaBridge 145:64910690c574 51 #if defined (DMA2D)
AnnaBridge 145:64910690c574 52
AnnaBridge 145:64910690c574 53 /** @defgroup DMA2D_LL DMA2D
AnnaBridge 145:64910690c574 54 * @{
AnnaBridge 145:64910690c574 55 */
AnnaBridge 145:64910690c574 56
AnnaBridge 145:64910690c574 57 /* Private types -------------------------------------------------------------*/
AnnaBridge 145:64910690c574 58 /* Private variables ---------------------------------------------------------*/
AnnaBridge 145:64910690c574 59 /* Private constants ---------------------------------------------------------*/
AnnaBridge 145:64910690c574 60 /* Private macros ------------------------------------------------------------*/
AnnaBridge 145:64910690c574 61 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 145:64910690c574 62 /** @defgroup DMA2D_LL_Private_Macros DMA2D Private Macros
AnnaBridge 145:64910690c574 63 * @{
AnnaBridge 145:64910690c574 64 */
AnnaBridge 145:64910690c574 65
AnnaBridge 145:64910690c574 66 /**
AnnaBridge 145:64910690c574 67 * @}
AnnaBridge 145:64910690c574 68 */
AnnaBridge 145:64910690c574 69 #endif /*USE_FULL_LL_DRIVER*/
AnnaBridge 145:64910690c574 70
AnnaBridge 145:64910690c574 71 /* Exported types ------------------------------------------------------------*/
AnnaBridge 145:64910690c574 72 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 145:64910690c574 73 /** @defgroup DMA2D_LL_ES_Init_Struct DMA2D Exported Init structures
AnnaBridge 145:64910690c574 74 * @{
AnnaBridge 145:64910690c574 75 */
AnnaBridge 145:64910690c574 76
AnnaBridge 145:64910690c574 77 /**
AnnaBridge 145:64910690c574 78 * @brief LL DMA2D Init Structure Definition
AnnaBridge 145:64910690c574 79 */
AnnaBridge 145:64910690c574 80 typedef struct
AnnaBridge 145:64910690c574 81 {
AnnaBridge 145:64910690c574 82 uint32_t Mode; /*!< Specifies the DMA2D transfer mode.
AnnaBridge 145:64910690c574 83 - This parameter can be one value of @ref DMA2D_LL_EC_MODE.
AnnaBridge 145:64910690c574 84
AnnaBridge 145:64910690c574 85 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetMode().*/
AnnaBridge 145:64910690c574 86
AnnaBridge 145:64910690c574 87 uint32_t ColorMode; /*!< Specifies the color format of the output image.
AnnaBridge 145:64910690c574 88 - This parameter can be one value of @ref DMA2D_LL_EC_OUTPUT_COLOR_MODE.
AnnaBridge 145:64910690c574 89
AnnaBridge 145:64910690c574 90 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColorMode(). */
AnnaBridge 145:64910690c574 91
AnnaBridge 145:64910690c574 92 uint32_t OutputBlue; /*!< Specifies the Blue value of the output image.
AnnaBridge 145:64910690c574 93 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
AnnaBridge 145:64910690c574 94 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
AnnaBridge 145:64910690c574 95 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected.
AnnaBridge 145:64910690c574 96 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
AnnaBridge 145:64910690c574 97 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
AnnaBridge 145:64910690c574 98
AnnaBridge 145:64910690c574 99 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
AnnaBridge 145:64910690c574 100 function @ref LL_DMA2D_ConfigOutputColor(). */
AnnaBridge 145:64910690c574 101
AnnaBridge 145:64910690c574 102 uint32_t OutputGreen; /*!< Specifies the Green value of the output image.
AnnaBridge 145:64910690c574 103 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
AnnaBridge 145:64910690c574 104 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
AnnaBridge 145:64910690c574 105 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x3F if RGB565 color mode is selected.
AnnaBridge 145:64910690c574 106 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
AnnaBridge 145:64910690c574 107 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
AnnaBridge 145:64910690c574 108
AnnaBridge 145:64910690c574 109 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
AnnaBridge 145:64910690c574 110 function @ref LL_DMA2D_ConfigOutputColor(). */
AnnaBridge 145:64910690c574 111
AnnaBridge 145:64910690c574 112 uint32_t OutputRed; /*!< Specifies the Red value of the output image.
AnnaBridge 145:64910690c574 113 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
AnnaBridge 145:64910690c574 114 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
AnnaBridge 145:64910690c574 115 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected.
AnnaBridge 145:64910690c574 116 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
AnnaBridge 145:64910690c574 117 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
AnnaBridge 145:64910690c574 118
AnnaBridge 145:64910690c574 119 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
AnnaBridge 145:64910690c574 120 function @ref LL_DMA2D_ConfigOutputColor(). */
AnnaBridge 145:64910690c574 121
AnnaBridge 145:64910690c574 122 uint32_t OutputAlpha; /*!< Specifies the Alpha channel of the output image.
AnnaBridge 145:64910690c574 123 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
AnnaBridge 145:64910690c574 124 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x01 if ARGB1555 color mode is selected.
AnnaBridge 145:64910690c574 125 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
AnnaBridge 145:64910690c574 126 - This parameter is not considered if RGB888 or RGB565 color mode is selected.
AnnaBridge 145:64910690c574 127
AnnaBridge 145:64910690c574 128 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
AnnaBridge 145:64910690c574 129 function @ref LL_DMA2D_ConfigOutputColor(). */
AnnaBridge 145:64910690c574 130
AnnaBridge 145:64910690c574 131 uint32_t OutputMemoryAddress; /*!< Specifies the memory address.
AnnaBridge 145:64910690c574 132 - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFFFFFF.
AnnaBridge 145:64910690c574 133
AnnaBridge 145:64910690c574 134 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputMemAddr(). */
AnnaBridge 145:64910690c574 135
AnnaBridge 161:aa5281ff4a02 136 #if defined(DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT)
AnnaBridge 161:aa5281ff4a02 137 uint32_t OutputSwapMode; /*!< Specifies the output swap mode color format of the output image.
AnnaBridge 161:aa5281ff4a02 138 - This parameter can be one value of @ref DMA2D_LL_EC_OUTPUT_SWAP_MODE.
AnnaBridge 161:aa5281ff4a02 139
AnnaBridge 161:aa5281ff4a02 140 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputSwapMode(). */
AnnaBridge 161:aa5281ff4a02 141 #endif /* DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT */
AnnaBridge 161:aa5281ff4a02 142
AnnaBridge 161:aa5281ff4a02 143 #if defined(DMA2D_LINE_OFFSET_MODE_SUPPORT)
AnnaBridge 161:aa5281ff4a02 144 uint32_t LineOffsetMode; /*!< Specifies the output line offset mode.
AnnaBridge 161:aa5281ff4a02 145 - This parameter can be one value of @ref DMA2D_LL_EC_LINE_OFFSET_MODE.
AnnaBridge 161:aa5281ff4a02 146
AnnaBridge 161:aa5281ff4a02 147 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetLineOffsetMode(). */
AnnaBridge 161:aa5281ff4a02 148 #endif /* DMA2D_LINE_OFFSET_MODE_SUPPORT */
AnnaBridge 161:aa5281ff4a02 149
AnnaBridge 145:64910690c574 150 uint32_t LineOffset; /*!< Specifies the output line offset value.
AnnaBridge 161:aa5281ff4a02 151 - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x3FFF on STM32L496xx/STM32L4A6xx
AnnaBridge 161:aa5281ff4a02 152 else between Min_Data = 0x0000 and Max_Data = 0xFFFF on other devices.
AnnaBridge 145:64910690c574 153
AnnaBridge 145:64910690c574 154 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetLineOffset(). */
AnnaBridge 145:64910690c574 155
AnnaBridge 145:64910690c574 156 uint32_t NbrOfLines; /*!< Specifies the number of lines of the area to be transferred.
AnnaBridge 145:64910690c574 157 - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF.
AnnaBridge 145:64910690c574 158
AnnaBridge 145:64910690c574 159 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetNbrOfLines(). */
AnnaBridge 145:64910690c574 160
AnnaBridge 145:64910690c574 161 uint32_t NbrOfPixelsPerLines; /*!< Specifies the number of pixels per lines of the area to be transfered.
AnnaBridge 145:64910690c574 162 - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x3FFF.
AnnaBridge 145:64910690c574 163
AnnaBridge 145:64910690c574 164 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetNbrOfPixelsPerLines(). */
AnnaBridge 145:64910690c574 165
AnnaBridge 145:64910690c574 166 uint32_t AlphaInversionMode; /*!< Specifies the output alpha inversion mode.
AnnaBridge 145:64910690c574 167 - This parameter can be one value of @ref DMA2D_LL_EC_ALPHA_INVERSION.
AnnaBridge 145:64910690c574 168
AnnaBridge 145:64910690c574 169 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputAlphaInvMode(). */
AnnaBridge 145:64910690c574 170
AnnaBridge 145:64910690c574 171 uint32_t RBSwapMode; /*!< Specifies the output Red Blue swap mode.
AnnaBridge 145:64910690c574 172 - This parameter can be one value of @ref DMA2D_LL_EC_RED_BLUE_SWAP.
AnnaBridge 145:64910690c574 173
AnnaBridge 145:64910690c574 174 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputRBSwapMode(). */
AnnaBridge 145:64910690c574 175
AnnaBridge 145:64910690c574 176 } LL_DMA2D_InitTypeDef;
AnnaBridge 145:64910690c574 177
AnnaBridge 145:64910690c574 178 /**
AnnaBridge 145:64910690c574 179 * @brief LL DMA2D Layer Configuration Structure Definition
AnnaBridge 145:64910690c574 180 */
AnnaBridge 145:64910690c574 181 typedef struct
AnnaBridge 145:64910690c574 182 {
AnnaBridge 145:64910690c574 183 uint32_t MemoryAddress; /*!< Specifies the foreground or background memory address.
AnnaBridge 145:64910690c574 184 - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFFFFFF.
AnnaBridge 145:64910690c574 185
AnnaBridge 145:64910690c574 186 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 187 - @ref LL_DMA2D_FGND_SetMemAddr() for foreground layer,
AnnaBridge 145:64910690c574 188 - @ref LL_DMA2D_BGND_SetMemAddr() for background layer. */
AnnaBridge 145:64910690c574 189
AnnaBridge 145:64910690c574 190 uint32_t LineOffset; /*!< Specifies the foreground or background line offset value.
AnnaBridge 145:64910690c574 191 - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x3FFF.
AnnaBridge 145:64910690c574 192
AnnaBridge 145:64910690c574 193 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 194 - @ref LL_DMA2D_FGND_SetLineOffset() for foreground layer,
AnnaBridge 145:64910690c574 195 - @ref LL_DMA2D_BGND_SetLineOffset() for background layer. */
AnnaBridge 145:64910690c574 196
AnnaBridge 145:64910690c574 197 uint32_t ColorMode; /*!< Specifies the foreground or background color mode.
AnnaBridge 145:64910690c574 198 - This parameter can be one value of @ref DMA2D_LL_EC_INPUT_COLOR_MODE.
AnnaBridge 145:64910690c574 199
AnnaBridge 145:64910690c574 200 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 201 - @ref LL_DMA2D_FGND_SetColorMode() for foreground layer,
AnnaBridge 145:64910690c574 202 - @ref LL_DMA2D_BGND_SetColorMode() for background layer. */
AnnaBridge 145:64910690c574 203
AnnaBridge 145:64910690c574 204 uint32_t CLUTColorMode; /*!< Specifies the foreground or background CLUT color mode.
AnnaBridge 145:64910690c574 205 - This parameter can be one value of @ref DMA2D_LL_EC_CLUT_COLOR_MODE.
AnnaBridge 145:64910690c574 206
AnnaBridge 145:64910690c574 207 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 208 - @ref LL_DMA2D_FGND_SetCLUTColorMode() for foreground layer,
AnnaBridge 145:64910690c574 209 - @ref LL_DMA2D_BGND_SetCLUTColorMode() for background layer. */
AnnaBridge 145:64910690c574 210
AnnaBridge 145:64910690c574 211 uint32_t CLUTSize; /*!< Specifies the foreground or background CLUT size.
AnnaBridge 145:64910690c574 212 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
AnnaBridge 145:64910690c574 213
AnnaBridge 145:64910690c574 214 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 215 - @ref LL_DMA2D_FGND_SetCLUTSize() for foreground layer,
AnnaBridge 145:64910690c574 216 - @ref LL_DMA2D_BGND_SetCLUTSize() for background layer. */
AnnaBridge 145:64910690c574 217
AnnaBridge 145:64910690c574 218 uint32_t AlphaMode; /*!< Specifies the foreground or background alpha mode.
AnnaBridge 145:64910690c574 219 - This parameter can be one value of @ref DMA2D_LL_EC_ALPHA_MODE.
AnnaBridge 145:64910690c574 220
AnnaBridge 145:64910690c574 221 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 222 - @ref LL_DMA2D_FGND_SetAlphaMode() for foreground layer,
AnnaBridge 145:64910690c574 223 - @ref LL_DMA2D_BGND_SetAlphaMode() for background layer. */
AnnaBridge 145:64910690c574 224
AnnaBridge 145:64910690c574 225 uint32_t Alpha; /*!< Specifies the foreground or background Alpha value.
AnnaBridge 145:64910690c574 226 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
AnnaBridge 145:64910690c574 227
AnnaBridge 145:64910690c574 228 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 229 - @ref LL_DMA2D_FGND_SetAlpha() for foreground layer,
AnnaBridge 145:64910690c574 230 - @ref LL_DMA2D_BGND_SetAlpha() for background layer. */
AnnaBridge 145:64910690c574 231
AnnaBridge 145:64910690c574 232 uint32_t Blue; /*!< Specifies the foreground or background Blue color value.
AnnaBridge 145:64910690c574 233 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
AnnaBridge 145:64910690c574 234
AnnaBridge 145:64910690c574 235 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 236 - @ref LL_DMA2D_FGND_SetBlueColor() for foreground layer,
AnnaBridge 145:64910690c574 237 - @ref LL_DMA2D_BGND_SetBlueColor() for background layer. */
AnnaBridge 145:64910690c574 238
AnnaBridge 145:64910690c574 239 uint32_t Green; /*!< Specifies the foreground or background Green color value.
AnnaBridge 145:64910690c574 240 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
AnnaBridge 145:64910690c574 241
AnnaBridge 145:64910690c574 242 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 243 - @ref LL_DMA2D_FGND_SetGreenColor() for foreground layer,
AnnaBridge 145:64910690c574 244 - @ref LL_DMA2D_BGND_SetGreenColor() for background layer. */
AnnaBridge 145:64910690c574 245
AnnaBridge 145:64910690c574 246 uint32_t Red; /*!< Specifies the foreground or background Red color value.
AnnaBridge 145:64910690c574 247 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
AnnaBridge 145:64910690c574 248
AnnaBridge 145:64910690c574 249 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 250 - @ref LL_DMA2D_FGND_SetRedColor() for foreground layer,
AnnaBridge 145:64910690c574 251 - @ref LL_DMA2D_BGND_SetRedColor() for background layer. */
AnnaBridge 145:64910690c574 252
AnnaBridge 145:64910690c574 253 uint32_t CLUTMemoryAddress; /*!< Specifies the foreground or background CLUT memory address.
AnnaBridge 145:64910690c574 254 - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFFFFFF.
AnnaBridge 145:64910690c574 255
AnnaBridge 145:64910690c574 256 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 257 - @ref LL_DMA2D_FGND_SetCLUTMemAddr() for foreground layer,
AnnaBridge 145:64910690c574 258 - @ref LL_DMA2D_BGND_SetCLUTMemAddr() for background layer. */
AnnaBridge 145:64910690c574 259
AnnaBridge 145:64910690c574 260 uint32_t AlphaInversionMode; /*!< Specifies the foreground or background alpha inversion mode.
AnnaBridge 145:64910690c574 261 - This parameter can be one value of @ref DMA2D_LL_EC_ALPHA_INVERSION.
AnnaBridge 145:64910690c574 262
AnnaBridge 145:64910690c574 263 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 264 - @ref LL_DMA2D_FGND_SetAlphaInvMode() for foreground layer,
AnnaBridge 145:64910690c574 265 - @ref LL_DMA2D_BGND_SetAlphaInvMode() for background layer. */
AnnaBridge 145:64910690c574 266
AnnaBridge 145:64910690c574 267 uint32_t RBSwapMode; /*!< Specifies the foreground or background Red Blue swap mode.
AnnaBridge 145:64910690c574 268 This parameter can be one value of @ref DMA2D_LL_EC_RED_BLUE_SWAP .
AnnaBridge 145:64910690c574 269
AnnaBridge 145:64910690c574 270 This parameter can be modified afterwards using unitary functions
AnnaBridge 145:64910690c574 271 - @ref LL_DMA2D_FGND_SetRBSwapMode() for foreground layer,
AnnaBridge 145:64910690c574 272 - @ref LL_DMA2D_BGND_SetRBSwapMode() for background layer. */
AnnaBridge 145:64910690c574 273
AnnaBridge 145:64910690c574 274 } LL_DMA2D_LayerCfgTypeDef;
AnnaBridge 145:64910690c574 275
AnnaBridge 145:64910690c574 276 /**
AnnaBridge 145:64910690c574 277 * @brief LL DMA2D Output Color Structure Definition
AnnaBridge 145:64910690c574 278 */
AnnaBridge 145:64910690c574 279 typedef struct
AnnaBridge 145:64910690c574 280 {
AnnaBridge 145:64910690c574 281 uint32_t ColorMode; /*!< Specifies the color format of the output image.
AnnaBridge 145:64910690c574 282 - This parameter can be one value of @ref DMA2D_LL_EC_OUTPUT_COLOR_MODE.
AnnaBridge 145:64910690c574 283
AnnaBridge 145:64910690c574 284 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColorMode(). */
AnnaBridge 145:64910690c574 285
AnnaBridge 145:64910690c574 286 uint32_t OutputBlue; /*!< Specifies the Blue value of the output image.
AnnaBridge 145:64910690c574 287 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
AnnaBridge 145:64910690c574 288 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
AnnaBridge 145:64910690c574 289 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected.
AnnaBridge 145:64910690c574 290 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
AnnaBridge 145:64910690c574 291 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
AnnaBridge 145:64910690c574 292
AnnaBridge 145:64910690c574 293 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
AnnaBridge 145:64910690c574 294 function @ref LL_DMA2D_ConfigOutputColor(). */
AnnaBridge 145:64910690c574 295
AnnaBridge 145:64910690c574 296 uint32_t OutputGreen; /*!< Specifies the Green value of the output image.
AnnaBridge 145:64910690c574 297 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
AnnaBridge 145:64910690c574 298 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
AnnaBridge 145:64910690c574 299 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x3F if RGB565 color mode is selected.
AnnaBridge 145:64910690c574 300 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
AnnaBridge 145:64910690c574 301 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
AnnaBridge 145:64910690c574 302
AnnaBridge 145:64910690c574 303 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
AnnaBridge 145:64910690c574 304 function @ref LL_DMA2D_ConfigOutputColor(). */
AnnaBridge 145:64910690c574 305
AnnaBridge 145:64910690c574 306 uint32_t OutputRed; /*!< Specifies the Red value of the output image.
AnnaBridge 145:64910690c574 307 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
AnnaBridge 145:64910690c574 308 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
AnnaBridge 145:64910690c574 309 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected.
AnnaBridge 145:64910690c574 310 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
AnnaBridge 145:64910690c574 311 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
AnnaBridge 145:64910690c574 312
AnnaBridge 145:64910690c574 313 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
AnnaBridge 145:64910690c574 314 function @ref LL_DMA2D_ConfigOutputColor(). */
AnnaBridge 145:64910690c574 315
AnnaBridge 145:64910690c574 316 uint32_t OutputAlpha; /*!< Specifies the Alpha channel of the output image.
AnnaBridge 145:64910690c574 317 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
AnnaBridge 145:64910690c574 318 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x01 if ARGB1555 color mode is selected.
AnnaBridge 145:64910690c574 319 - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
AnnaBridge 145:64910690c574 320 - This parameter is not considered if RGB888 or RGB565 color mode is selected.
AnnaBridge 145:64910690c574 321
AnnaBridge 145:64910690c574 322 This parameter can be modified afterwards using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
AnnaBridge 145:64910690c574 323 function @ref LL_DMA2D_ConfigOutputColor(). */
AnnaBridge 145:64910690c574 324
AnnaBridge 145:64910690c574 325 } LL_DMA2D_ColorTypeDef;
AnnaBridge 145:64910690c574 326
AnnaBridge 145:64910690c574 327 /**
AnnaBridge 145:64910690c574 328 * @}
AnnaBridge 145:64910690c574 329 */
AnnaBridge 145:64910690c574 330 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 145:64910690c574 331
AnnaBridge 145:64910690c574 332 /* Exported constants --------------------------------------------------------*/
AnnaBridge 145:64910690c574 333 /** @defgroup DMA2D_LL_Exported_Constants DMA2D Exported Constants
AnnaBridge 145:64910690c574 334 * @{
AnnaBridge 145:64910690c574 335 */
AnnaBridge 145:64910690c574 336
AnnaBridge 145:64910690c574 337 /** @defgroup DMA2D_LL_EC_GET_FLAG Get Flags Defines
AnnaBridge 145:64910690c574 338 * @brief Flags defines which can be used with LL_DMA2D_ReadReg function
AnnaBridge 145:64910690c574 339 * @{
AnnaBridge 145:64910690c574 340 */
AnnaBridge 145:64910690c574 341 #define LL_DMA2D_FLAG_CEIF DMA2D_ISR_CEIF /*!< Configuration Error Interrupt Flag */
AnnaBridge 145:64910690c574 342 #define LL_DMA2D_FLAG_CTCIF DMA2D_ISR_CTCIF /*!< CLUT Transfer Complete Interrupt Flag */
AnnaBridge 145:64910690c574 343 #define LL_DMA2D_FLAG_CAEIF DMA2D_ISR_CAEIF /*!< CLUT Access Error Interrupt Flag */
AnnaBridge 145:64910690c574 344 #define LL_DMA2D_FLAG_TWIF DMA2D_ISR_TWIF /*!< Transfer Watermark Interrupt Flag */
AnnaBridge 145:64910690c574 345 #define LL_DMA2D_FLAG_TCIF DMA2D_ISR_TCIF /*!< Transfer Complete Interrupt Flag */
AnnaBridge 145:64910690c574 346 #define LL_DMA2D_FLAG_TEIF DMA2D_ISR_TEIF /*!< Transfer Error Interrupt Flag */
AnnaBridge 145:64910690c574 347 /**
AnnaBridge 145:64910690c574 348 * @}
AnnaBridge 145:64910690c574 349 */
AnnaBridge 145:64910690c574 350
AnnaBridge 145:64910690c574 351 /** @defgroup DMA2D_LL_EC_IT IT Defines
AnnaBridge 145:64910690c574 352 * @brief IT defines which can be used with LL_DMA2D_ReadReg and LL_DMA2D_WriteReg functions
AnnaBridge 145:64910690c574 353 * @{
AnnaBridge 145:64910690c574 354 */
AnnaBridge 145:64910690c574 355 #define LL_DMA2D_IT_CEIE DMA2D_CR_CEIE /*!< Configuration Error Interrupt */
AnnaBridge 145:64910690c574 356 #define LL_DMA2D_IT_CTCIE DMA2D_CR_CTCIE /*!< CLUT Transfer Complete Interrupt */
AnnaBridge 145:64910690c574 357 #define LL_DMA2D_IT_CAEIE DMA2D_CR_CAEIE /*!< CLUT Access Error Interrupt */
AnnaBridge 145:64910690c574 358 #define LL_DMA2D_IT_TWIE DMA2D_CR_TWIE /*!< Transfer Watermark Interrupt */
AnnaBridge 145:64910690c574 359 #define LL_DMA2D_IT_TCIE DMA2D_CR_TCIE /*!< Transfer Complete Interrupt */
AnnaBridge 145:64910690c574 360 #define LL_DMA2D_IT_TEIE DMA2D_CR_TEIE /*!< Transfer Error Interrupt */
AnnaBridge 145:64910690c574 361 /**
AnnaBridge 145:64910690c574 362 * @}
AnnaBridge 145:64910690c574 363 */
AnnaBridge 145:64910690c574 364
AnnaBridge 145:64910690c574 365 /** @defgroup DMA2D_LL_EC_MODE Mode
AnnaBridge 145:64910690c574 366 * @{
AnnaBridge 145:64910690c574 367 */
AnnaBridge 145:64910690c574 368 #define LL_DMA2D_MODE_M2M 0x00000000U /*!< DMA2D memory to memory transfer mode */
AnnaBridge 145:64910690c574 369 #define LL_DMA2D_MODE_M2M_PFC DMA2D_CR_MODE_0 /*!< DMA2D memory to memory with pixel format conversion transfer mode */
AnnaBridge 145:64910690c574 370 #define LL_DMA2D_MODE_M2M_BLEND DMA2D_CR_MODE_1 /*!< DMA2D memory to memory with blending transfer mode */
AnnaBridge 161:aa5281ff4a02 371 #define LL_DMA2D_MODE_R2M (DMA2D_CR_MODE_0|DMA2D_CR_MODE_1) /*!< DMA2D register to memory transfer mode */
AnnaBridge 161:aa5281ff4a02 372 #if defined(DMA2D_M2M_BLEND_FIXED_COLOR_FG_BG_SUPPORT)
AnnaBridge 161:aa5281ff4a02 373 #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 */
AnnaBridge 161:aa5281ff4a02 374 #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 */
AnnaBridge 161:aa5281ff4a02 375 #endif /* DMA2D_M2M_BLEND_FIXED_COLOR_FG_BG_SUPPORT */
AnnaBridge 145:64910690c574 376 /**
AnnaBridge 145:64910690c574 377 * @}
AnnaBridge 145:64910690c574 378 */
AnnaBridge 145:64910690c574 379
AnnaBridge 145:64910690c574 380 /** @defgroup DMA2D_LL_EC_OUTPUT_COLOR_MODE Output Color Mode
AnnaBridge 145:64910690c574 381 * @{
AnnaBridge 145:64910690c574 382 */
AnnaBridge 145:64910690c574 383 #define LL_DMA2D_OUTPUT_MODE_ARGB8888 0x00000000U /*!< ARGB8888 */
AnnaBridge 145:64910690c574 384 #define LL_DMA2D_OUTPUT_MODE_RGB888 DMA2D_OPFCCR_CM_0 /*!< RGB888 */
AnnaBridge 145:64910690c574 385 #define LL_DMA2D_OUTPUT_MODE_RGB565 DMA2D_OPFCCR_CM_1 /*!< RGB565 */
AnnaBridge 145:64910690c574 386 #define LL_DMA2D_OUTPUT_MODE_ARGB1555 (DMA2D_OPFCCR_CM_0|DMA2D_OPFCCR_CM_1) /*!< ARGB1555 */
AnnaBridge 145:64910690c574 387 #define LL_DMA2D_OUTPUT_MODE_ARGB4444 DMA2D_OPFCCR_CM_2 /*!< ARGB4444 */
AnnaBridge 145:64910690c574 388 /**
AnnaBridge 145:64910690c574 389 * @}
AnnaBridge 145:64910690c574 390 */
AnnaBridge 145:64910690c574 391
AnnaBridge 145:64910690c574 392 /** @defgroup DMA2D_LL_EC_INPUT_COLOR_MODE Input Color Mode
AnnaBridge 145:64910690c574 393 * @{
AnnaBridge 145:64910690c574 394 */
AnnaBridge 145:64910690c574 395 #define LL_DMA2D_INPUT_MODE_ARGB8888 0x00000000U /*!< ARGB8888 */
AnnaBridge 145:64910690c574 396 #define LL_DMA2D_INPUT_MODE_RGB888 DMA2D_FGPFCCR_CM_0 /*!< RGB888 */
AnnaBridge 145:64910690c574 397 #define LL_DMA2D_INPUT_MODE_RGB565 DMA2D_FGPFCCR_CM_1 /*!< RGB565 */
AnnaBridge 145:64910690c574 398 #define LL_DMA2D_INPUT_MODE_ARGB1555 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_1) /*!< ARGB1555 */
AnnaBridge 145:64910690c574 399 #define LL_DMA2D_INPUT_MODE_ARGB4444 DMA2D_FGPFCCR_CM_2 /*!< ARGB4444 */
AnnaBridge 145:64910690c574 400 #define LL_DMA2D_INPUT_MODE_L8 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_2) /*!< L8 */
AnnaBridge 145:64910690c574 401 #define LL_DMA2D_INPUT_MODE_AL44 (DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_2) /*!< AL44 */
AnnaBridge 145:64910690c574 402 #define LL_DMA2D_INPUT_MODE_AL88 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_2) /*!< AL88 */
AnnaBridge 145:64910690c574 403 #define LL_DMA2D_INPUT_MODE_L4 DMA2D_FGPFCCR_CM_3 /*!< L4 */
AnnaBridge 145:64910690c574 404 #define LL_DMA2D_INPUT_MODE_A8 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_3) /*!< A8 */
AnnaBridge 145:64910690c574 405 #define LL_DMA2D_INPUT_MODE_A4 (DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_3) /*!< A4 */
AnnaBridge 145:64910690c574 406 /**
AnnaBridge 145:64910690c574 407 * @}
AnnaBridge 145:64910690c574 408 */
AnnaBridge 145:64910690c574 409
AnnaBridge 145:64910690c574 410 /** @defgroup DMA2D_LL_EC_ALPHA_MODE Alpha Mode
AnnaBridge 145:64910690c574 411 * @{
AnnaBridge 145:64910690c574 412 */
AnnaBridge 145:64910690c574 413 #define LL_DMA2D_ALPHA_MODE_NO_MODIF 0x00000000U /*!< No modification of the alpha channel value */
AnnaBridge 145:64910690c574 414 #define LL_DMA2D_ALPHA_MODE_REPLACE DMA2D_FGPFCCR_AM_0 /*!< Replace original alpha channel value by programmed alpha value */
AnnaBridge 145:64910690c574 415 #define LL_DMA2D_ALPHA_MODE_COMBINE DMA2D_FGPFCCR_AM_1 /*!< Replace original alpha channel value by programmed alpha value
AnnaBridge 145:64910690c574 416 with original alpha channel value */
AnnaBridge 145:64910690c574 417 /**
AnnaBridge 145:64910690c574 418 * @}
AnnaBridge 145:64910690c574 419 */
AnnaBridge 145:64910690c574 420
AnnaBridge 161:aa5281ff4a02 421 #if defined(DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT)
AnnaBridge 161:aa5281ff4a02 422 /** @defgroup DMA2D_LL_EC_OUTPUT_SWAP_MODE Swap Mode
AnnaBridge 161:aa5281ff4a02 423 * @{
AnnaBridge 161:aa5281ff4a02 424 */
AnnaBridge 161:aa5281ff4a02 425 #define LL_DMA2D_SWAP_MODE_REGULAR ((uint32_t)0x00000000) /*!< Regular order */
AnnaBridge 161:aa5281ff4a02 426 #define LL_DMA2D_SWAP_MODE_TWO_BY_TWO DMA2D_OPFCCR_SB /*!< Bytes swapped two by two */
AnnaBridge 161:aa5281ff4a02 427 /**
AnnaBridge 161:aa5281ff4a02 428 * @}
AnnaBridge 161:aa5281ff4a02 429 */
AnnaBridge 161:aa5281ff4a02 430 #endif /* DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT */
AnnaBridge 161:aa5281ff4a02 431
AnnaBridge 145:64910690c574 432 /** @defgroup DMA2D_LL_EC_RED_BLUE_SWAP Red Blue Swap
AnnaBridge 145:64910690c574 433 * @{
AnnaBridge 145:64910690c574 434 */
AnnaBridge 145:64910690c574 435 #define LL_DMA2D_RB_MODE_REGULAR 0x00000000U /*!< RGB or ARGB */
AnnaBridge 145:64910690c574 436 #define LL_DMA2D_RB_MODE_SWAP DMA2D_FGPFCCR_RBS /*!< BGR or ABGR */
AnnaBridge 145:64910690c574 437 /**
AnnaBridge 145:64910690c574 438 * @}
AnnaBridge 145:64910690c574 439 */
AnnaBridge 145:64910690c574 440
AnnaBridge 145:64910690c574 441 /** @defgroup DMA2D_LL_EC_ALPHA_INVERSION Alpha Inversion
AnnaBridge 145:64910690c574 442 * @{
AnnaBridge 145:64910690c574 443 */
AnnaBridge 145:64910690c574 444 #define LL_DMA2D_ALPHA_REGULAR 0x00000000U /*!< Regular alpha */
AnnaBridge 145:64910690c574 445 #define LL_DMA2D_ALPHA_INVERTED DMA2D_FGPFCCR_AI /*!< Inverted alpha */
AnnaBridge 145:64910690c574 446 /**
AnnaBridge 145:64910690c574 447 * @}
AnnaBridge 145:64910690c574 448 */
AnnaBridge 145:64910690c574 449
AnnaBridge 161:aa5281ff4a02 450 #if defined(DMA2D_LINE_OFFSET_MODE_SUPPORT)
AnnaBridge 161:aa5281ff4a02 451 /** @defgroup DMA2D_LL_EC_LINE_OFFSET_MODE Line Offset Mode
AnnaBridge 161:aa5281ff4a02 452 * @{
AnnaBridge 161:aa5281ff4a02 453 */
AnnaBridge 161:aa5281ff4a02 454 #define LL_DMA2D_LINE_OFFSET_PIXELS ((uint32_t)0x00000000) /*!< Line offsets are expressed in pixels */
AnnaBridge 161:aa5281ff4a02 455 #define LL_DMA2D_LINE_OFFSET_BYTES DMA2D_CR_LOM /*!< Line offsets are expressed in bytes */
AnnaBridge 161:aa5281ff4a02 456 /**
AnnaBridge 161:aa5281ff4a02 457 * @}
AnnaBridge 161:aa5281ff4a02 458 */
AnnaBridge 161:aa5281ff4a02 459 #endif /* DMA2D_LINE_OFFSET_MODE_SUPPORT */
AnnaBridge 161:aa5281ff4a02 460
AnnaBridge 145:64910690c574 461 /** @defgroup DMA2D_LL_EC_CLUT_COLOR_MODE CLUT Color Mode
AnnaBridge 145:64910690c574 462 * @{
AnnaBridge 145:64910690c574 463 */
AnnaBridge 145:64910690c574 464 #define LL_DMA2D_CLUT_COLOR_MODE_ARGB8888 0x00000000U /*!< ARGB8888 */
AnnaBridge 145:64910690c574 465 #define LL_DMA2D_CLUT_COLOR_MODE_RGB888 DMA2D_FGPFCCR_CCM /*!< RGB888 */
AnnaBridge 145:64910690c574 466 /**
AnnaBridge 145:64910690c574 467 * @}
AnnaBridge 145:64910690c574 468 */
AnnaBridge 145:64910690c574 469
AnnaBridge 145:64910690c574 470 /**
AnnaBridge 145:64910690c574 471 * @}
AnnaBridge 145:64910690c574 472 */
AnnaBridge 145:64910690c574 473
AnnaBridge 145:64910690c574 474 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 145:64910690c574 475 /** @defgroup DMA2D_LL_Exported_Macros DMA2D Exported Macros
AnnaBridge 145:64910690c574 476 * @{
AnnaBridge 145:64910690c574 477 */
AnnaBridge 145:64910690c574 478
AnnaBridge 145:64910690c574 479 /** @defgroup DMA2D_LL_EM_WRITE_READ Common Write and read registers Macros
AnnaBridge 145:64910690c574 480 * @{
AnnaBridge 145:64910690c574 481 */
AnnaBridge 145:64910690c574 482
AnnaBridge 145:64910690c574 483 /**
AnnaBridge 145:64910690c574 484 * @brief Write a value in DMA2D register.
AnnaBridge 145:64910690c574 485 * @param __INSTANCE__ DMA2D Instance
AnnaBridge 145:64910690c574 486 * @param __REG__ Register to be written
AnnaBridge 145:64910690c574 487 * @param __VALUE__ Value to be written in the register
AnnaBridge 145:64910690c574 488 * @retval None
AnnaBridge 145:64910690c574 489 */
AnnaBridge 145:64910690c574 490 #define LL_DMA2D_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
AnnaBridge 145:64910690c574 491
AnnaBridge 145:64910690c574 492 /**
AnnaBridge 145:64910690c574 493 * @brief Read a value in DMA2D register.
AnnaBridge 145:64910690c574 494 * @param __INSTANCE__ DMA2D Instance
AnnaBridge 145:64910690c574 495 * @param __REG__ Register to be read
AnnaBridge 145:64910690c574 496 * @retval Register value
AnnaBridge 145:64910690c574 497 */
AnnaBridge 145:64910690c574 498 #define LL_DMA2D_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 145:64910690c574 499 /**
AnnaBridge 145:64910690c574 500 * @}
AnnaBridge 145:64910690c574 501 */
AnnaBridge 145:64910690c574 502
AnnaBridge 145:64910690c574 503 /**
AnnaBridge 145:64910690c574 504 * @}
AnnaBridge 145:64910690c574 505 */
AnnaBridge 145:64910690c574 506
AnnaBridge 145:64910690c574 507 /* Exported functions --------------------------------------------------------*/
AnnaBridge 145:64910690c574 508 /** @defgroup DMA2D_LL_Exported_Functions DMA2D Exported Functions
AnnaBridge 145:64910690c574 509 * @{
AnnaBridge 145:64910690c574 510 */
AnnaBridge 145:64910690c574 511
AnnaBridge 145:64910690c574 512 /** @defgroup DMA2D_LL_EF_Configuration Configuration Functions
AnnaBridge 145:64910690c574 513 * @{
AnnaBridge 145:64910690c574 514 */
AnnaBridge 145:64910690c574 515
AnnaBridge 145:64910690c574 516 /**
AnnaBridge 145:64910690c574 517 * @brief Start a DMA2D transfer.
AnnaBridge 145:64910690c574 518 * @rmtoll CR START LL_DMA2D_Start
AnnaBridge 145:64910690c574 519 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 520 * @retval None
AnnaBridge 145:64910690c574 521 */
AnnaBridge 145:64910690c574 522 __STATIC_INLINE void LL_DMA2D_Start(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 523 {
AnnaBridge 145:64910690c574 524 SET_BIT(DMA2Dx->CR, DMA2D_CR_START);
AnnaBridge 145:64910690c574 525 }
AnnaBridge 145:64910690c574 526
AnnaBridge 145:64910690c574 527 /**
AnnaBridge 145:64910690c574 528 * @brief Indicate if a DMA2D transfer is ongoing.
AnnaBridge 145:64910690c574 529 * @rmtoll CR START LL_DMA2D_IsTransferOngoing
AnnaBridge 145:64910690c574 530 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 531 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 532 */
AnnaBridge 145:64910690c574 533 __STATIC_INLINE uint32_t LL_DMA2D_IsTransferOngoing(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 534 {
AnnaBridge 145:64910690c574 535 return (READ_BIT(DMA2Dx->CR, DMA2D_CR_START) == (DMA2D_CR_START));
AnnaBridge 145:64910690c574 536 }
AnnaBridge 145:64910690c574 537
AnnaBridge 145:64910690c574 538 /**
AnnaBridge 145:64910690c574 539 * @brief Suspend DMA2D transfer.
AnnaBridge 145:64910690c574 540 * @note This API can be used to suspend automatic foreground or background CLUT loading.
AnnaBridge 145:64910690c574 541 * @rmtoll CR SUSP LL_DMA2D_Suspend
AnnaBridge 145:64910690c574 542 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 543 * @retval None
AnnaBridge 145:64910690c574 544 */
AnnaBridge 145:64910690c574 545 __STATIC_INLINE void LL_DMA2D_Suspend(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 546 {
AnnaBridge 145:64910690c574 547 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_SUSP | DMA2D_CR_START, DMA2D_CR_SUSP);
AnnaBridge 145:64910690c574 548 }
AnnaBridge 145:64910690c574 549
AnnaBridge 145:64910690c574 550 /**
AnnaBridge 145:64910690c574 551 * @brief Resume DMA2D transfer.
AnnaBridge 145:64910690c574 552 * @note This API can be used to resume automatic foreground or background CLUT loading.
AnnaBridge 145:64910690c574 553 * @rmtoll CR SUSP LL_DMA2D_Resume
AnnaBridge 145:64910690c574 554 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 555 * @retval None
AnnaBridge 145:64910690c574 556 */
AnnaBridge 145:64910690c574 557 __STATIC_INLINE void LL_DMA2D_Resume(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 558 {
AnnaBridge 145:64910690c574 559 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_SUSP | DMA2D_CR_START);
AnnaBridge 145:64910690c574 560 }
AnnaBridge 145:64910690c574 561
AnnaBridge 145:64910690c574 562 /**
AnnaBridge 145:64910690c574 563 * @brief Indicate if DMA2D transfer is suspended.
AnnaBridge 145:64910690c574 564 * @note This API can be used to indicate whether or not automatic foreground or
AnnaBridge 145:64910690c574 565 * background CLUT loading is suspended.
AnnaBridge 145:64910690c574 566 * @rmtoll CR SUSP LL_DMA2D_IsSuspended
AnnaBridge 145:64910690c574 567 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 568 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 569 */
AnnaBridge 145:64910690c574 570 __STATIC_INLINE uint32_t LL_DMA2D_IsSuspended(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 571 {
AnnaBridge 145:64910690c574 572 return (READ_BIT(DMA2Dx->CR, DMA2D_CR_SUSP) == (DMA2D_CR_SUSP));
AnnaBridge 145:64910690c574 573 }
AnnaBridge 145:64910690c574 574
AnnaBridge 145:64910690c574 575 /**
AnnaBridge 145:64910690c574 576 * @brief Abort DMA2D transfer.
AnnaBridge 145:64910690c574 577 * @note This API can be used to abort automatic foreground or background CLUT loading.
AnnaBridge 145:64910690c574 578 * @rmtoll CR ABORT LL_DMA2D_Abort
AnnaBridge 145:64910690c574 579 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 580 * @retval None
AnnaBridge 145:64910690c574 581 */
AnnaBridge 145:64910690c574 582 __STATIC_INLINE void LL_DMA2D_Abort(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 583 {
AnnaBridge 145:64910690c574 584 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_ABORT | DMA2D_CR_START, DMA2D_CR_ABORT);
AnnaBridge 145:64910690c574 585 }
AnnaBridge 145:64910690c574 586
AnnaBridge 145:64910690c574 587 /**
AnnaBridge 145:64910690c574 588 * @brief Indicate if DMA2D transfer is aborted.
AnnaBridge 145:64910690c574 589 * @note This API can be used to indicate whether or not automatic foreground or
AnnaBridge 145:64910690c574 590 * background CLUT loading is aborted.
AnnaBridge 145:64910690c574 591 * @rmtoll CR ABORT LL_DMA2D_IsAborted
AnnaBridge 145:64910690c574 592 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 593 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 594 */
AnnaBridge 145:64910690c574 595 __STATIC_INLINE uint32_t LL_DMA2D_IsAborted(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 596 {
AnnaBridge 145:64910690c574 597 return (READ_BIT(DMA2Dx->CR, DMA2D_CR_ABORT) == (DMA2D_CR_ABORT));
AnnaBridge 145:64910690c574 598 }
AnnaBridge 145:64910690c574 599
AnnaBridge 145:64910690c574 600 /**
AnnaBridge 145:64910690c574 601 * @brief Set DMA2D mode.
AnnaBridge 145:64910690c574 602 * @rmtoll CR MODE LL_DMA2D_SetMode
AnnaBridge 145:64910690c574 603 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 604 * @param Mode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 605 * @arg @ref LL_DMA2D_MODE_M2M
AnnaBridge 145:64910690c574 606 * @arg @ref LL_DMA2D_MODE_M2M_PFC
AnnaBridge 145:64910690c574 607 * @arg @ref LL_DMA2D_MODE_M2M_BLEND
AnnaBridge 145:64910690c574 608 * @arg @ref LL_DMA2D_MODE_R2M
AnnaBridge 161:aa5281ff4a02 609 * @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_FG (*)
AnnaBridge 161:aa5281ff4a02 610 * @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_BG (*)
AnnaBridge 161:aa5281ff4a02 611 *
AnnaBridge 161:aa5281ff4a02 612 * (*) value not defined in all devices.
AnnaBridge 145:64910690c574 613 * @retval None
AnnaBridge 145:64910690c574 614 */
AnnaBridge 145:64910690c574 615 __STATIC_INLINE void LL_DMA2D_SetMode(DMA2D_TypeDef *DMA2Dx, uint32_t Mode)
AnnaBridge 145:64910690c574 616 {
AnnaBridge 145:64910690c574 617 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_MODE, Mode);
AnnaBridge 145:64910690c574 618 }
AnnaBridge 145:64910690c574 619
AnnaBridge 145:64910690c574 620 /**
AnnaBridge 145:64910690c574 621 * @brief Return DMA2D mode
AnnaBridge 145:64910690c574 622 * @rmtoll CR MODE LL_DMA2D_GetMode
AnnaBridge 145:64910690c574 623 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 624 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 625 * @arg @ref LL_DMA2D_MODE_M2M
AnnaBridge 145:64910690c574 626 * @arg @ref LL_DMA2D_MODE_M2M_PFC
AnnaBridge 145:64910690c574 627 * @arg @ref LL_DMA2D_MODE_M2M_BLEND
AnnaBridge 145:64910690c574 628 * @arg @ref LL_DMA2D_MODE_R2M
AnnaBridge 161:aa5281ff4a02 629 * @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_FG (*)
AnnaBridge 161:aa5281ff4a02 630 * @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_BG (*)
AnnaBridge 161:aa5281ff4a02 631 *
AnnaBridge 161:aa5281ff4a02 632 * (*) value not defined in all devices.
AnnaBridge 145:64910690c574 633 */
AnnaBridge 145:64910690c574 634 __STATIC_INLINE uint32_t LL_DMA2D_GetMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 635 {
AnnaBridge 145:64910690c574 636 return (uint32_t)(READ_BIT(DMA2Dx->CR, DMA2D_CR_MODE));
AnnaBridge 145:64910690c574 637 }
AnnaBridge 145:64910690c574 638
AnnaBridge 145:64910690c574 639 /**
AnnaBridge 145:64910690c574 640 * @brief Set DMA2D output color mode.
AnnaBridge 145:64910690c574 641 * @rmtoll OPFCCR CM LL_DMA2D_SetOutputColorMode
AnnaBridge 145:64910690c574 642 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 643 * @param ColorMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 644 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB8888
AnnaBridge 145:64910690c574 645 * @arg @ref LL_DMA2D_OUTPUT_MODE_RGB888
AnnaBridge 145:64910690c574 646 * @arg @ref LL_DMA2D_OUTPUT_MODE_RGB565
AnnaBridge 145:64910690c574 647 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB1555
AnnaBridge 145:64910690c574 648 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB4444
AnnaBridge 145:64910690c574 649 * @retval None
AnnaBridge 145:64910690c574 650 */
AnnaBridge 145:64910690c574 651 __STATIC_INLINE void LL_DMA2D_SetOutputColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode)
AnnaBridge 145:64910690c574 652 {
AnnaBridge 145:64910690c574 653 MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_CM, ColorMode);
AnnaBridge 145:64910690c574 654 }
AnnaBridge 145:64910690c574 655
AnnaBridge 145:64910690c574 656 /**
AnnaBridge 145:64910690c574 657 * @brief Return DMA2D output color mode.
AnnaBridge 145:64910690c574 658 * @rmtoll OPFCCR CM LL_DMA2D_GetOutputColorMode
AnnaBridge 145:64910690c574 659 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 660 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 661 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB8888
AnnaBridge 145:64910690c574 662 * @arg @ref LL_DMA2D_OUTPUT_MODE_RGB888
AnnaBridge 145:64910690c574 663 * @arg @ref LL_DMA2D_OUTPUT_MODE_RGB565
AnnaBridge 145:64910690c574 664 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB1555
AnnaBridge 145:64910690c574 665 * @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB4444
AnnaBridge 145:64910690c574 666 */
AnnaBridge 145:64910690c574 667 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputColorMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 668 {
AnnaBridge 145:64910690c574 669 return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_CM));
AnnaBridge 145:64910690c574 670 }
AnnaBridge 145:64910690c574 671
AnnaBridge 145:64910690c574 672 /**
AnnaBridge 145:64910690c574 673 * @brief Set DMA2D output Red Blue swap mode.
AnnaBridge 145:64910690c574 674 * @rmtoll OPFCCR RBS LL_DMA2D_SetOutputRBSwapMode
AnnaBridge 145:64910690c574 675 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 676 * @param RBSwapMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 677 * @arg @ref LL_DMA2D_RB_MODE_REGULAR
AnnaBridge 145:64910690c574 678 * @arg @ref LL_DMA2D_RB_MODE_SWAP
AnnaBridge 145:64910690c574 679 * @retval None
AnnaBridge 145:64910690c574 680 */
AnnaBridge 145:64910690c574 681 __STATIC_INLINE void LL_DMA2D_SetOutputRBSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t RBSwapMode)
AnnaBridge 145:64910690c574 682 {
AnnaBridge 145:64910690c574 683 MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_RBS, RBSwapMode);
AnnaBridge 145:64910690c574 684 }
AnnaBridge 145:64910690c574 685
AnnaBridge 145:64910690c574 686 /**
AnnaBridge 145:64910690c574 687 * @brief Return DMA2D output Red Blue swap mode.
AnnaBridge 145:64910690c574 688 * @rmtoll OPFCCR RBS LL_DMA2D_GetOutputRBSwapMode
AnnaBridge 145:64910690c574 689 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 690 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 691 * @arg @ref LL_DMA2D_RB_MODE_REGULAR
AnnaBridge 145:64910690c574 692 * @arg @ref LL_DMA2D_RB_MODE_SWAP
AnnaBridge 145:64910690c574 693 */
AnnaBridge 145:64910690c574 694 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputRBSwapMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 695 {
AnnaBridge 145:64910690c574 696 return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_RBS));
AnnaBridge 145:64910690c574 697 }
AnnaBridge 145:64910690c574 698
AnnaBridge 145:64910690c574 699 /**
AnnaBridge 145:64910690c574 700 * @brief Set DMA2D output alpha inversion mode.
AnnaBridge 145:64910690c574 701 * @rmtoll OPFCCR AI LL_DMA2D_SetOutputAlphaInvMode
AnnaBridge 145:64910690c574 702 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 703 * @param AlphaInversionMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 704 * @arg @ref LL_DMA2D_ALPHA_REGULAR
AnnaBridge 145:64910690c574 705 * @arg @ref LL_DMA2D_ALPHA_INVERTED
AnnaBridge 145:64910690c574 706 * @retval None
AnnaBridge 145:64910690c574 707 */
AnnaBridge 145:64910690c574 708 __STATIC_INLINE void LL_DMA2D_SetOutputAlphaInvMode(DMA2D_TypeDef *DMA2Dx, uint32_t AlphaInversionMode)
AnnaBridge 145:64910690c574 709 {
AnnaBridge 145:64910690c574 710 MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_AI, AlphaInversionMode);
AnnaBridge 145:64910690c574 711 }
AnnaBridge 145:64910690c574 712
AnnaBridge 145:64910690c574 713 /**
AnnaBridge 145:64910690c574 714 * @brief Return DMA2D output alpha inversion mode.
AnnaBridge 145:64910690c574 715 * @rmtoll OPFCCR AI LL_DMA2D_GetOutputAlphaInvMode
AnnaBridge 145:64910690c574 716 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 717 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 718 * @arg @ref LL_DMA2D_ALPHA_REGULAR
AnnaBridge 145:64910690c574 719 * @arg @ref LL_DMA2D_ALPHA_INVERTED
AnnaBridge 145:64910690c574 720 */
AnnaBridge 145:64910690c574 721 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputAlphaInvMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 722 {
AnnaBridge 145:64910690c574 723 return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_AI));
AnnaBridge 145:64910690c574 724 }
AnnaBridge 145:64910690c574 725
AnnaBridge 161:aa5281ff4a02 726 #if defined(DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT)
AnnaBridge 161:aa5281ff4a02 727 /**
AnnaBridge 161:aa5281ff4a02 728 * @brief Set DMA2D output swap mode.
AnnaBridge 161:aa5281ff4a02 729 * @rmtoll OPFCCR SB LL_DMA2D_SetOutputSwapMode
AnnaBridge 161:aa5281ff4a02 730 * @param DMA2Dx DMA2D Instance
AnnaBridge 161:aa5281ff4a02 731 * @param OutputSwapMode This parameter can be one of the following values:
AnnaBridge 161:aa5281ff4a02 732 * @arg @ref LL_DMA2D_SWAP_MODE_REGULAR
AnnaBridge 161:aa5281ff4a02 733 * @arg @ref LL_DMA2D_SWAP_MODE_TWO_BY_TWO
AnnaBridge 161:aa5281ff4a02 734 * @retval None
AnnaBridge 161:aa5281ff4a02 735 */
AnnaBridge 161:aa5281ff4a02 736 __STATIC_INLINE void LL_DMA2D_SetOutputSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t OutputSwapMode)
AnnaBridge 161:aa5281ff4a02 737 {
AnnaBridge 161:aa5281ff4a02 738 MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_SB, OutputSwapMode);
AnnaBridge 161:aa5281ff4a02 739 }
AnnaBridge 161:aa5281ff4a02 740
AnnaBridge 161:aa5281ff4a02 741 /**
AnnaBridge 161:aa5281ff4a02 742 * @brief Return DMA2D output swap mode.
AnnaBridge 161:aa5281ff4a02 743 * @rmtoll OPFCCR SB LL_DMA2D_GetOutputSwapMode
AnnaBridge 161:aa5281ff4a02 744 * @param DMA2Dx DMA2D Instance
AnnaBridge 161:aa5281ff4a02 745 * @retval Returned value can be one of the following values:
AnnaBridge 161:aa5281ff4a02 746 * @arg @ref LL_DMA2D_SWAP_MODE_REGULAR
AnnaBridge 161:aa5281ff4a02 747 * @arg @ref LL_DMA2D_SWAP_MODE_TWO_BY_TWO
AnnaBridge 161:aa5281ff4a02 748 */
AnnaBridge 161:aa5281ff4a02 749 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputSwapMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 161:aa5281ff4a02 750 {
AnnaBridge 161:aa5281ff4a02 751 return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_SB));
AnnaBridge 161:aa5281ff4a02 752 }
AnnaBridge 161:aa5281ff4a02 753 #endif /* DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT */
AnnaBridge 161:aa5281ff4a02 754
AnnaBridge 161:aa5281ff4a02 755 #if defined(DMA2D_LINE_OFFSET_MODE_SUPPORT)
AnnaBridge 161:aa5281ff4a02 756 /**
AnnaBridge 161:aa5281ff4a02 757 * @brief Set DMA2D line offset mode.
AnnaBridge 161:aa5281ff4a02 758 * @rmtoll CR LOM LL_DMA2D_SetLineOffsetMode
AnnaBridge 161:aa5281ff4a02 759 * @param DMA2Dx DMA2D Instance
AnnaBridge 161:aa5281ff4a02 760 * @param LineOffsetMode This parameter can be one of the following values:
AnnaBridge 161:aa5281ff4a02 761 * @arg @ref LL_DMA2D_LINE_OFFSET_PIXELS
AnnaBridge 161:aa5281ff4a02 762 * @arg @ref LL_DMA2D_LINE_OFFSET_BYTES
AnnaBridge 161:aa5281ff4a02 763 * @retval None
AnnaBridge 161:aa5281ff4a02 764 */
AnnaBridge 161:aa5281ff4a02 765 __STATIC_INLINE void LL_DMA2D_SetLineOffsetMode(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffsetMode)
AnnaBridge 161:aa5281ff4a02 766 {
AnnaBridge 161:aa5281ff4a02 767 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_LOM, LineOffsetMode);
AnnaBridge 161:aa5281ff4a02 768 }
AnnaBridge 161:aa5281ff4a02 769
AnnaBridge 161:aa5281ff4a02 770 /**
AnnaBridge 161:aa5281ff4a02 771 * @brief Return DMA2D line offset mode.
AnnaBridge 161:aa5281ff4a02 772 * @rmtoll CR LOM LL_DMA2D_GetLineOffsetMode
AnnaBridge 161:aa5281ff4a02 773 * @param DMA2Dx DMA2D Instance
AnnaBridge 161:aa5281ff4a02 774 * @retval Returned value can be one of the following values:
AnnaBridge 161:aa5281ff4a02 775 * @arg @ref LL_DMA2D_LINE_OFFSET_PIXELS
AnnaBridge 161:aa5281ff4a02 776 * @arg @ref LL_DMA2D_LINE_OFFSET_BYTES
AnnaBridge 161:aa5281ff4a02 777 */
AnnaBridge 161:aa5281ff4a02 778 __STATIC_INLINE uint32_t LL_DMA2D_GetLineOffsetMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 161:aa5281ff4a02 779 {
AnnaBridge 161:aa5281ff4a02 780 return (uint32_t)(READ_BIT(DMA2Dx->CR, DMA2D_CR_LOM));
AnnaBridge 161:aa5281ff4a02 781 }
AnnaBridge 161:aa5281ff4a02 782 #endif /* DMA2D_LINE_OFFSET_MODE_SUPPORT */
AnnaBridge 161:aa5281ff4a02 783
AnnaBridge 145:64910690c574 784 /**
AnnaBridge 145:64910690c574 785 * @brief Set DMA2D line offset, expressed on 14 bits ([13:0] bits).
AnnaBridge 145:64910690c574 786 * @rmtoll OOR LO LL_DMA2D_SetLineOffset
AnnaBridge 145:64910690c574 787 * @param DMA2Dx DMA2D Instance
AnnaBridge 161:aa5281ff4a02 788 @if DMA2D_LINE_OFFSET_MODE_SUPPORT
AnnaBridge 161:aa5281ff4a02 789 * @param LineOffset Value between Min_Data=0 and Max_Data=0xFFFF
AnnaBridge 161:aa5281ff4a02 790 @else
AnnaBridge 145:64910690c574 791 * @param LineOffset Value between Min_Data=0 and Max_Data=0x3FFF
AnnaBridge 161:aa5281ff4a02 792 @endif
AnnaBridge 145:64910690c574 793 * @retval None
AnnaBridge 145:64910690c574 794 */
AnnaBridge 145:64910690c574 795 __STATIC_INLINE void LL_DMA2D_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset)
AnnaBridge 145:64910690c574 796 {
AnnaBridge 145:64910690c574 797 MODIFY_REG(DMA2Dx->OOR, DMA2D_OOR_LO, LineOffset);
AnnaBridge 145:64910690c574 798 }
AnnaBridge 145:64910690c574 799
AnnaBridge 145:64910690c574 800 /**
AnnaBridge 145:64910690c574 801 * @brief Return DMA2D line offset, expressed on 14 bits ([13:0] bits).
AnnaBridge 145:64910690c574 802 * @rmtoll OOR LO LL_DMA2D_GetLineOffset
AnnaBridge 145:64910690c574 803 * @param DMA2Dx DMA2D Instance
AnnaBridge 161:aa5281ff4a02 804 @if DMA2D_LINE_OFFSET_MODE_SUPPORT
AnnaBridge 161:aa5281ff4a02 805 * @retval Line offset value between Min_Data=0 and Max_Data=0xFFFF
AnnaBridge 161:aa5281ff4a02 806 @else
AnnaBridge 145:64910690c574 807 * @retval Line offset value between Min_Data=0 and Max_Data=0x3FFF
AnnaBridge 161:aa5281ff4a02 808 @endif
AnnaBridge 145:64910690c574 809 */
AnnaBridge 145:64910690c574 810 __STATIC_INLINE uint32_t LL_DMA2D_GetLineOffset(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 811 {
AnnaBridge 145:64910690c574 812 return (uint32_t)(READ_BIT(DMA2Dx->OOR, DMA2D_OOR_LO));
AnnaBridge 145:64910690c574 813 }
AnnaBridge 145:64910690c574 814
AnnaBridge 145:64910690c574 815 /**
AnnaBridge 145:64910690c574 816 * @brief Set DMA2D number of pixels per lines, expressed on 14 bits ([13:0] bits).
AnnaBridge 145:64910690c574 817 * @rmtoll NLR PL LL_DMA2D_SetNbrOfPixelsPerLines
AnnaBridge 145:64910690c574 818 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 819 * @param NbrOfPixelsPerLines Value between Min_Data=0 and Max_Data=0x3FFF
AnnaBridge 145:64910690c574 820 * @retval None
AnnaBridge 145:64910690c574 821 */
AnnaBridge 145:64910690c574 822 __STATIC_INLINE void LL_DMA2D_SetNbrOfPixelsPerLines(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfPixelsPerLines)
AnnaBridge 145:64910690c574 823 {
AnnaBridge 145:64910690c574 824 MODIFY_REG(DMA2Dx->NLR, DMA2D_NLR_PL, (NbrOfPixelsPerLines << DMA2D_NLR_PL_Pos));
AnnaBridge 145:64910690c574 825 }
AnnaBridge 145:64910690c574 826
AnnaBridge 145:64910690c574 827 /**
AnnaBridge 145:64910690c574 828 * @brief Return DMA2D number of pixels per lines, expressed on 14 bits ([13:0] bits)
AnnaBridge 145:64910690c574 829 * @rmtoll NLR PL LL_DMA2D_GetNbrOfPixelsPerLines
AnnaBridge 145:64910690c574 830 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 831 * @retval Number of pixels per lines value between Min_Data=0 and Max_Data=0x3FFF
AnnaBridge 145:64910690c574 832 */
AnnaBridge 145:64910690c574 833 __STATIC_INLINE uint32_t LL_DMA2D_GetNbrOfPixelsPerLines(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 834 {
AnnaBridge 145:64910690c574 835 return (uint32_t)(READ_BIT(DMA2Dx->NLR, DMA2D_NLR_PL) >> DMA2D_NLR_PL_Pos);
AnnaBridge 145:64910690c574 836 }
AnnaBridge 145:64910690c574 837
AnnaBridge 145:64910690c574 838 /**
AnnaBridge 145:64910690c574 839 * @brief Set DMA2D number of lines, expressed on 16 bits ([15:0] bits).
AnnaBridge 145:64910690c574 840 * @rmtoll NLR NL LL_DMA2D_SetNbrOfLines
AnnaBridge 145:64910690c574 841 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 842 * @param NbrOfLines Value between Min_Data=0 and Max_Data=0xFFFF
AnnaBridge 145:64910690c574 843 * @retval None
AnnaBridge 145:64910690c574 844 */
AnnaBridge 145:64910690c574 845 __STATIC_INLINE void LL_DMA2D_SetNbrOfLines(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfLines)
AnnaBridge 145:64910690c574 846 {
AnnaBridge 145:64910690c574 847 MODIFY_REG(DMA2Dx->NLR, DMA2D_NLR_NL, NbrOfLines);
AnnaBridge 145:64910690c574 848 }
AnnaBridge 145:64910690c574 849
AnnaBridge 145:64910690c574 850 /**
AnnaBridge 145:64910690c574 851 * @brief Return DMA2D number of lines, expressed on 16 bits ([15:0] bits).
AnnaBridge 145:64910690c574 852 * @rmtoll NLR NL LL_DMA2D_GetNbrOfLines
AnnaBridge 145:64910690c574 853 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 854 * @retval Number of lines value between Min_Data=0 and Max_Data=0xFFFF
AnnaBridge 145:64910690c574 855 */
AnnaBridge 145:64910690c574 856 __STATIC_INLINE uint32_t LL_DMA2D_GetNbrOfLines(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 857 {
AnnaBridge 145:64910690c574 858 return (uint32_t)(READ_BIT(DMA2Dx->NLR, DMA2D_NLR_NL));
AnnaBridge 145:64910690c574 859 }
AnnaBridge 145:64910690c574 860
AnnaBridge 145:64910690c574 861 /**
AnnaBridge 145:64910690c574 862 * @brief Set DMA2D output memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 863 * @rmtoll OMAR MA LL_DMA2D_SetOutputMemAddr
AnnaBridge 145:64910690c574 864 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 865 * @param OutputMemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 866 * @retval None
AnnaBridge 145:64910690c574 867 */
AnnaBridge 145:64910690c574 868 __STATIC_INLINE void LL_DMA2D_SetOutputMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t OutputMemoryAddress)
AnnaBridge 145:64910690c574 869 {
AnnaBridge 145:64910690c574 870 LL_DMA2D_WriteReg(DMA2Dx, OMAR, OutputMemoryAddress);
AnnaBridge 145:64910690c574 871 }
AnnaBridge 145:64910690c574 872
AnnaBridge 145:64910690c574 873 /**
AnnaBridge 145:64910690c574 874 * @brief Get DMA2D output memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 875 * @rmtoll OMAR MA LL_DMA2D_GetOutputMemAddr
AnnaBridge 145:64910690c574 876 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 877 * @retval Output memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 878 */
AnnaBridge 145:64910690c574 879 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputMemAddr(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 880 {
AnnaBridge 145:64910690c574 881 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, OMAR));
AnnaBridge 145:64910690c574 882 }
AnnaBridge 145:64910690c574 883
AnnaBridge 145:64910690c574 884 /**
AnnaBridge 145:64910690c574 885 * @brief Set DMA2D output color, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 886 * @note Output color format depends on output color mode, ARGB8888, RGB888,
AnnaBridge 145:64910690c574 887 * RGB565, ARGB1555 or ARGB4444.
AnnaBridge 145:64910690c574 888 * @note LL_DMA2D_ConfigOutputColor() API may be used instead if colors values formatting
AnnaBridge 145:64910690c574 889 * with respect to color mode is not done by the user code.
AnnaBridge 145:64910690c574 890 * @rmtoll OCOLR BLUE LL_DMA2D_SetOutputColor\n
AnnaBridge 145:64910690c574 891 * OCOLR GREEN LL_DMA2D_SetOutputColor\n
AnnaBridge 145:64910690c574 892 * OCOLR RED LL_DMA2D_SetOutputColor\n
AnnaBridge 145:64910690c574 893 * OCOLR ALPHA LL_DMA2D_SetOutputColor
AnnaBridge 145:64910690c574 894 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 895 * @param OutputColor Value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 896 * @retval None
AnnaBridge 145:64910690c574 897 */
AnnaBridge 145:64910690c574 898 __STATIC_INLINE void LL_DMA2D_SetOutputColor(DMA2D_TypeDef *DMA2Dx, uint32_t OutputColor)
AnnaBridge 145:64910690c574 899 {
AnnaBridge 145:64910690c574 900 MODIFY_REG(DMA2Dx->OCOLR, (DMA2D_OCOLR_BLUE_1 | DMA2D_OCOLR_GREEN_1 | DMA2D_OCOLR_RED_1 | DMA2D_OCOLR_ALPHA_1), \
AnnaBridge 145:64910690c574 901 OutputColor);
AnnaBridge 145:64910690c574 902 }
AnnaBridge 145:64910690c574 903
AnnaBridge 145:64910690c574 904 /**
AnnaBridge 145:64910690c574 905 * @brief Get DMA2D output color, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 906 * @note Alpha channel and red, green, blue color values must be retrieved from the returned
AnnaBridge 145:64910690c574 907 * value based on the output color mode (ARGB8888, RGB888, RGB565, ARGB1555 or ARGB4444)
AnnaBridge 145:64910690c574 908 * as set by @ref LL_DMA2D_SetOutputColorMode.
AnnaBridge 145:64910690c574 909 * @rmtoll OCOLR BLUE LL_DMA2D_GetOutputColor\n
AnnaBridge 145:64910690c574 910 * OCOLR GREEN LL_DMA2D_GetOutputColor\n
AnnaBridge 145:64910690c574 911 * OCOLR RED LL_DMA2D_GetOutputColor\n
AnnaBridge 145:64910690c574 912 * OCOLR ALPHA LL_DMA2D_GetOutputColor
AnnaBridge 145:64910690c574 913 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 914 * @retval Output color value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 915 */
AnnaBridge 145:64910690c574 916 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputColor(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 917 {
AnnaBridge 145:64910690c574 918 return (uint32_t)(READ_BIT(DMA2Dx->OCOLR, \
AnnaBridge 145:64910690c574 919 (DMA2D_OCOLR_BLUE_1 | DMA2D_OCOLR_GREEN_1 | DMA2D_OCOLR_RED_1 | DMA2D_OCOLR_ALPHA_1)));
AnnaBridge 145:64910690c574 920 }
AnnaBridge 145:64910690c574 921
AnnaBridge 145:64910690c574 922 /**
AnnaBridge 145:64910690c574 923 * @brief Set DMA2D line watermark, expressed on 16 bits ([15:0] bits).
AnnaBridge 145:64910690c574 924 * @rmtoll LWR LW LL_DMA2D_SetLineWatermark
AnnaBridge 145:64910690c574 925 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 926 * @param LineWatermark Value between Min_Data=0 and Max_Data=0xFFFF
AnnaBridge 145:64910690c574 927 * @retval None
AnnaBridge 145:64910690c574 928 */
AnnaBridge 145:64910690c574 929 __STATIC_INLINE void LL_DMA2D_SetLineWatermark(DMA2D_TypeDef *DMA2Dx, uint32_t LineWatermark)
AnnaBridge 145:64910690c574 930 {
AnnaBridge 145:64910690c574 931 MODIFY_REG(DMA2Dx->LWR, DMA2D_LWR_LW, LineWatermark);
AnnaBridge 145:64910690c574 932 }
AnnaBridge 145:64910690c574 933
AnnaBridge 145:64910690c574 934 /**
AnnaBridge 145:64910690c574 935 * @brief Return DMA2D line watermark, expressed on 16 bits ([15:0] bits).
AnnaBridge 145:64910690c574 936 * @rmtoll LWR LW LL_DMA2D_GetLineWatermark
AnnaBridge 145:64910690c574 937 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 938 * @retval Line watermark value between Min_Data=0 and Max_Data=0xFFFF
AnnaBridge 145:64910690c574 939 */
AnnaBridge 145:64910690c574 940 __STATIC_INLINE uint32_t LL_DMA2D_GetLineWatermark(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 941 {
AnnaBridge 145:64910690c574 942 return (uint32_t)(READ_BIT(DMA2Dx->LWR, DMA2D_LWR_LW));
AnnaBridge 145:64910690c574 943 }
AnnaBridge 145:64910690c574 944
AnnaBridge 145:64910690c574 945 /**
AnnaBridge 145:64910690c574 946 * @brief Set DMA2D dead time, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 947 * @rmtoll AMTCR DT LL_DMA2D_SetDeadTime
AnnaBridge 145:64910690c574 948 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 949 * @param DeadTime Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 950 * @retval None
AnnaBridge 145:64910690c574 951 */
AnnaBridge 145:64910690c574 952 __STATIC_INLINE void LL_DMA2D_SetDeadTime(DMA2D_TypeDef *DMA2Dx, uint32_t DeadTime)
AnnaBridge 145:64910690c574 953 {
AnnaBridge 145:64910690c574 954 MODIFY_REG(DMA2Dx->AMTCR, DMA2D_AMTCR_DT, (DeadTime << DMA2D_AMTCR_DT_Pos));
AnnaBridge 145:64910690c574 955 }
AnnaBridge 145:64910690c574 956
AnnaBridge 145:64910690c574 957 /**
AnnaBridge 145:64910690c574 958 * @brief Return DMA2D dead time, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 959 * @rmtoll AMTCR DT LL_DMA2D_GetDeadTime
AnnaBridge 145:64910690c574 960 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 961 * @retval Dead time value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 962 */
AnnaBridge 145:64910690c574 963 __STATIC_INLINE uint32_t LL_DMA2D_GetDeadTime(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 964 {
AnnaBridge 145:64910690c574 965 return (uint32_t)(READ_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_DT) >> DMA2D_AMTCR_DT_Pos);
AnnaBridge 145:64910690c574 966 }
AnnaBridge 145:64910690c574 967
AnnaBridge 145:64910690c574 968 /**
AnnaBridge 145:64910690c574 969 * @brief Enable DMA2D dead time functionality.
AnnaBridge 145:64910690c574 970 * @rmtoll AMTCR EN LL_DMA2D_EnableDeadTime
AnnaBridge 145:64910690c574 971 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 972 * @retval None
AnnaBridge 145:64910690c574 973 */
AnnaBridge 145:64910690c574 974 __STATIC_INLINE void LL_DMA2D_EnableDeadTime(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 975 {
AnnaBridge 145:64910690c574 976 SET_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN);
AnnaBridge 145:64910690c574 977 }
AnnaBridge 145:64910690c574 978
AnnaBridge 145:64910690c574 979 /**
AnnaBridge 145:64910690c574 980 * @brief Disable DMA2D dead time functionality.
AnnaBridge 145:64910690c574 981 * @rmtoll AMTCR EN LL_DMA2D_DisableDeadTime
AnnaBridge 145:64910690c574 982 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 983 * @retval None
AnnaBridge 145:64910690c574 984 */
AnnaBridge 145:64910690c574 985 __STATIC_INLINE void LL_DMA2D_DisableDeadTime(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 986 {
AnnaBridge 145:64910690c574 987 CLEAR_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN);
AnnaBridge 145:64910690c574 988 }
AnnaBridge 145:64910690c574 989
AnnaBridge 145:64910690c574 990 /**
AnnaBridge 145:64910690c574 991 * @brief Indicate if DMA2D dead time functionality is enabled.
AnnaBridge 145:64910690c574 992 * @rmtoll AMTCR EN LL_DMA2D_IsEnabledDeadTime
AnnaBridge 145:64910690c574 993 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 994 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 995 */
AnnaBridge 145:64910690c574 996 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledDeadTime(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 997 {
AnnaBridge 145:64910690c574 998 return (READ_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN) == (DMA2D_AMTCR_EN));
AnnaBridge 145:64910690c574 999 }
AnnaBridge 145:64910690c574 1000
AnnaBridge 145:64910690c574 1001 /** @defgroup DMA2D_LL_EF_FGND_Configuration Foreground Configuration Functions
AnnaBridge 145:64910690c574 1002 * @{
AnnaBridge 145:64910690c574 1003 */
AnnaBridge 145:64910690c574 1004
AnnaBridge 145:64910690c574 1005 /**
AnnaBridge 145:64910690c574 1006 * @brief Set DMA2D foreground memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 1007 * @rmtoll FGMAR MA LL_DMA2D_FGND_SetMemAddr
AnnaBridge 145:64910690c574 1008 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1009 * @param MemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 1010 * @retval None
AnnaBridge 145:64910690c574 1011 */
AnnaBridge 145:64910690c574 1012 __STATIC_INLINE void LL_DMA2D_FGND_SetMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t MemoryAddress)
AnnaBridge 145:64910690c574 1013 {
AnnaBridge 145:64910690c574 1014 LL_DMA2D_WriteReg(DMA2Dx, FGMAR, MemoryAddress);
AnnaBridge 145:64910690c574 1015 }
AnnaBridge 145:64910690c574 1016
AnnaBridge 145:64910690c574 1017 /**
AnnaBridge 145:64910690c574 1018 * @brief Get DMA2D foreground memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 1019 * @rmtoll FGMAR MA LL_DMA2D_FGND_GetMemAddr
AnnaBridge 145:64910690c574 1020 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1021 * @retval Foreground memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 1022 */
AnnaBridge 145:64910690c574 1023 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetMemAddr(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1024 {
AnnaBridge 145:64910690c574 1025 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, FGMAR));
AnnaBridge 145:64910690c574 1026 }
AnnaBridge 145:64910690c574 1027
AnnaBridge 145:64910690c574 1028 /**
AnnaBridge 145:64910690c574 1029 * @brief Enable DMA2D foreground CLUT loading.
AnnaBridge 145:64910690c574 1030 * @rmtoll FGPFCCR START LL_DMA2D_FGND_EnableCLUTLoad
AnnaBridge 145:64910690c574 1031 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1032 * @retval None
AnnaBridge 145:64910690c574 1033 */
AnnaBridge 145:64910690c574 1034 __STATIC_INLINE void LL_DMA2D_FGND_EnableCLUTLoad(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1035 {
AnnaBridge 145:64910690c574 1036 SET_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_START);
AnnaBridge 145:64910690c574 1037 }
AnnaBridge 145:64910690c574 1038
AnnaBridge 145:64910690c574 1039 /**
AnnaBridge 145:64910690c574 1040 * @brief Indicate if DMA2D foreground CLUT loading is enabled.
AnnaBridge 145:64910690c574 1041 * @rmtoll FGPFCCR START LL_DMA2D_FGND_IsEnabledCLUTLoad
AnnaBridge 145:64910690c574 1042 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1043 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 1044 */
AnnaBridge 145:64910690c574 1045 __STATIC_INLINE uint32_t LL_DMA2D_FGND_IsEnabledCLUTLoad(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1046 {
AnnaBridge 145:64910690c574 1047 return (READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_START) == (DMA2D_FGPFCCR_START));
AnnaBridge 145:64910690c574 1048 }
AnnaBridge 145:64910690c574 1049
AnnaBridge 145:64910690c574 1050 /**
AnnaBridge 145:64910690c574 1051 * @brief Set DMA2D foreground color mode.
AnnaBridge 145:64910690c574 1052 * @rmtoll FGPFCCR CM LL_DMA2D_FGND_SetColorMode
AnnaBridge 145:64910690c574 1053 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1054 * @param ColorMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1055 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888
AnnaBridge 145:64910690c574 1056 * @arg @ref LL_DMA2D_INPUT_MODE_RGB888
AnnaBridge 145:64910690c574 1057 * @arg @ref LL_DMA2D_INPUT_MODE_RGB565
AnnaBridge 145:64910690c574 1058 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555
AnnaBridge 145:64910690c574 1059 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444
AnnaBridge 145:64910690c574 1060 * @arg @ref LL_DMA2D_INPUT_MODE_L8
AnnaBridge 145:64910690c574 1061 * @arg @ref LL_DMA2D_INPUT_MODE_AL44
AnnaBridge 145:64910690c574 1062 * @arg @ref LL_DMA2D_INPUT_MODE_AL88
AnnaBridge 145:64910690c574 1063 * @arg @ref LL_DMA2D_INPUT_MODE_L4
AnnaBridge 145:64910690c574 1064 * @arg @ref LL_DMA2D_INPUT_MODE_A8
AnnaBridge 145:64910690c574 1065 * @arg @ref LL_DMA2D_INPUT_MODE_A4
AnnaBridge 145:64910690c574 1066 * @retval None
AnnaBridge 145:64910690c574 1067 */
AnnaBridge 145:64910690c574 1068 __STATIC_INLINE void LL_DMA2D_FGND_SetColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode)
AnnaBridge 145:64910690c574 1069 {
AnnaBridge 145:64910690c574 1070 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CM, ColorMode);
AnnaBridge 145:64910690c574 1071 }
AnnaBridge 145:64910690c574 1072
AnnaBridge 145:64910690c574 1073 /**
AnnaBridge 145:64910690c574 1074 * @brief Return DMA2D foreground color mode.
AnnaBridge 145:64910690c574 1075 * @rmtoll FGPFCCR CM LL_DMA2D_FGND_GetColorMode
AnnaBridge 145:64910690c574 1076 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1077 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1078 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888
AnnaBridge 145:64910690c574 1079 * @arg @ref LL_DMA2D_INPUT_MODE_RGB888
AnnaBridge 145:64910690c574 1080 * @arg @ref LL_DMA2D_INPUT_MODE_RGB565
AnnaBridge 145:64910690c574 1081 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555
AnnaBridge 145:64910690c574 1082 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444
AnnaBridge 145:64910690c574 1083 * @arg @ref LL_DMA2D_INPUT_MODE_L8
AnnaBridge 145:64910690c574 1084 * @arg @ref LL_DMA2D_INPUT_MODE_AL44
AnnaBridge 145:64910690c574 1085 * @arg @ref LL_DMA2D_INPUT_MODE_AL88
AnnaBridge 145:64910690c574 1086 * @arg @ref LL_DMA2D_INPUT_MODE_L4
AnnaBridge 145:64910690c574 1087 * @arg @ref LL_DMA2D_INPUT_MODE_A8
AnnaBridge 145:64910690c574 1088 * @arg @ref LL_DMA2D_INPUT_MODE_A4
AnnaBridge 145:64910690c574 1089 */
AnnaBridge 145:64910690c574 1090 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetColorMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1091 {
AnnaBridge 145:64910690c574 1092 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CM));
AnnaBridge 145:64910690c574 1093 }
AnnaBridge 145:64910690c574 1094
AnnaBridge 145:64910690c574 1095 /**
AnnaBridge 145:64910690c574 1096 * @brief Set DMA2D foreground alpha mode.
AnnaBridge 145:64910690c574 1097 * @rmtoll FGPFCCR AM LL_DMA2D_FGND_SetAlphaMode
AnnaBridge 145:64910690c574 1098 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1099 * @param AphaMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1100 * @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF
AnnaBridge 145:64910690c574 1101 * @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE
AnnaBridge 145:64910690c574 1102 * @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE
AnnaBridge 145:64910690c574 1103 * @retval None
AnnaBridge 145:64910690c574 1104 */
AnnaBridge 145:64910690c574 1105 __STATIC_INLINE void LL_DMA2D_FGND_SetAlphaMode(DMA2D_TypeDef *DMA2Dx, uint32_t AphaMode)
AnnaBridge 145:64910690c574 1106 {
AnnaBridge 145:64910690c574 1107 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AM, AphaMode);
AnnaBridge 145:64910690c574 1108 }
AnnaBridge 145:64910690c574 1109
AnnaBridge 145:64910690c574 1110 /**
AnnaBridge 145:64910690c574 1111 * @brief Return DMA2D foreground alpha mode.
AnnaBridge 145:64910690c574 1112 * @rmtoll FGPFCCR AM LL_DMA2D_FGND_GetAlphaMode
AnnaBridge 145:64910690c574 1113 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1114 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1115 * @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF
AnnaBridge 145:64910690c574 1116 * @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE
AnnaBridge 145:64910690c574 1117 * @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE
AnnaBridge 145:64910690c574 1118 */
AnnaBridge 145:64910690c574 1119 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlphaMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1120 {
AnnaBridge 145:64910690c574 1121 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AM));
AnnaBridge 145:64910690c574 1122 }
AnnaBridge 145:64910690c574 1123
AnnaBridge 145:64910690c574 1124 /**
AnnaBridge 145:64910690c574 1125 * @brief Set DMA2D foreground alpha value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1126 * @rmtoll FGPFCCR ALPHA LL_DMA2D_FGND_SetAlpha
AnnaBridge 145:64910690c574 1127 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1128 * @param Alpha Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1129 * @retval None
AnnaBridge 145:64910690c574 1130 */
AnnaBridge 145:64910690c574 1131 __STATIC_INLINE void LL_DMA2D_FGND_SetAlpha(DMA2D_TypeDef *DMA2Dx, uint32_t Alpha)
AnnaBridge 145:64910690c574 1132 {
AnnaBridge 145:64910690c574 1133 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_ALPHA, (Alpha << DMA2D_FGPFCCR_ALPHA_Pos));
AnnaBridge 145:64910690c574 1134 }
AnnaBridge 145:64910690c574 1135
AnnaBridge 145:64910690c574 1136 /**
AnnaBridge 145:64910690c574 1137 * @brief Return DMA2D foreground alpha value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1138 * @rmtoll FGPFCCR ALPHA LL_DMA2D_FGND_GetAlpha
AnnaBridge 145:64910690c574 1139 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1140 * @retval Alpha value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1141 */
AnnaBridge 145:64910690c574 1142 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlpha(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1143 {
AnnaBridge 145:64910690c574 1144 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_ALPHA) >> DMA2D_FGPFCCR_ALPHA_Pos);
AnnaBridge 145:64910690c574 1145 }
AnnaBridge 145:64910690c574 1146
AnnaBridge 145:64910690c574 1147 /**
AnnaBridge 145:64910690c574 1148 * @brief Set DMA2D foreground Red Blue swap mode.
AnnaBridge 145:64910690c574 1149 * @rmtoll FGPFCCR RBS LL_DMA2D_FGND_SetRBSwapMode
AnnaBridge 145:64910690c574 1150 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1151 * @param RBSwapMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1152 * @arg @ref LL_DMA2D_RB_MODE_REGULAR
AnnaBridge 145:64910690c574 1153 * @arg @ref LL_DMA2D_RB_MODE_SWAP
AnnaBridge 145:64910690c574 1154 * @retval None
AnnaBridge 145:64910690c574 1155 */
AnnaBridge 145:64910690c574 1156 __STATIC_INLINE void LL_DMA2D_FGND_SetRBSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t RBSwapMode)
AnnaBridge 145:64910690c574 1157 {
AnnaBridge 145:64910690c574 1158 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_RBS, RBSwapMode);
AnnaBridge 145:64910690c574 1159 }
AnnaBridge 145:64910690c574 1160
AnnaBridge 145:64910690c574 1161 /**
AnnaBridge 145:64910690c574 1162 * @brief Return DMA2D foreground Red Blue swap mode.
AnnaBridge 145:64910690c574 1163 * @rmtoll FGPFCCR RBS LL_DMA2D_FGND_GetRBSwapMode
AnnaBridge 145:64910690c574 1164 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1165 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1166 * @arg @ref LL_DMA2D_RB_MODE_REGULAR
AnnaBridge 145:64910690c574 1167 * @arg @ref LL_DMA2D_RB_MODE_SWAP
AnnaBridge 145:64910690c574 1168 */
AnnaBridge 145:64910690c574 1169 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetRBSwapMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1170 {
AnnaBridge 145:64910690c574 1171 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_RBS));
AnnaBridge 145:64910690c574 1172 }
AnnaBridge 145:64910690c574 1173
AnnaBridge 145:64910690c574 1174 /**
AnnaBridge 145:64910690c574 1175 * @brief Set DMA2D foreground alpha inversion mode.
AnnaBridge 145:64910690c574 1176 * @rmtoll FGPFCCR AI LL_DMA2D_FGND_SetAlphaInvMode
AnnaBridge 145:64910690c574 1177 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1178 * @param AlphaInversionMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1179 * @arg @ref LL_DMA2D_ALPHA_REGULAR
AnnaBridge 145:64910690c574 1180 * @arg @ref LL_DMA2D_ALPHA_INVERTED
AnnaBridge 145:64910690c574 1181 * @retval None
AnnaBridge 145:64910690c574 1182 */
AnnaBridge 145:64910690c574 1183 __STATIC_INLINE void LL_DMA2D_FGND_SetAlphaInvMode(DMA2D_TypeDef *DMA2Dx, uint32_t AlphaInversionMode)
AnnaBridge 145:64910690c574 1184 {
AnnaBridge 145:64910690c574 1185 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AI, AlphaInversionMode);
AnnaBridge 145:64910690c574 1186 }
AnnaBridge 145:64910690c574 1187
AnnaBridge 145:64910690c574 1188 /**
AnnaBridge 145:64910690c574 1189 * @brief Return DMA2D foreground alpha inversion mode.
AnnaBridge 145:64910690c574 1190 * @rmtoll FGPFCCR AI LL_DMA2D_FGND_GetAlphaInvMode
AnnaBridge 145:64910690c574 1191 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1192 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1193 * @arg @ref LL_DMA2D_ALPHA_REGULAR
AnnaBridge 145:64910690c574 1194 * @arg @ref LL_DMA2D_ALPHA_INVERTED
AnnaBridge 145:64910690c574 1195 */
AnnaBridge 145:64910690c574 1196 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlphaInvMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1197 {
AnnaBridge 145:64910690c574 1198 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AI));
AnnaBridge 145:64910690c574 1199 }
AnnaBridge 145:64910690c574 1200
AnnaBridge 145:64910690c574 1201 /**
AnnaBridge 145:64910690c574 1202 * @brief Set DMA2D foreground line offset, expressed on 14 bits ([13:0] bits).
AnnaBridge 145:64910690c574 1203 * @rmtoll FGOR LO LL_DMA2D_FGND_SetLineOffset
AnnaBridge 145:64910690c574 1204 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1205 * @param LineOffset Value between Min_Data=0 and Max_Data=0x3FF
AnnaBridge 145:64910690c574 1206 * @retval None
AnnaBridge 145:64910690c574 1207 */
AnnaBridge 145:64910690c574 1208 __STATIC_INLINE void LL_DMA2D_FGND_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset)
AnnaBridge 145:64910690c574 1209 {
AnnaBridge 145:64910690c574 1210 MODIFY_REG(DMA2Dx->FGOR, DMA2D_FGOR_LO, LineOffset);
AnnaBridge 145:64910690c574 1211 }
AnnaBridge 145:64910690c574 1212
AnnaBridge 145:64910690c574 1213 /**
AnnaBridge 145:64910690c574 1214 * @brief Return DMA2D foreground line offset, expressed on 14 bits ([13:0] bits).
AnnaBridge 145:64910690c574 1215 * @rmtoll FGOR LO LL_DMA2D_FGND_GetLineOffset
AnnaBridge 145:64910690c574 1216 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1217 * @retval Foreground line offset value between Min_Data=0 and Max_Data=0x3FF
AnnaBridge 145:64910690c574 1218 */
AnnaBridge 145:64910690c574 1219 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetLineOffset(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1220 {
AnnaBridge 145:64910690c574 1221 return (uint32_t)(READ_BIT(DMA2Dx->FGOR, DMA2D_FGOR_LO));
AnnaBridge 145:64910690c574 1222 }
AnnaBridge 145:64910690c574 1223
AnnaBridge 145:64910690c574 1224 /**
AnnaBridge 145:64910690c574 1225 * @brief Set DMA2D foreground color values, expressed on 24 bits ([23:0] bits).
AnnaBridge 145:64910690c574 1226 * @rmtoll FGCOLR RED LL_DMA2D_FGND_SetColor
AnnaBridge 145:64910690c574 1227 * @rmtoll FGCOLR GREEN LL_DMA2D_FGND_SetColor
AnnaBridge 145:64910690c574 1228 * @rmtoll FGCOLR BLUE LL_DMA2D_FGND_SetColor
AnnaBridge 145:64910690c574 1229 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1230 * @param Red Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1231 * @param Green Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1232 * @param Blue Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1233 * @retval None
AnnaBridge 145:64910690c574 1234 */
AnnaBridge 145:64910690c574 1235 __STATIC_INLINE void LL_DMA2D_FGND_SetColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red, uint32_t Green, uint32_t Blue)
AnnaBridge 145:64910690c574 1236 {
AnnaBridge 145:64910690c574 1237 MODIFY_REG(DMA2Dx->FGCOLR, (DMA2D_FGCOLR_RED | DMA2D_FGCOLR_GREEN | DMA2D_FGCOLR_BLUE), \
AnnaBridge 145:64910690c574 1238 ((Red << DMA2D_FGCOLR_RED_Pos) | (Green << DMA2D_FGCOLR_GREEN_Pos) | Blue));
AnnaBridge 145:64910690c574 1239 }
AnnaBridge 145:64910690c574 1240
AnnaBridge 145:64910690c574 1241 /**
AnnaBridge 145:64910690c574 1242 * @brief Set DMA2D foreground red color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1243 * @rmtoll FGCOLR RED LL_DMA2D_FGND_SetRedColor
AnnaBridge 145:64910690c574 1244 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1245 * @param Red Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1246 * @retval None
AnnaBridge 145:64910690c574 1247 */
AnnaBridge 145:64910690c574 1248 __STATIC_INLINE void LL_DMA2D_FGND_SetRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red)
AnnaBridge 145:64910690c574 1249 {
AnnaBridge 145:64910690c574 1250 MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_RED, (Red << DMA2D_FGCOLR_RED_Pos));
AnnaBridge 145:64910690c574 1251 }
AnnaBridge 145:64910690c574 1252
AnnaBridge 145:64910690c574 1253 /**
AnnaBridge 145:64910690c574 1254 * @brief Return DMA2D foreground red color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1255 * @rmtoll FGCOLR RED LL_DMA2D_FGND_GetRedColor
AnnaBridge 145:64910690c574 1256 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1257 * @retval Red color value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1258 */
AnnaBridge 145:64910690c574 1259 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetRedColor(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1260 {
AnnaBridge 145:64910690c574 1261 return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_RED) >> DMA2D_FGCOLR_RED_Pos);
AnnaBridge 145:64910690c574 1262 }
AnnaBridge 145:64910690c574 1263
AnnaBridge 145:64910690c574 1264 /**
AnnaBridge 145:64910690c574 1265 * @brief Set DMA2D foreground green color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1266 * @rmtoll FGCOLR GREEN LL_DMA2D_FGND_SetGreenColor
AnnaBridge 145:64910690c574 1267 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1268 * @param Green Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1269 * @retval None
AnnaBridge 145:64910690c574 1270 */
AnnaBridge 145:64910690c574 1271 __STATIC_INLINE void LL_DMA2D_FGND_SetGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t Green)
AnnaBridge 145:64910690c574 1272 {
AnnaBridge 145:64910690c574 1273 MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_GREEN, (Green << DMA2D_FGCOLR_GREEN_Pos));
AnnaBridge 145:64910690c574 1274 }
AnnaBridge 145:64910690c574 1275
AnnaBridge 145:64910690c574 1276 /**
AnnaBridge 145:64910690c574 1277 * @brief Return DMA2D foreground green color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1278 * @rmtoll FGCOLR GREEN LL_DMA2D_FGND_GetGreenColor
AnnaBridge 145:64910690c574 1279 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1280 * @retval Green color value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1281 */
AnnaBridge 145:64910690c574 1282 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetGreenColor(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1283 {
AnnaBridge 145:64910690c574 1284 return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_GREEN) >> DMA2D_FGCOLR_GREEN_Pos);
AnnaBridge 145:64910690c574 1285 }
AnnaBridge 145:64910690c574 1286
AnnaBridge 145:64910690c574 1287 /**
AnnaBridge 145:64910690c574 1288 * @brief Set DMA2D foreground blue color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1289 * @rmtoll FGCOLR BLUE LL_DMA2D_FGND_SetBlueColor
AnnaBridge 145:64910690c574 1290 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1291 * @param Blue Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1292 * @retval None
AnnaBridge 145:64910690c574 1293 */
AnnaBridge 145:64910690c574 1294 __STATIC_INLINE void LL_DMA2D_FGND_SetBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t Blue)
AnnaBridge 145:64910690c574 1295 {
AnnaBridge 145:64910690c574 1296 MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_BLUE, Blue);
AnnaBridge 145:64910690c574 1297 }
AnnaBridge 145:64910690c574 1298
AnnaBridge 145:64910690c574 1299 /**
AnnaBridge 145:64910690c574 1300 * @brief Return DMA2D foreground blue color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1301 * @rmtoll FGCOLR BLUE LL_DMA2D_FGND_GetBlueColor
AnnaBridge 145:64910690c574 1302 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1303 * @retval Blue color value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1304 */
AnnaBridge 145:64910690c574 1305 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetBlueColor(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1306 {
AnnaBridge 145:64910690c574 1307 return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_BLUE));
AnnaBridge 145:64910690c574 1308 }
AnnaBridge 145:64910690c574 1309
AnnaBridge 145:64910690c574 1310 /**
AnnaBridge 145:64910690c574 1311 * @brief Set DMA2D foreground CLUT memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 1312 * @rmtoll FGCMAR MA LL_DMA2D_FGND_SetCLUTMemAddr
AnnaBridge 145:64910690c574 1313 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1314 * @param CLUTMemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 1315 * @retval None
AnnaBridge 145:64910690c574 1316 */
AnnaBridge 145:64910690c574 1317 __STATIC_INLINE void LL_DMA2D_FGND_SetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTMemoryAddress)
AnnaBridge 145:64910690c574 1318 {
AnnaBridge 145:64910690c574 1319 LL_DMA2D_WriteReg(DMA2Dx, FGCMAR, CLUTMemoryAddress);
AnnaBridge 145:64910690c574 1320 }
AnnaBridge 145:64910690c574 1321
AnnaBridge 145:64910690c574 1322 /**
AnnaBridge 145:64910690c574 1323 * @brief Get DMA2D foreground CLUT memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 1324 * @rmtoll FGCMAR MA LL_DMA2D_FGND_GetCLUTMemAddr
AnnaBridge 145:64910690c574 1325 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1326 * @retval Foreground CLUT memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 1327 */
AnnaBridge 145:64910690c574 1328 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1329 {
AnnaBridge 145:64910690c574 1330 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, FGCMAR));
AnnaBridge 145:64910690c574 1331 }
AnnaBridge 145:64910690c574 1332
AnnaBridge 145:64910690c574 1333 /**
AnnaBridge 145:64910690c574 1334 * @brief Set DMA2D foreground CLUT size, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1335 * @rmtoll FGPFCCR CS LL_DMA2D_FGND_SetCLUTSize
AnnaBridge 145:64910690c574 1336 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1337 * @param CLUTSize Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1338 * @retval None
AnnaBridge 145:64910690c574 1339 */
AnnaBridge 145:64910690c574 1340 __STATIC_INLINE void LL_DMA2D_FGND_SetCLUTSize(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTSize)
AnnaBridge 145:64910690c574 1341 {
AnnaBridge 145:64910690c574 1342 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CS, (CLUTSize << DMA2D_FGPFCCR_CS_Pos));
AnnaBridge 145:64910690c574 1343 }
AnnaBridge 145:64910690c574 1344
AnnaBridge 145:64910690c574 1345 /**
AnnaBridge 145:64910690c574 1346 * @brief Get DMA2D foreground CLUT size, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1347 * @rmtoll FGPFCCR CS LL_DMA2D_FGND_GetCLUTSize
AnnaBridge 145:64910690c574 1348 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1349 * @retval Foreground CLUT size value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1350 */
AnnaBridge 145:64910690c574 1351 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTSize(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1352 {
AnnaBridge 145:64910690c574 1353 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CS) >> DMA2D_FGPFCCR_CS_Pos);
AnnaBridge 145:64910690c574 1354 }
AnnaBridge 145:64910690c574 1355
AnnaBridge 145:64910690c574 1356 /**
AnnaBridge 145:64910690c574 1357 * @brief Set DMA2D foreground CLUT color mode.
AnnaBridge 145:64910690c574 1358 * @rmtoll FGPFCCR CCM LL_DMA2D_FGND_SetCLUTColorMode
AnnaBridge 145:64910690c574 1359 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1360 * @param CLUTColorMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1361 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888
AnnaBridge 145:64910690c574 1362 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888
AnnaBridge 145:64910690c574 1363 * @retval None
AnnaBridge 145:64910690c574 1364 */
AnnaBridge 145:64910690c574 1365 __STATIC_INLINE void LL_DMA2D_FGND_SetCLUTColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTColorMode)
AnnaBridge 145:64910690c574 1366 {
AnnaBridge 145:64910690c574 1367 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CCM, CLUTColorMode);
AnnaBridge 145:64910690c574 1368 }
AnnaBridge 145:64910690c574 1369
AnnaBridge 145:64910690c574 1370 /**
AnnaBridge 145:64910690c574 1371 * @brief Return DMA2D foreground CLUT color mode.
AnnaBridge 145:64910690c574 1372 * @rmtoll FGPFCCR CCM LL_DMA2D_FGND_GetCLUTColorMode
AnnaBridge 145:64910690c574 1373 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1374 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1375 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888
AnnaBridge 145:64910690c574 1376 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888
AnnaBridge 145:64910690c574 1377 */
AnnaBridge 145:64910690c574 1378 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTColorMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1379 {
AnnaBridge 145:64910690c574 1380 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CCM));
AnnaBridge 145:64910690c574 1381 }
AnnaBridge 145:64910690c574 1382
AnnaBridge 145:64910690c574 1383 /**
AnnaBridge 145:64910690c574 1384 * @}
AnnaBridge 145:64910690c574 1385 */
AnnaBridge 145:64910690c574 1386
AnnaBridge 145:64910690c574 1387 /** @defgroup DMA2D_LL_EF_BGND_Configuration Background Configuration Functions
AnnaBridge 145:64910690c574 1388 * @{
AnnaBridge 145:64910690c574 1389 */
AnnaBridge 145:64910690c574 1390
AnnaBridge 145:64910690c574 1391 /**
AnnaBridge 145:64910690c574 1392 * @brief Set DMA2D background memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 1393 * @rmtoll BGMAR MA LL_DMA2D_BGND_SetMemAddr
AnnaBridge 145:64910690c574 1394 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1395 * @param MemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 1396 * @retval None
AnnaBridge 145:64910690c574 1397 */
AnnaBridge 145:64910690c574 1398 __STATIC_INLINE void LL_DMA2D_BGND_SetMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t MemoryAddress)
AnnaBridge 145:64910690c574 1399 {
AnnaBridge 145:64910690c574 1400 LL_DMA2D_WriteReg(DMA2Dx, BGMAR, MemoryAddress);
AnnaBridge 145:64910690c574 1401 }
AnnaBridge 145:64910690c574 1402
AnnaBridge 145:64910690c574 1403 /**
AnnaBridge 145:64910690c574 1404 * @brief Get DMA2D background memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 1405 * @rmtoll BGMAR MA LL_DMA2D_BGND_GetMemAddr
AnnaBridge 145:64910690c574 1406 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1407 * @retval Background memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 1408 */
AnnaBridge 145:64910690c574 1409 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetMemAddr(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1410 {
AnnaBridge 145:64910690c574 1411 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, BGMAR));
AnnaBridge 145:64910690c574 1412 }
AnnaBridge 145:64910690c574 1413
AnnaBridge 145:64910690c574 1414 /**
AnnaBridge 145:64910690c574 1415 * @brief Enable DMA2D background CLUT loading.
AnnaBridge 145:64910690c574 1416 * @rmtoll BGPFCCR START LL_DMA2D_BGND_EnableCLUTLoad
AnnaBridge 145:64910690c574 1417 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1418 * @retval None
AnnaBridge 145:64910690c574 1419 */
AnnaBridge 145:64910690c574 1420 __STATIC_INLINE void LL_DMA2D_BGND_EnableCLUTLoad(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1421 {
AnnaBridge 145:64910690c574 1422 SET_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_START);
AnnaBridge 145:64910690c574 1423 }
AnnaBridge 145:64910690c574 1424
AnnaBridge 145:64910690c574 1425 /**
AnnaBridge 145:64910690c574 1426 * @brief Indicate if DMA2D background CLUT loading is enabled.
AnnaBridge 145:64910690c574 1427 * @rmtoll BGPFCCR START LL_DMA2D_BGND_IsEnabledCLUTLoad
AnnaBridge 145:64910690c574 1428 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1429 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 1430 */
AnnaBridge 145:64910690c574 1431 __STATIC_INLINE uint32_t LL_DMA2D_BGND_IsEnabledCLUTLoad(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1432 {
AnnaBridge 145:64910690c574 1433 return (READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_START) == (DMA2D_BGPFCCR_START));
AnnaBridge 145:64910690c574 1434 }
AnnaBridge 145:64910690c574 1435
AnnaBridge 145:64910690c574 1436 /**
AnnaBridge 145:64910690c574 1437 * @brief Set DMA2D background color mode.
AnnaBridge 145:64910690c574 1438 * @rmtoll BGPFCCR CM LL_DMA2D_BGND_SetColorMode
AnnaBridge 145:64910690c574 1439 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1440 * @param ColorMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1441 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888
AnnaBridge 145:64910690c574 1442 * @arg @ref LL_DMA2D_INPUT_MODE_RGB888
AnnaBridge 145:64910690c574 1443 * @arg @ref LL_DMA2D_INPUT_MODE_RGB565
AnnaBridge 145:64910690c574 1444 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555
AnnaBridge 145:64910690c574 1445 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444
AnnaBridge 145:64910690c574 1446 * @arg @ref LL_DMA2D_INPUT_MODE_L8
AnnaBridge 145:64910690c574 1447 * @arg @ref LL_DMA2D_INPUT_MODE_AL44
AnnaBridge 145:64910690c574 1448 * @arg @ref LL_DMA2D_INPUT_MODE_AL88
AnnaBridge 145:64910690c574 1449 * @arg @ref LL_DMA2D_INPUT_MODE_L4
AnnaBridge 145:64910690c574 1450 * @arg @ref LL_DMA2D_INPUT_MODE_A8
AnnaBridge 145:64910690c574 1451 * @arg @ref LL_DMA2D_INPUT_MODE_A4
AnnaBridge 145:64910690c574 1452 * @retval None
AnnaBridge 145:64910690c574 1453 */
AnnaBridge 145:64910690c574 1454 __STATIC_INLINE void LL_DMA2D_BGND_SetColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode)
AnnaBridge 145:64910690c574 1455 {
AnnaBridge 145:64910690c574 1456 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CM, ColorMode);
AnnaBridge 145:64910690c574 1457 }
AnnaBridge 145:64910690c574 1458
AnnaBridge 145:64910690c574 1459 /**
AnnaBridge 145:64910690c574 1460 * @brief Return DMA2D background color mode.
AnnaBridge 145:64910690c574 1461 * @rmtoll BGPFCCR CM LL_DMA2D_BGND_GetColorMode
AnnaBridge 145:64910690c574 1462 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1463 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1464 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888
AnnaBridge 145:64910690c574 1465 * @arg @ref LL_DMA2D_INPUT_MODE_RGB888
AnnaBridge 145:64910690c574 1466 * @arg @ref LL_DMA2D_INPUT_MODE_RGB565
AnnaBridge 145:64910690c574 1467 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555
AnnaBridge 145:64910690c574 1468 * @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444
AnnaBridge 145:64910690c574 1469 * @arg @ref LL_DMA2D_INPUT_MODE_L8
AnnaBridge 145:64910690c574 1470 * @arg @ref LL_DMA2D_INPUT_MODE_AL44
AnnaBridge 145:64910690c574 1471 * @arg @ref LL_DMA2D_INPUT_MODE_AL88
AnnaBridge 145:64910690c574 1472 * @arg @ref LL_DMA2D_INPUT_MODE_L4
AnnaBridge 145:64910690c574 1473 * @arg @ref LL_DMA2D_INPUT_MODE_A8
AnnaBridge 145:64910690c574 1474 * @arg @ref LL_DMA2D_INPUT_MODE_A4
AnnaBridge 145:64910690c574 1475 */
AnnaBridge 145:64910690c574 1476 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetColorMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1477 {
AnnaBridge 145:64910690c574 1478 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CM));
AnnaBridge 145:64910690c574 1479 }
AnnaBridge 145:64910690c574 1480
AnnaBridge 145:64910690c574 1481 /**
AnnaBridge 145:64910690c574 1482 * @brief Set DMA2D background alpha mode.
AnnaBridge 145:64910690c574 1483 * @rmtoll BGPFCCR AM LL_DMA2D_BGND_SetAlphaMode
AnnaBridge 145:64910690c574 1484 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1485 * @param AphaMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1486 * @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF
AnnaBridge 145:64910690c574 1487 * @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE
AnnaBridge 145:64910690c574 1488 * @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE
AnnaBridge 145:64910690c574 1489 * @retval None
AnnaBridge 145:64910690c574 1490 */
AnnaBridge 145:64910690c574 1491 __STATIC_INLINE void LL_DMA2D_BGND_SetAlphaMode(DMA2D_TypeDef *DMA2Dx, uint32_t AphaMode)
AnnaBridge 145:64910690c574 1492 {
AnnaBridge 145:64910690c574 1493 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AM, AphaMode);
AnnaBridge 145:64910690c574 1494 }
AnnaBridge 145:64910690c574 1495
AnnaBridge 145:64910690c574 1496 /**
AnnaBridge 145:64910690c574 1497 * @brief Return DMA2D background alpha mode.
AnnaBridge 145:64910690c574 1498 * @rmtoll BGPFCCR AM LL_DMA2D_BGND_GetAlphaMode
AnnaBridge 145:64910690c574 1499 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1500 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1501 * @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF
AnnaBridge 145:64910690c574 1502 * @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE
AnnaBridge 145:64910690c574 1503 * @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE
AnnaBridge 145:64910690c574 1504 */
AnnaBridge 145:64910690c574 1505 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetAlphaMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1506 {
AnnaBridge 145:64910690c574 1507 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AM));
AnnaBridge 145:64910690c574 1508 }
AnnaBridge 145:64910690c574 1509
AnnaBridge 145:64910690c574 1510 /**
AnnaBridge 145:64910690c574 1511 * @brief Set DMA2D background alpha value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1512 * @rmtoll BGPFCCR ALPHA LL_DMA2D_BGND_SetAlpha
AnnaBridge 145:64910690c574 1513 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1514 * @param Alpha Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1515 * @retval None
AnnaBridge 145:64910690c574 1516 */
AnnaBridge 145:64910690c574 1517 __STATIC_INLINE void LL_DMA2D_BGND_SetAlpha(DMA2D_TypeDef *DMA2Dx, uint32_t Alpha)
AnnaBridge 145:64910690c574 1518 {
AnnaBridge 145:64910690c574 1519 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_ALPHA, (Alpha << DMA2D_BGPFCCR_ALPHA_Pos));
AnnaBridge 145:64910690c574 1520 }
AnnaBridge 145:64910690c574 1521
AnnaBridge 145:64910690c574 1522 /**
AnnaBridge 145:64910690c574 1523 * @brief Return DMA2D background alpha value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1524 * @rmtoll BGPFCCR ALPHA LL_DMA2D_BGND_GetAlpha
AnnaBridge 145:64910690c574 1525 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1526 * @retval Alpha value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1527 */
AnnaBridge 145:64910690c574 1528 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetAlpha(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1529 {
AnnaBridge 145:64910690c574 1530 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_ALPHA) >> DMA2D_BGPFCCR_ALPHA_Pos);
AnnaBridge 145:64910690c574 1531 }
AnnaBridge 145:64910690c574 1532
AnnaBridge 145:64910690c574 1533 /**
AnnaBridge 145:64910690c574 1534 * @brief Set DMA2D background Red Blue swap mode.
AnnaBridge 145:64910690c574 1535 * @rmtoll BGPFCCR RBS LL_DMA2D_BGND_SetRBSwapMode
AnnaBridge 145:64910690c574 1536 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1537 * @param RBSwapMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1538 * @arg @ref LL_DMA2D_RB_MODE_REGULAR
AnnaBridge 145:64910690c574 1539 * @arg @ref LL_DMA2D_RB_MODE_SWAP
AnnaBridge 145:64910690c574 1540 * @retval None
AnnaBridge 145:64910690c574 1541 */
AnnaBridge 145:64910690c574 1542 __STATIC_INLINE void LL_DMA2D_BGND_SetRBSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t RBSwapMode)
AnnaBridge 145:64910690c574 1543 {
AnnaBridge 145:64910690c574 1544 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_RBS, RBSwapMode);
AnnaBridge 145:64910690c574 1545 }
AnnaBridge 145:64910690c574 1546
AnnaBridge 145:64910690c574 1547 /**
AnnaBridge 145:64910690c574 1548 * @brief Return DMA2D background Red Blue swap mode.
AnnaBridge 145:64910690c574 1549 * @rmtoll BGPFCCR RBS LL_DMA2D_BGND_GetRBSwapMode
AnnaBridge 145:64910690c574 1550 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1551 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1552 * @arg @ref LL_DMA2D_RB_MODE_REGULAR
AnnaBridge 145:64910690c574 1553 * @arg @ref LL_DMA2D_RB_MODE_SWAP
AnnaBridge 145:64910690c574 1554 */
AnnaBridge 145:64910690c574 1555 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetRBSwapMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1556 {
AnnaBridge 145:64910690c574 1557 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_RBS));
AnnaBridge 145:64910690c574 1558 }
AnnaBridge 145:64910690c574 1559
AnnaBridge 145:64910690c574 1560 /**
AnnaBridge 145:64910690c574 1561 * @brief Set DMA2D background alpha inversion mode.
AnnaBridge 145:64910690c574 1562 * @rmtoll BGPFCCR AI LL_DMA2D_BGND_SetAlphaInvMode
AnnaBridge 145:64910690c574 1563 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1564 * @param AlphaInversionMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1565 * @arg @ref LL_DMA2D_ALPHA_REGULAR
AnnaBridge 145:64910690c574 1566 * @arg @ref LL_DMA2D_ALPHA_INVERTED
AnnaBridge 145:64910690c574 1567 * @retval None
AnnaBridge 145:64910690c574 1568 */
AnnaBridge 145:64910690c574 1569 __STATIC_INLINE void LL_DMA2D_BGND_SetAlphaInvMode(DMA2D_TypeDef *DMA2Dx, uint32_t AlphaInversionMode)
AnnaBridge 145:64910690c574 1570 {
AnnaBridge 145:64910690c574 1571 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AI, AlphaInversionMode);
AnnaBridge 145:64910690c574 1572 }
AnnaBridge 145:64910690c574 1573
AnnaBridge 145:64910690c574 1574 /**
AnnaBridge 145:64910690c574 1575 * @brief Return DMA2D background alpha inversion mode.
AnnaBridge 145:64910690c574 1576 * @rmtoll BGPFCCR AI LL_DMA2D_BGND_GetAlphaInvMode
AnnaBridge 145:64910690c574 1577 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1578 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1579 * @arg @ref LL_DMA2D_ALPHA_REGULAR
AnnaBridge 145:64910690c574 1580 * @arg @ref LL_DMA2D_ALPHA_INVERTED
AnnaBridge 145:64910690c574 1581 */
AnnaBridge 145:64910690c574 1582 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetAlphaInvMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1583 {
AnnaBridge 145:64910690c574 1584 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AI));
AnnaBridge 145:64910690c574 1585 }
AnnaBridge 145:64910690c574 1586
AnnaBridge 145:64910690c574 1587 /**
AnnaBridge 145:64910690c574 1588 * @brief Set DMA2D background line offset, expressed on 14 bits ([13:0] bits).
AnnaBridge 145:64910690c574 1589 * @rmtoll BGOR LO LL_DMA2D_BGND_SetLineOffset
AnnaBridge 145:64910690c574 1590 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1591 * @param LineOffset Value between Min_Data=0 and Max_Data=0x3FF
AnnaBridge 145:64910690c574 1592 * @retval None
AnnaBridge 145:64910690c574 1593 */
AnnaBridge 145:64910690c574 1594 __STATIC_INLINE void LL_DMA2D_BGND_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset)
AnnaBridge 145:64910690c574 1595 {
AnnaBridge 145:64910690c574 1596 MODIFY_REG(DMA2Dx->BGOR, DMA2D_BGOR_LO, LineOffset);
AnnaBridge 145:64910690c574 1597 }
AnnaBridge 145:64910690c574 1598
AnnaBridge 145:64910690c574 1599 /**
AnnaBridge 145:64910690c574 1600 * @brief Return DMA2D background line offset, expressed on 14 bits ([13:0] bits).
AnnaBridge 145:64910690c574 1601 * @rmtoll BGOR LO LL_DMA2D_BGND_GetLineOffset
AnnaBridge 145:64910690c574 1602 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1603 * @retval Background line offset value between Min_Data=0 and Max_Data=0x3FF
AnnaBridge 145:64910690c574 1604 */
AnnaBridge 145:64910690c574 1605 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetLineOffset(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1606 {
AnnaBridge 145:64910690c574 1607 return (uint32_t)(READ_BIT(DMA2Dx->BGOR, DMA2D_BGOR_LO));
AnnaBridge 145:64910690c574 1608 }
AnnaBridge 145:64910690c574 1609
AnnaBridge 145:64910690c574 1610 /**
AnnaBridge 145:64910690c574 1611 * @brief Set DMA2D background color values, expressed on 24 bits ([23:0] bits).
AnnaBridge 145:64910690c574 1612 * @rmtoll BGCOLR RED LL_DMA2D_BGND_SetColor
AnnaBridge 145:64910690c574 1613 * @rmtoll BGCOLR GREEN LL_DMA2D_BGND_SetColor
AnnaBridge 145:64910690c574 1614 * @rmtoll BGCOLR BLUE LL_DMA2D_BGND_SetColor
AnnaBridge 145:64910690c574 1615 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1616 * @param Red Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1617 * @param Green Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1618 * @param Blue Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1619 * @retval None
AnnaBridge 145:64910690c574 1620 */
AnnaBridge 145:64910690c574 1621 __STATIC_INLINE void LL_DMA2D_BGND_SetColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red, uint32_t Green, uint32_t Blue)
AnnaBridge 145:64910690c574 1622 {
AnnaBridge 145:64910690c574 1623 MODIFY_REG(DMA2Dx->BGCOLR, (DMA2D_BGCOLR_RED | DMA2D_BGCOLR_GREEN | DMA2D_BGCOLR_BLUE), \
AnnaBridge 145:64910690c574 1624 ((Red << DMA2D_BGCOLR_RED_Pos) | (Green << DMA2D_BGCOLR_GREEN_Pos) | Blue));
AnnaBridge 145:64910690c574 1625 }
AnnaBridge 145:64910690c574 1626
AnnaBridge 145:64910690c574 1627 /**
AnnaBridge 145:64910690c574 1628 * @brief Set DMA2D background red color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1629 * @rmtoll BGCOLR RED LL_DMA2D_BGND_SetRedColor
AnnaBridge 145:64910690c574 1630 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1631 * @param Red Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1632 * @retval None
AnnaBridge 145:64910690c574 1633 */
AnnaBridge 145:64910690c574 1634 __STATIC_INLINE void LL_DMA2D_BGND_SetRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red)
AnnaBridge 145:64910690c574 1635 {
AnnaBridge 145:64910690c574 1636 MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_RED, (Red << DMA2D_BGCOLR_RED_Pos));
AnnaBridge 145:64910690c574 1637 }
AnnaBridge 145:64910690c574 1638
AnnaBridge 145:64910690c574 1639 /**
AnnaBridge 145:64910690c574 1640 * @brief Return DMA2D background red color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1641 * @rmtoll BGCOLR RED LL_DMA2D_BGND_GetRedColor
AnnaBridge 145:64910690c574 1642 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1643 * @retval Red color value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1644 */
AnnaBridge 145:64910690c574 1645 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetRedColor(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1646 {
AnnaBridge 145:64910690c574 1647 return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_RED) >> DMA2D_BGCOLR_RED_Pos);
AnnaBridge 145:64910690c574 1648 }
AnnaBridge 145:64910690c574 1649
AnnaBridge 145:64910690c574 1650 /**
AnnaBridge 145:64910690c574 1651 * @brief Set DMA2D background green color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1652 * @rmtoll BGCOLR GREEN LL_DMA2D_BGND_SetGreenColor
AnnaBridge 145:64910690c574 1653 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1654 * @param Green Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1655 * @retval None
AnnaBridge 145:64910690c574 1656 */
AnnaBridge 145:64910690c574 1657 __STATIC_INLINE void LL_DMA2D_BGND_SetGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t Green)
AnnaBridge 145:64910690c574 1658 {
AnnaBridge 145:64910690c574 1659 MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_GREEN, (Green << DMA2D_BGCOLR_GREEN_Pos));
AnnaBridge 145:64910690c574 1660 }
AnnaBridge 145:64910690c574 1661
AnnaBridge 145:64910690c574 1662 /**
AnnaBridge 145:64910690c574 1663 * @brief Return DMA2D background green color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1664 * @rmtoll BGCOLR GREEN LL_DMA2D_BGND_GetGreenColor
AnnaBridge 145:64910690c574 1665 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1666 * @retval Green color value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1667 */
AnnaBridge 145:64910690c574 1668 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetGreenColor(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1669 {
AnnaBridge 145:64910690c574 1670 return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_GREEN) >> DMA2D_BGCOLR_GREEN_Pos);
AnnaBridge 145:64910690c574 1671 }
AnnaBridge 145:64910690c574 1672
AnnaBridge 145:64910690c574 1673 /**
AnnaBridge 145:64910690c574 1674 * @brief Set DMA2D background blue color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1675 * @rmtoll BGCOLR BLUE LL_DMA2D_BGND_SetBlueColor
AnnaBridge 145:64910690c574 1676 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1677 * @param Blue Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1678 * @retval None
AnnaBridge 145:64910690c574 1679 */
AnnaBridge 145:64910690c574 1680 __STATIC_INLINE void LL_DMA2D_BGND_SetBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t Blue)
AnnaBridge 145:64910690c574 1681 {
AnnaBridge 145:64910690c574 1682 MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_BLUE, Blue);
AnnaBridge 145:64910690c574 1683 }
AnnaBridge 145:64910690c574 1684
AnnaBridge 145:64910690c574 1685 /**
AnnaBridge 145:64910690c574 1686 * @brief Return DMA2D background blue color value, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1687 * @rmtoll BGCOLR BLUE LL_DMA2D_BGND_GetBlueColor
AnnaBridge 145:64910690c574 1688 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1689 * @retval Blue color value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1690 */
AnnaBridge 145:64910690c574 1691 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetBlueColor(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1692 {
AnnaBridge 145:64910690c574 1693 return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_BLUE));
AnnaBridge 145:64910690c574 1694 }
AnnaBridge 145:64910690c574 1695
AnnaBridge 145:64910690c574 1696 /**
AnnaBridge 145:64910690c574 1697 * @brief Set DMA2D background CLUT memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 1698 * @rmtoll BGCMAR MA LL_DMA2D_BGND_SetCLUTMemAddr
AnnaBridge 145:64910690c574 1699 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1700 * @param CLUTMemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 1701 * @retval None
AnnaBridge 145:64910690c574 1702 */
AnnaBridge 145:64910690c574 1703 __STATIC_INLINE void LL_DMA2D_BGND_SetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTMemoryAddress)
AnnaBridge 145:64910690c574 1704 {
AnnaBridge 145:64910690c574 1705 LL_DMA2D_WriteReg(DMA2Dx, BGCMAR, CLUTMemoryAddress);
AnnaBridge 145:64910690c574 1706 }
AnnaBridge 145:64910690c574 1707
AnnaBridge 145:64910690c574 1708 /**
AnnaBridge 145:64910690c574 1709 * @brief Get DMA2D background CLUT memory address, expressed on 32 bits ([31:0] bits).
AnnaBridge 145:64910690c574 1710 * @rmtoll BGCMAR MA LL_DMA2D_BGND_GetCLUTMemAddr
AnnaBridge 145:64910690c574 1711 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1712 * @retval Background CLUT memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
AnnaBridge 145:64910690c574 1713 */
AnnaBridge 145:64910690c574 1714 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1715 {
AnnaBridge 145:64910690c574 1716 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, BGCMAR));
AnnaBridge 145:64910690c574 1717 }
AnnaBridge 145:64910690c574 1718
AnnaBridge 145:64910690c574 1719 /**
AnnaBridge 145:64910690c574 1720 * @brief Set DMA2D background CLUT size, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1721 * @rmtoll BGPFCCR CS LL_DMA2D_BGND_SetCLUTSize
AnnaBridge 145:64910690c574 1722 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1723 * @param CLUTSize Value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1724 * @retval None
AnnaBridge 145:64910690c574 1725 */
AnnaBridge 145:64910690c574 1726 __STATIC_INLINE void LL_DMA2D_BGND_SetCLUTSize(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTSize)
AnnaBridge 145:64910690c574 1727 {
AnnaBridge 145:64910690c574 1728 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CS, (CLUTSize << DMA2D_BGPFCCR_CS_Pos));
AnnaBridge 145:64910690c574 1729 }
AnnaBridge 145:64910690c574 1730
AnnaBridge 145:64910690c574 1731 /**
AnnaBridge 145:64910690c574 1732 * @brief Get DMA2D background CLUT size, expressed on 8 bits ([7:0] bits).
AnnaBridge 145:64910690c574 1733 * @rmtoll BGPFCCR CS LL_DMA2D_BGND_GetCLUTSize
AnnaBridge 145:64910690c574 1734 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1735 * @retval Background CLUT size value between Min_Data=0 and Max_Data=0xFF
AnnaBridge 145:64910690c574 1736 */
AnnaBridge 145:64910690c574 1737 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTSize(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1738 {
AnnaBridge 145:64910690c574 1739 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CS) >> DMA2D_BGPFCCR_CS_Pos);
AnnaBridge 145:64910690c574 1740 }
AnnaBridge 145:64910690c574 1741
AnnaBridge 145:64910690c574 1742 /**
AnnaBridge 145:64910690c574 1743 * @brief Set DMA2D background CLUT color mode.
AnnaBridge 145:64910690c574 1744 * @rmtoll BGPFCCR CCM LL_DMA2D_BGND_SetCLUTColorMode
AnnaBridge 145:64910690c574 1745 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1746 * @param CLUTColorMode This parameter can be one of the following values:
AnnaBridge 145:64910690c574 1747 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888
AnnaBridge 145:64910690c574 1748 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888
AnnaBridge 145:64910690c574 1749 * @retval None
AnnaBridge 145:64910690c574 1750 */
AnnaBridge 145:64910690c574 1751 __STATIC_INLINE void LL_DMA2D_BGND_SetCLUTColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTColorMode)
AnnaBridge 145:64910690c574 1752 {
AnnaBridge 145:64910690c574 1753 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CCM, CLUTColorMode);
AnnaBridge 145:64910690c574 1754 }
AnnaBridge 145:64910690c574 1755
AnnaBridge 145:64910690c574 1756 /**
AnnaBridge 145:64910690c574 1757 * @brief Return DMA2D background CLUT color mode.
AnnaBridge 145:64910690c574 1758 * @rmtoll BGPFCCR CCM LL_DMA2D_BGND_GetCLUTColorMode
AnnaBridge 145:64910690c574 1759 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1760 * @retval Returned value can be one of the following values:
AnnaBridge 145:64910690c574 1761 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888
AnnaBridge 145:64910690c574 1762 * @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888
AnnaBridge 145:64910690c574 1763 */
AnnaBridge 145:64910690c574 1764 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTColorMode(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1765 {
AnnaBridge 145:64910690c574 1766 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CCM));
AnnaBridge 145:64910690c574 1767 }
AnnaBridge 145:64910690c574 1768
AnnaBridge 145:64910690c574 1769 /**
AnnaBridge 145:64910690c574 1770 * @}
AnnaBridge 145:64910690c574 1771 */
AnnaBridge 145:64910690c574 1772
AnnaBridge 145:64910690c574 1773 /**
AnnaBridge 145:64910690c574 1774 * @}
AnnaBridge 145:64910690c574 1775 */
AnnaBridge 145:64910690c574 1776
AnnaBridge 145:64910690c574 1777
AnnaBridge 145:64910690c574 1778 /** @defgroup DMA2D_LL_EF_FLAG_MANAGEMENT Flag Management
AnnaBridge 145:64910690c574 1779 * @{
AnnaBridge 145:64910690c574 1780 */
AnnaBridge 145:64910690c574 1781
AnnaBridge 145:64910690c574 1782 /**
AnnaBridge 145:64910690c574 1783 * @brief Check if the DMA2D Configuration Error Interrupt Flag is set or not
AnnaBridge 145:64910690c574 1784 * @rmtoll ISR CEIF LL_DMA2D_IsActiveFlag_CE
AnnaBridge 145:64910690c574 1785 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1786 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 1787 */
AnnaBridge 145:64910690c574 1788 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1789 {
AnnaBridge 145:64910690c574 1790 return (READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CEIF) == (DMA2D_ISR_CEIF));
AnnaBridge 145:64910690c574 1791 }
AnnaBridge 145:64910690c574 1792
AnnaBridge 145:64910690c574 1793 /**
AnnaBridge 145:64910690c574 1794 * @brief Check if the DMA2D CLUT Transfer Complete Interrupt Flag is set or not
AnnaBridge 145:64910690c574 1795 * @rmtoll ISR CTCIF LL_DMA2D_IsActiveFlag_CTC
AnnaBridge 145:64910690c574 1796 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1797 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 1798 */
AnnaBridge 145:64910690c574 1799 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CTC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1800 {
AnnaBridge 145:64910690c574 1801 return (READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CTCIF) == (DMA2D_ISR_CTCIF));
AnnaBridge 145:64910690c574 1802 }
AnnaBridge 145:64910690c574 1803
AnnaBridge 145:64910690c574 1804 /**
AnnaBridge 145:64910690c574 1805 * @brief Check if the DMA2D CLUT Access Error Interrupt Flag is set or not
AnnaBridge 145:64910690c574 1806 * @rmtoll ISR CAEIF LL_DMA2D_IsActiveFlag_CAE
AnnaBridge 145:64910690c574 1807 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1808 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 1809 */
AnnaBridge 145:64910690c574 1810 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CAE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1811 {
AnnaBridge 145:64910690c574 1812 return (READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CAEIF) == (DMA2D_ISR_CAEIF));
AnnaBridge 145:64910690c574 1813 }
AnnaBridge 145:64910690c574 1814
AnnaBridge 145:64910690c574 1815 /**
AnnaBridge 145:64910690c574 1816 * @brief Check if the DMA2D Transfer Watermark Interrupt Flag is set or not
AnnaBridge 145:64910690c574 1817 * @rmtoll ISR TWIF LL_DMA2D_IsActiveFlag_TW
AnnaBridge 145:64910690c574 1818 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1819 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 1820 */
AnnaBridge 145:64910690c574 1821 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TW(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1822 {
AnnaBridge 145:64910690c574 1823 return (READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TWIF) == (DMA2D_ISR_TWIF));
AnnaBridge 145:64910690c574 1824 }
AnnaBridge 145:64910690c574 1825
AnnaBridge 145:64910690c574 1826 /**
AnnaBridge 145:64910690c574 1827 * @brief Check if the DMA2D Transfer Complete Interrupt Flag is set or not
AnnaBridge 145:64910690c574 1828 * @rmtoll ISR TCIF LL_DMA2D_IsActiveFlag_TC
AnnaBridge 145:64910690c574 1829 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1830 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 1831 */
AnnaBridge 145:64910690c574 1832 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1833 {
AnnaBridge 145:64910690c574 1834 return (READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TCIF) == (DMA2D_ISR_TCIF));
AnnaBridge 145:64910690c574 1835 }
AnnaBridge 145:64910690c574 1836
AnnaBridge 145:64910690c574 1837 /**
AnnaBridge 145:64910690c574 1838 * @brief Check if the DMA2D Transfer Error Interrupt Flag is set or not
AnnaBridge 145:64910690c574 1839 * @rmtoll ISR TEIF LL_DMA2D_IsActiveFlag_TE
AnnaBridge 145:64910690c574 1840 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1841 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 1842 */
AnnaBridge 145:64910690c574 1843 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1844 {
AnnaBridge 145:64910690c574 1845 return (READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TEIF) == (DMA2D_ISR_TEIF));
AnnaBridge 145:64910690c574 1846 }
AnnaBridge 145:64910690c574 1847
AnnaBridge 145:64910690c574 1848 /**
AnnaBridge 145:64910690c574 1849 * @brief Clear DMA2D Configuration Error Interrupt Flag
AnnaBridge 145:64910690c574 1850 * @rmtoll IFCR CCEIF LL_DMA2D_ClearFlag_CE
AnnaBridge 145:64910690c574 1851 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1852 * @retval None
AnnaBridge 145:64910690c574 1853 */
AnnaBridge 145:64910690c574 1854 __STATIC_INLINE void LL_DMA2D_ClearFlag_CE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1855 {
AnnaBridge 145:64910690c574 1856 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CCEIF);
AnnaBridge 145:64910690c574 1857 }
AnnaBridge 145:64910690c574 1858
AnnaBridge 145:64910690c574 1859 /**
AnnaBridge 145:64910690c574 1860 * @brief Clear DMA2D CLUT Transfer Complete Interrupt Flag
AnnaBridge 145:64910690c574 1861 * @rmtoll IFCR CCTCIF LL_DMA2D_ClearFlag_CTC
AnnaBridge 145:64910690c574 1862 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1863 * @retval None
AnnaBridge 145:64910690c574 1864 */
AnnaBridge 145:64910690c574 1865 __STATIC_INLINE void LL_DMA2D_ClearFlag_CTC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1866 {
AnnaBridge 145:64910690c574 1867 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CCTCIF);
AnnaBridge 145:64910690c574 1868 }
AnnaBridge 145:64910690c574 1869
AnnaBridge 145:64910690c574 1870 /**
AnnaBridge 145:64910690c574 1871 * @brief Clear DMA2D CLUT Access Error Interrupt Flag
AnnaBridge 145:64910690c574 1872 * @rmtoll IFCR CAECIF LL_DMA2D_ClearFlag_CAE
AnnaBridge 145:64910690c574 1873 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1874 * @retval None
AnnaBridge 145:64910690c574 1875 */
AnnaBridge 145:64910690c574 1876 __STATIC_INLINE void LL_DMA2D_ClearFlag_CAE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1877 {
AnnaBridge 145:64910690c574 1878 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CAECIF);
AnnaBridge 145:64910690c574 1879 }
AnnaBridge 145:64910690c574 1880
AnnaBridge 145:64910690c574 1881 /**
AnnaBridge 145:64910690c574 1882 * @brief Clear DMA2D Transfer Watermark Interrupt Flag
AnnaBridge 145:64910690c574 1883 * @rmtoll IFCR CTWIF LL_DMA2D_ClearFlag_TW
AnnaBridge 145:64910690c574 1884 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1885 * @retval None
AnnaBridge 145:64910690c574 1886 */
AnnaBridge 145:64910690c574 1887 __STATIC_INLINE void LL_DMA2D_ClearFlag_TW(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1888 {
AnnaBridge 145:64910690c574 1889 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTWIF);
AnnaBridge 145:64910690c574 1890 }
AnnaBridge 145:64910690c574 1891
AnnaBridge 145:64910690c574 1892 /**
AnnaBridge 145:64910690c574 1893 * @brief Clear DMA2D Transfer Complete Interrupt Flag
AnnaBridge 145:64910690c574 1894 * @rmtoll IFCR CTCIF LL_DMA2D_ClearFlag_TC
AnnaBridge 145:64910690c574 1895 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1896 * @retval None
AnnaBridge 145:64910690c574 1897 */
AnnaBridge 145:64910690c574 1898 __STATIC_INLINE void LL_DMA2D_ClearFlag_TC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1899 {
AnnaBridge 145:64910690c574 1900 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTCIF);
AnnaBridge 145:64910690c574 1901 }
AnnaBridge 145:64910690c574 1902
AnnaBridge 145:64910690c574 1903 /**
AnnaBridge 145:64910690c574 1904 * @brief Clear DMA2D Transfer Error Interrupt Flag
AnnaBridge 145:64910690c574 1905 * @rmtoll IFCR CTEIF LL_DMA2D_ClearFlag_TE
AnnaBridge 145:64910690c574 1906 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1907 * @retval None
AnnaBridge 145:64910690c574 1908 */
AnnaBridge 145:64910690c574 1909 __STATIC_INLINE void LL_DMA2D_ClearFlag_TE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1910 {
AnnaBridge 145:64910690c574 1911 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTEIF);
AnnaBridge 145:64910690c574 1912 }
AnnaBridge 145:64910690c574 1913
AnnaBridge 145:64910690c574 1914 /**
AnnaBridge 145:64910690c574 1915 * @}
AnnaBridge 145:64910690c574 1916 */
AnnaBridge 145:64910690c574 1917
AnnaBridge 145:64910690c574 1918 /** @defgroup DMA2D_LL_EF_IT_MANAGEMENT Interruption Management
AnnaBridge 145:64910690c574 1919 * @{
AnnaBridge 145:64910690c574 1920 */
AnnaBridge 145:64910690c574 1921
AnnaBridge 145:64910690c574 1922 /**
AnnaBridge 145:64910690c574 1923 * @brief Enable Configuration Error Interrupt
AnnaBridge 145:64910690c574 1924 * @rmtoll CR CEIE LL_DMA2D_EnableIT_CE
AnnaBridge 145:64910690c574 1925 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1926 * @retval None
AnnaBridge 145:64910690c574 1927 */
AnnaBridge 145:64910690c574 1928 __STATIC_INLINE void LL_DMA2D_EnableIT_CE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1929 {
AnnaBridge 145:64910690c574 1930 SET_BIT(DMA2Dx->CR, DMA2D_CR_CEIE);
AnnaBridge 145:64910690c574 1931 }
AnnaBridge 145:64910690c574 1932
AnnaBridge 145:64910690c574 1933 /**
AnnaBridge 145:64910690c574 1934 * @brief Enable CLUT Transfer Complete Interrupt
AnnaBridge 145:64910690c574 1935 * @rmtoll CR CTCIE LL_DMA2D_EnableIT_CTC
AnnaBridge 145:64910690c574 1936 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1937 * @retval None
AnnaBridge 145:64910690c574 1938 */
AnnaBridge 145:64910690c574 1939 __STATIC_INLINE void LL_DMA2D_EnableIT_CTC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1940 {
AnnaBridge 145:64910690c574 1941 SET_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE);
AnnaBridge 145:64910690c574 1942 }
AnnaBridge 145:64910690c574 1943
AnnaBridge 145:64910690c574 1944 /**
AnnaBridge 145:64910690c574 1945 * @brief Enable CLUT Access Error Interrupt
AnnaBridge 145:64910690c574 1946 * @rmtoll CR CAEIE LL_DMA2D_EnableIT_CAE
AnnaBridge 145:64910690c574 1947 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1948 * @retval None
AnnaBridge 145:64910690c574 1949 */
AnnaBridge 145:64910690c574 1950 __STATIC_INLINE void LL_DMA2D_EnableIT_CAE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1951 {
AnnaBridge 145:64910690c574 1952 SET_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE);
AnnaBridge 145:64910690c574 1953 }
AnnaBridge 145:64910690c574 1954
AnnaBridge 145:64910690c574 1955 /**
AnnaBridge 145:64910690c574 1956 * @brief Enable Transfer Watermark Interrupt
AnnaBridge 145:64910690c574 1957 * @rmtoll CR TWIE LL_DMA2D_EnableIT_TW
AnnaBridge 145:64910690c574 1958 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1959 * @retval None
AnnaBridge 145:64910690c574 1960 */
AnnaBridge 145:64910690c574 1961 __STATIC_INLINE void LL_DMA2D_EnableIT_TW(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1962 {
AnnaBridge 145:64910690c574 1963 SET_BIT(DMA2Dx->CR, DMA2D_CR_TWIE);
AnnaBridge 145:64910690c574 1964 }
AnnaBridge 145:64910690c574 1965
AnnaBridge 145:64910690c574 1966 /**
AnnaBridge 145:64910690c574 1967 * @brief Enable Transfer Complete Interrupt
AnnaBridge 145:64910690c574 1968 * @rmtoll CR TCIE LL_DMA2D_EnableIT_TC
AnnaBridge 145:64910690c574 1969 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1970 * @retval None
AnnaBridge 145:64910690c574 1971 */
AnnaBridge 145:64910690c574 1972 __STATIC_INLINE void LL_DMA2D_EnableIT_TC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1973 {
AnnaBridge 145:64910690c574 1974 SET_BIT(DMA2Dx->CR, DMA2D_CR_TCIE);
AnnaBridge 145:64910690c574 1975 }
AnnaBridge 145:64910690c574 1976
AnnaBridge 145:64910690c574 1977 /**
AnnaBridge 145:64910690c574 1978 * @brief Enable Transfer Error Interrupt
AnnaBridge 145:64910690c574 1979 * @rmtoll CR TEIE LL_DMA2D_EnableIT_TE
AnnaBridge 145:64910690c574 1980 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1981 * @retval None
AnnaBridge 145:64910690c574 1982 */
AnnaBridge 145:64910690c574 1983 __STATIC_INLINE void LL_DMA2D_EnableIT_TE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1984 {
AnnaBridge 145:64910690c574 1985 SET_BIT(DMA2Dx->CR, DMA2D_CR_TEIE);
AnnaBridge 145:64910690c574 1986 }
AnnaBridge 145:64910690c574 1987
AnnaBridge 145:64910690c574 1988 /**
AnnaBridge 145:64910690c574 1989 * @brief Disable Configuration Error Interrupt
AnnaBridge 145:64910690c574 1990 * @rmtoll CR CEIE LL_DMA2D_DisableIT_CE
AnnaBridge 145:64910690c574 1991 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 1992 * @retval None
AnnaBridge 145:64910690c574 1993 */
AnnaBridge 145:64910690c574 1994 __STATIC_INLINE void LL_DMA2D_DisableIT_CE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 1995 {
AnnaBridge 145:64910690c574 1996 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CEIE);
AnnaBridge 145:64910690c574 1997 }
AnnaBridge 145:64910690c574 1998
AnnaBridge 145:64910690c574 1999 /**
AnnaBridge 145:64910690c574 2000 * @brief Disable CLUT Transfer Complete Interrupt
AnnaBridge 145:64910690c574 2001 * @rmtoll CR CTCIE LL_DMA2D_DisableIT_CTC
AnnaBridge 145:64910690c574 2002 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2003 * @retval None
AnnaBridge 145:64910690c574 2004 */
AnnaBridge 145:64910690c574 2005 __STATIC_INLINE void LL_DMA2D_DisableIT_CTC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2006 {
AnnaBridge 145:64910690c574 2007 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE);
AnnaBridge 145:64910690c574 2008 }
AnnaBridge 145:64910690c574 2009
AnnaBridge 145:64910690c574 2010 /**
AnnaBridge 145:64910690c574 2011 * @brief Disable CLUT Access Error Interrupt
AnnaBridge 145:64910690c574 2012 * @rmtoll CR CAEIE LL_DMA2D_DisableIT_CAE
AnnaBridge 145:64910690c574 2013 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2014 * @retval None
AnnaBridge 145:64910690c574 2015 */
AnnaBridge 145:64910690c574 2016 __STATIC_INLINE void LL_DMA2D_DisableIT_CAE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2017 {
AnnaBridge 145:64910690c574 2018 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE);
AnnaBridge 145:64910690c574 2019 }
AnnaBridge 145:64910690c574 2020
AnnaBridge 145:64910690c574 2021 /**
AnnaBridge 145:64910690c574 2022 * @brief Disable Transfer Watermark Interrupt
AnnaBridge 145:64910690c574 2023 * @rmtoll CR TWIE LL_DMA2D_DisableIT_TW
AnnaBridge 145:64910690c574 2024 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2025 * @retval None
AnnaBridge 145:64910690c574 2026 */
AnnaBridge 145:64910690c574 2027 __STATIC_INLINE void LL_DMA2D_DisableIT_TW(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2028 {
AnnaBridge 145:64910690c574 2029 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TWIE);
AnnaBridge 145:64910690c574 2030 }
AnnaBridge 145:64910690c574 2031
AnnaBridge 145:64910690c574 2032 /**
AnnaBridge 145:64910690c574 2033 * @brief Disable Transfer Complete Interrupt
AnnaBridge 145:64910690c574 2034 * @rmtoll CR TCIE LL_DMA2D_DisableIT_TC
AnnaBridge 145:64910690c574 2035 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2036 * @retval None
AnnaBridge 145:64910690c574 2037 */
AnnaBridge 145:64910690c574 2038 __STATIC_INLINE void LL_DMA2D_DisableIT_TC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2039 {
AnnaBridge 145:64910690c574 2040 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TCIE);
AnnaBridge 145:64910690c574 2041 }
AnnaBridge 145:64910690c574 2042
AnnaBridge 145:64910690c574 2043 /**
AnnaBridge 145:64910690c574 2044 * @brief Disable Transfer Error Interrupt
AnnaBridge 145:64910690c574 2045 * @rmtoll CR TEIE LL_DMA2D_DisableIT_TE
AnnaBridge 145:64910690c574 2046 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2047 * @retval None
AnnaBridge 145:64910690c574 2048 */
AnnaBridge 145:64910690c574 2049 __STATIC_INLINE void LL_DMA2D_DisableIT_TE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2050 {
AnnaBridge 145:64910690c574 2051 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TEIE);
AnnaBridge 145:64910690c574 2052 }
AnnaBridge 145:64910690c574 2053
AnnaBridge 145:64910690c574 2054 /**
AnnaBridge 145:64910690c574 2055 * @brief Check if the DMA2D Configuration Error interrupt source is enabled or disabled.
AnnaBridge 145:64910690c574 2056 * @rmtoll CR CEIE LL_DMA2D_IsEnabledIT_CE
AnnaBridge 145:64910690c574 2057 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2058 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 2059 */
AnnaBridge 145:64910690c574 2060 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2061 {
AnnaBridge 145:64910690c574 2062 return (READ_BIT(DMA2Dx->CR, DMA2D_CR_CEIE) == (DMA2D_CR_CEIE));
AnnaBridge 145:64910690c574 2063 }
AnnaBridge 145:64910690c574 2064
AnnaBridge 145:64910690c574 2065 /**
AnnaBridge 145:64910690c574 2066 * @brief Check if the DMA2D CLUT Transfer Complete interrupt source is enabled or disabled.
AnnaBridge 145:64910690c574 2067 * @rmtoll CR CTCIE LL_DMA2D_IsEnabledIT_CTC
AnnaBridge 145:64910690c574 2068 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2069 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 2070 */
AnnaBridge 145:64910690c574 2071 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CTC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2072 {
AnnaBridge 145:64910690c574 2073 return (READ_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE) == (DMA2D_CR_CTCIE));
AnnaBridge 145:64910690c574 2074 }
AnnaBridge 145:64910690c574 2075
AnnaBridge 145:64910690c574 2076 /**
AnnaBridge 145:64910690c574 2077 * @brief Check if the DMA2D CLUT Access Error interrupt source is enabled or disabled.
AnnaBridge 145:64910690c574 2078 * @rmtoll CR CAEIE LL_DMA2D_IsEnabledIT_CAE
AnnaBridge 145:64910690c574 2079 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2080 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 2081 */
AnnaBridge 145:64910690c574 2082 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CAE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2083 {
AnnaBridge 145:64910690c574 2084 return (READ_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE) == (DMA2D_CR_CAEIE));
AnnaBridge 145:64910690c574 2085 }
AnnaBridge 145:64910690c574 2086
AnnaBridge 145:64910690c574 2087 /**
AnnaBridge 145:64910690c574 2088 * @brief Check if the DMA2D Transfer Watermark interrupt source is enabled or disabled.
AnnaBridge 145:64910690c574 2089 * @rmtoll CR TWIE LL_DMA2D_IsEnabledIT_TW
AnnaBridge 145:64910690c574 2090 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2091 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 2092 */
AnnaBridge 145:64910690c574 2093 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TW(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2094 {
AnnaBridge 145:64910690c574 2095 return (READ_BIT(DMA2Dx->CR, DMA2D_CR_TWIE) == (DMA2D_CR_TWIE));
AnnaBridge 145:64910690c574 2096 }
AnnaBridge 145:64910690c574 2097
AnnaBridge 145:64910690c574 2098 /**
AnnaBridge 145:64910690c574 2099 * @brief Check if the DMA2D Transfer Complete interrupt source is enabled or disabled.
AnnaBridge 145:64910690c574 2100 * @rmtoll CR TCIE LL_DMA2D_IsEnabledIT_TC
AnnaBridge 145:64910690c574 2101 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2102 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 2103 */
AnnaBridge 145:64910690c574 2104 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TC(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2105 {
AnnaBridge 145:64910690c574 2106 return (READ_BIT(DMA2Dx->CR, DMA2D_CR_TCIE) == (DMA2D_CR_TCIE));
AnnaBridge 145:64910690c574 2107 }
AnnaBridge 145:64910690c574 2108
AnnaBridge 145:64910690c574 2109 /**
AnnaBridge 145:64910690c574 2110 * @brief Check if the DMA2D Transfer Error interrupt source is enabled or disabled.
AnnaBridge 145:64910690c574 2111 * @rmtoll CR TEIE LL_DMA2D_IsEnabledIT_TE
AnnaBridge 145:64910690c574 2112 * @param DMA2Dx DMA2D Instance
AnnaBridge 145:64910690c574 2113 * @retval State of bit (1 or 0).
AnnaBridge 145:64910690c574 2114 */
AnnaBridge 145:64910690c574 2115 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TE(DMA2D_TypeDef *DMA2Dx)
AnnaBridge 145:64910690c574 2116 {
AnnaBridge 145:64910690c574 2117 return (READ_BIT(DMA2Dx->CR, DMA2D_CR_TEIE) == (DMA2D_CR_TEIE));
AnnaBridge 145:64910690c574 2118 }
AnnaBridge 145:64910690c574 2119
AnnaBridge 145:64910690c574 2120
AnnaBridge 145:64910690c574 2121
AnnaBridge 145:64910690c574 2122 /**
AnnaBridge 145:64910690c574 2123 * @}
AnnaBridge 145:64910690c574 2124 */
AnnaBridge 145:64910690c574 2125
AnnaBridge 145:64910690c574 2126 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 145:64910690c574 2127 /** @defgroup DMA2D_LL_EF_Init_Functions Initialization and De-initialization Functions
AnnaBridge 145:64910690c574 2128 * @{
AnnaBridge 145:64910690c574 2129 */
AnnaBridge 145:64910690c574 2130
AnnaBridge 145:64910690c574 2131 ErrorStatus LL_DMA2D_DeInit(DMA2D_TypeDef *DMA2Dx);
AnnaBridge 145:64910690c574 2132 ErrorStatus LL_DMA2D_Init(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_InitTypeDef *DMA2D_InitStruct);
AnnaBridge 145:64910690c574 2133 void LL_DMA2D_StructInit(LL_DMA2D_InitTypeDef *DMA2D_InitStruct);
AnnaBridge 145:64910690c574 2134 void LL_DMA2D_ConfigLayer(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_LayerCfgTypeDef *DMA2D_LayerCfg, uint32_t LayerIdx);
AnnaBridge 145:64910690c574 2135 void LL_DMA2D_LayerCfgStructInit(LL_DMA2D_LayerCfgTypeDef *DMA2D_LayerCfg);
AnnaBridge 145:64910690c574 2136 void LL_DMA2D_ConfigOutputColor(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_ColorTypeDef *DMA2D_ColorStruct);
AnnaBridge 145:64910690c574 2137 uint32_t LL_DMA2D_GetOutputBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
AnnaBridge 145:64910690c574 2138 uint32_t LL_DMA2D_GetOutputGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
AnnaBridge 145:64910690c574 2139 uint32_t LL_DMA2D_GetOutputRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
AnnaBridge 145:64910690c574 2140 uint32_t LL_DMA2D_GetOutputAlphaColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
AnnaBridge 145:64910690c574 2141 void LL_DMA2D_ConfigSize(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfLines, uint32_t NbrOfPixelsPerLines);
AnnaBridge 145:64910690c574 2142
AnnaBridge 145:64910690c574 2143 /**
AnnaBridge 145:64910690c574 2144 * @}
AnnaBridge 145:64910690c574 2145 */
AnnaBridge 145:64910690c574 2146 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 145:64910690c574 2147
AnnaBridge 145:64910690c574 2148 /**
AnnaBridge 145:64910690c574 2149 * @}
AnnaBridge 145:64910690c574 2150 */
AnnaBridge 145:64910690c574 2151
AnnaBridge 145:64910690c574 2152 /**
AnnaBridge 145:64910690c574 2153 * @}
AnnaBridge 145:64910690c574 2154 */
AnnaBridge 145:64910690c574 2155
AnnaBridge 145:64910690c574 2156 #endif /* defined (DMA2D) */
AnnaBridge 145:64910690c574 2157
AnnaBridge 145:64910690c574 2158 /**
AnnaBridge 145:64910690c574 2159 * @}
AnnaBridge 145:64910690c574 2160 */
AnnaBridge 145:64910690c574 2161
AnnaBridge 145:64910690c574 2162 #ifdef __cplusplus
AnnaBridge 145:64910690c574 2163 }
AnnaBridge 145:64910690c574 2164 #endif
AnnaBridge 145:64910690c574 2165
AnnaBridge 145:64910690c574 2166 #endif /* __STM32L4xx_LL_DMA2D_H */
AnnaBridge 145:64910690c574 2167
AnnaBridge 145:64910690c574 2168 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/