STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_dma2d.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef STM32L4xx_HAL_DMA2D_H
22 #define STM32L4xx_HAL_DMA2D_H
23 
24 #ifdef __cplusplus
25  extern "C" {
26 #endif
27 
28 #if defined (DMA2D)
29 /* Includes ------------------------------------------------------------------*/
30 #include "stm32l4xx_hal_def.h"
31 
41 /* Exported types ------------------------------------------------------------*/
45 #define MAX_DMA2D_LAYER 2U
50 typedef struct
51 {
52  uint32_t Blue;
55  uint32_t Green;
58  uint32_t Red;
60 } DMA2D_ColorTypeDef;
61 
65 typedef struct
66 {
67  uint32_t *pCLUT;
69  uint32_t CLUTColorMode;
72  uint32_t Size;
75 
79 typedef struct
80 {
81  uint32_t Mode;
84  uint32_t ColorMode;
87  uint32_t OutputOffset;
89  uint32_t AlphaInverted;
92  uint32_t RedBlueSwap;
97 #if defined(DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT)
98  uint32_t BytesSwap;
100 #endif /* DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT */
101 
102 #if defined(DMA2D_LINE_OFFSET_MODE_SUPPORT)
103  uint32_t LineOffsetMode;
105 #endif /* DMA2D_LINE_OFFSET_MODE_SUPPORT */
106 
108 
109 
113 typedef struct
114 {
115  uint32_t InputOffset;
118  uint32_t InputColorMode;
121  uint32_t AlphaMode;
124  uint32_t InputAlpha;
132  uint32_t AlphaInverted;
135  uint32_t RedBlueSwap;
140 
144 typedef enum
145 {
153 
157 typedef struct __DMA2D_HandleTypeDef
158 {
159  DMA2D_TypeDef *Instance;
163  void (* XferCpltCallback)(struct __DMA2D_HandleTypeDef * hdma2d);
165  void (* XferErrorCallback)(struct __DMA2D_HandleTypeDef * hdma2d);
167 #if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
168  void (* LineEventCallback)( struct __DMA2D_HandleTypeDef * hdma2d);
170  void (* CLUTLoadingCpltCallback)( struct __DMA2D_HandleTypeDef * hdma2d);
172  void (* MspInitCallback)( struct __DMA2D_HandleTypeDef * hdma2d);
174  void (* MspDeInitCallback)( struct __DMA2D_HandleTypeDef * hdma2d);
176 #endif /* (USE_HAL_DMA2D_REGISTER_CALLBACKS) */
177 
178  DMA2D_LayerCfgTypeDef LayerCfg[MAX_DMA2D_LAYER];
182  __IO HAL_DMA2D_StateTypeDef State;
184  __IO uint32_t ErrorCode;
186 
187 #if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
188 
191 typedef void (*pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef * hdma2d);
192 #endif /* USE_HAL_DMA2D_REGISTER_CALLBACKS */
193 
197 /* Exported constants --------------------------------------------------------*/
205 #define HAL_DMA2D_ERROR_NONE 0x00000000U
206 #define HAL_DMA2D_ERROR_TE 0x00000001U
207 #define HAL_DMA2D_ERROR_CE 0x00000002U
208 #define HAL_DMA2D_ERROR_CAE 0x00000004U
209 #define HAL_DMA2D_ERROR_TIMEOUT 0x00000020U
210 #if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
211 #define HAL_DMA2D_ERROR_INVALID_CALLBACK 0x00000040U
212 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */
213 
221 #define DMA2D_M2M 0x00000000U
222 #define DMA2D_M2M_PFC DMA2D_CR_MODE_0
223 #define DMA2D_M2M_BLEND DMA2D_CR_MODE_1
224 #define DMA2D_R2M (DMA2D_CR_MODE_1 | DMA2D_CR_MODE_0)
225 #if defined(DMA2D_M2M_BLEND_FIXED_COLOR_FG_BG_SUPPORT)
226 #define DMA2D_M2M_BLEND_FG DMA2D_CR_MODE_2
227 #define DMA2D_M2M_BLEND_BG (DMA2D_CR_MODE_2 | DMA2D_CR_MODE_0)
228 #endif /* DMA2D_M2M_BLEND_FIXED_COLOR_FG_BG_SUPPORT */
229 
236 #define DMA2D_OUTPUT_ARGB8888 0x00000000U
237 #define DMA2D_OUTPUT_RGB888 DMA2D_OPFCCR_CM_0
238 #define DMA2D_OUTPUT_RGB565 DMA2D_OPFCCR_CM_1
239 #define DMA2D_OUTPUT_ARGB1555 (DMA2D_OPFCCR_CM_0|DMA2D_OPFCCR_CM_1)
240 #define DMA2D_OUTPUT_ARGB4444 DMA2D_OPFCCR_CM_2
248 #define DMA2D_INPUT_ARGB8888 0x00000000U
249 #define DMA2D_INPUT_RGB888 0x00000001U
250 #define DMA2D_INPUT_RGB565 0x00000002U
251 #define DMA2D_INPUT_ARGB1555 0x00000003U
252 #define DMA2D_INPUT_ARGB4444 0x00000004U
253 #define DMA2D_INPUT_L8 0x00000005U
254 #define DMA2D_INPUT_AL44 0x00000006U
255 #define DMA2D_INPUT_AL88 0x00000007U
256 #define DMA2D_INPUT_L4 0x00000008U
257 #define DMA2D_INPUT_A8 0x00000009U
258 #define DMA2D_INPUT_A4 0x0000000AU
266 #define DMA2D_NO_MODIF_ALPHA 0x00000000U
267 #define DMA2D_REPLACE_ALPHA 0x00000001U
268 #define DMA2D_COMBINE_ALPHA 0x00000002U
277 #define DMA2D_REGULAR_ALPHA 0x00000000U
278 #define DMA2D_INVERTED_ALPHA 0x00000001U
286 #define DMA2D_RB_REGULAR 0x00000000U
287 #define DMA2D_RB_SWAP 0x00000001U
294 #if defined(DMA2D_LINE_OFFSET_MODE_SUPPORT)
295 
298 #define DMA2D_LOM_PIXELS 0x00000000U
299 #define DMA2D_LOM_BYTES DMA2D_CR_LOM
303 #endif /* DMA2D_LINE_OFFSET_MODE_SUPPORT */
304 
305 #if defined(DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT)
306 
309 #define DMA2D_BYTES_REGULAR 0x00000000U
310 #define DMA2D_BYTES_SWAP DMA2D_OPFCCR_SB
314 #endif /* DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT */
315 
316 
320 #define DMA2D_CCM_ARGB8888 0x00000000U
321 #define DMA2D_CCM_RGB888 0x00000001U
329 #define DMA2D_IT_CE DMA2D_CR_CEIE
330 #define DMA2D_IT_CTC DMA2D_CR_CTCIE
331 #define DMA2D_IT_CAE DMA2D_CR_CAEIE
332 #define DMA2D_IT_TW DMA2D_CR_TWIE
333 #define DMA2D_IT_TC DMA2D_CR_TCIE
334 #define DMA2D_IT_TE DMA2D_CR_TEIE
342 #define DMA2D_FLAG_CE DMA2D_ISR_CEIF
343 #define DMA2D_FLAG_CTC DMA2D_ISR_CTCIF
344 #define DMA2D_FLAG_CAE DMA2D_ISR_CAEIF
345 #define DMA2D_FLAG_TW DMA2D_ISR_TWIF
346 #define DMA2D_FLAG_TC DMA2D_ISR_TCIF
347 #define DMA2D_FLAG_TE DMA2D_ISR_TEIF
355 #define HAL_DMA2D_DisableCLUT HAL_DMA2D_CLUTLoading_Abort
360 #if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
361 
364 typedef enum
365 {
373 #endif /* USE_HAL_DMA2D_REGISTER_CALLBACKS */
374 
375 
379 /* Exported macros ------------------------------------------------------------*/
388 #if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
389 #define __HAL_DMA2D_RESET_HANDLE_STATE(__HANDLE__) do{ \
390  (__HANDLE__)->State = HAL_DMA2D_STATE_RESET;\
391  (__HANDLE__)->MspInitCallback = NULL; \
392  (__HANDLE__)->MspDeInitCallback = NULL; \
393  }while(0)
394 #else
395 #define __HAL_DMA2D_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DMA2D_STATE_RESET)
396 #endif /* USE_HAL_DMA2D_REGISTER_CALLBACKS */
397 
398 
404 #define __HAL_DMA2D_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= DMA2D_CR_START)
405 
406 
407 /* Interrupt & Flag management */
421 #define __HAL_DMA2D_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR & (__FLAG__))
422 
436 #define __HAL_DMA2D_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->IFCR = (__FLAG__))
437 
451 #define __HAL_DMA2D_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__))
452 
466 #define __HAL_DMA2D_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__))
467 
481 #define __HAL_DMA2D_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR & (__INTERRUPT__))
482 
487 /* Exported functions --------------------------------------------------------*/
496 /* Initialization and de-initialization functions *******************************/
497 HAL_StatusTypeDef HAL_DMA2D_Init(DMA2D_HandleTypeDef *hdma2d);
498 HAL_StatusTypeDef HAL_DMA2D_DeInit (DMA2D_HandleTypeDef *hdma2d);
501 /* Callbacks Register/UnRegister functions ***********************************/
502 #if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
503 HAL_StatusTypeDef HAL_DMA2D_RegisterCallback(DMA2D_HandleTypeDef *hdma2d, HAL_DMA2D_CallbackIDTypeDef CallbackID, pDMA2D_CallbackTypeDef pCallback);
504 HAL_StatusTypeDef HAL_DMA2D_UnRegisterCallback(DMA2D_HandleTypeDef *hdma2d, HAL_DMA2D_CallbackIDTypeDef CallbackID);
505 #endif /* USE_HAL_DMA2D_REGISTER_CALLBACKS */
506 
516 /* IO operation functions *******************************************************/
517 HAL_StatusTypeDef HAL_DMA2D_Start(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height);
518 HAL_StatusTypeDef HAL_DMA2D_BlendingStart(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height);
519 HAL_StatusTypeDef HAL_DMA2D_Start_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height);
520 HAL_StatusTypeDef HAL_DMA2D_BlendingStart_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height);
521 HAL_StatusTypeDef HAL_DMA2D_Suspend(DMA2D_HandleTypeDef *hdma2d);
522 HAL_StatusTypeDef HAL_DMA2D_Resume(DMA2D_HandleTypeDef *hdma2d);
523 HAL_StatusTypeDef HAL_DMA2D_Abort(DMA2D_HandleTypeDef *hdma2d);
524 HAL_StatusTypeDef HAL_DMA2D_EnableCLUT(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx);
525 HAL_StatusTypeDef HAL_DMA2D_CLUTLoad(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx);
526 HAL_StatusTypeDef HAL_DMA2D_CLUTLoad_IT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx);
527 HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Abort(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx);
528 HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Suspend(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx);
529 HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Resume(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx);
530 HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout);
534 
543 /* Peripheral Control functions *************************************************/
544 HAL_StatusTypeDef HAL_DMA2D_ConfigLayer(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx);
545 HAL_StatusTypeDef HAL_DMA2D_ConfigCLUT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx);
546 HAL_StatusTypeDef HAL_DMA2D_ProgramLineEvent(DMA2D_HandleTypeDef *hdma2d, uint32_t Line);
547 HAL_StatusTypeDef HAL_DMA2D_EnableDeadTime(DMA2D_HandleTypeDef *hdma2d);
548 HAL_StatusTypeDef HAL_DMA2D_DisableDeadTime(DMA2D_HandleTypeDef *hdma2d);
549 HAL_StatusTypeDef HAL_DMA2D_ConfigDeadTime(DMA2D_HandleTypeDef *hdma2d, uint8_t DeadTime);
550 
559 /* Peripheral State functions ***************************************************/
560 HAL_DMA2D_StateTypeDef HAL_DMA2D_GetState(DMA2D_HandleTypeDef *hdma2d);
561 uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d);
562 
571 /* Private constants ---------------------------------------------------------*/
572 
580 #define DMA2D_LINE_WATERMARK_MAX DMA2D_LWR_LW
588 #define DMA2D_COLOR_VALUE 0x000000FFU
596 #define DMA2D_MAX_LAYER 2U
604 #define DMA2D_BACKGROUND_LAYER 0x00000000U
605 #define DMA2D_FOREGROUND_LAYER 0x00000001U
613 #define DMA2D_OFFSET DMA2D_FGOR_LO
621 #define DMA2D_PIXEL (DMA2D_NLR_PL >> 16U)
622 #define DMA2D_LINE DMA2D_NLR_NL
630 #define DMA2D_CLUT_SIZE (DMA2D_FGPFCCR_CS >> 8U)
640 /* Private macros ------------------------------------------------------------*/
641 
644 #define IS_DMA2D_LAYER(LAYER) (((LAYER) == DMA2D_BACKGROUND_LAYER) || ((LAYER) == DMA2D_FOREGROUND_LAYER))
645 
646 #if defined(DMA2D_M2M_BLEND_FIXED_COLOR_FG_BG_SUPPORT)
647 #define IS_DMA2D_MODE(MODE) (((MODE) == DMA2D_M2M) || ((MODE) == DMA2D_M2M_PFC) || \
648  ((MODE) == DMA2D_M2M_BLEND) || ((MODE) == DMA2D_R2M) || \
649  ((MODE) == DMA2D_M2M_BLEND_FG) || ((MODE) == DMA2D_M2M_BLEND_BG))
650 #else
651 #define IS_DMA2D_MODE(MODE) (((MODE) == DMA2D_M2M) || ((MODE) == DMA2D_M2M_PFC) || \
652  ((MODE) == DMA2D_M2M_BLEND) || ((MODE) == DMA2D_R2M))
653 #endif /* DMA2D_M2M_BLEND_FIXED_COLOR_FG_BG_SUPPORT */
654 
655 #define IS_DMA2D_CMODE(MODE_ARGB) (((MODE_ARGB) == DMA2D_OUTPUT_ARGB8888) || ((MODE_ARGB) == DMA2D_OUTPUT_RGB888) || \
656  ((MODE_ARGB) == DMA2D_OUTPUT_RGB565) || ((MODE_ARGB) == DMA2D_OUTPUT_ARGB1555) || \
657  ((MODE_ARGB) == DMA2D_OUTPUT_ARGB4444))
658 
659 #define IS_DMA2D_COLOR(COLOR) ((COLOR) <= DMA2D_COLOR_VALUE)
660 #define IS_DMA2D_LINE(LINE) ((LINE) <= DMA2D_LINE)
661 #define IS_DMA2D_PIXEL(PIXEL) ((PIXEL) <= DMA2D_PIXEL)
662 #define IS_DMA2D_OFFSET(OOFFSET) ((OOFFSET) <= DMA2D_OFFSET)
663 
664 #define IS_DMA2D_INPUT_COLOR_MODE(INPUT_CM) (((INPUT_CM) == DMA2D_INPUT_ARGB8888) || ((INPUT_CM) == DMA2D_INPUT_RGB888) || \
665  ((INPUT_CM) == DMA2D_INPUT_RGB565) || ((INPUT_CM) == DMA2D_INPUT_ARGB1555) || \
666  ((INPUT_CM) == DMA2D_INPUT_ARGB4444) || ((INPUT_CM) == DMA2D_INPUT_L8) || \
667  ((INPUT_CM) == DMA2D_INPUT_AL44) || ((INPUT_CM) == DMA2D_INPUT_AL88) || \
668  ((INPUT_CM) == DMA2D_INPUT_L4) || ((INPUT_CM) == DMA2D_INPUT_A8) || \
669  ((INPUT_CM) == DMA2D_INPUT_A4))
670 
671 #define IS_DMA2D_ALPHA_MODE(AlphaMode) (((AlphaMode) == DMA2D_NO_MODIF_ALPHA) || \
672  ((AlphaMode) == DMA2D_REPLACE_ALPHA) || \
673  ((AlphaMode) == DMA2D_COMBINE_ALPHA))
674 
675 #define IS_DMA2D_ALPHA_INVERTED(Alpha_Inverted) (((Alpha_Inverted) == DMA2D_REGULAR_ALPHA) || \
676  ((Alpha_Inverted) == DMA2D_INVERTED_ALPHA))
677 
678 #define IS_DMA2D_RB_SWAP(RB_Swap) (((RB_Swap) == DMA2D_RB_REGULAR) || \
679  ((RB_Swap) == DMA2D_RB_SWAP))
680 
681 #if defined(DMA2D_LINE_OFFSET_MODE_SUPPORT)
682 #define IS_DMA2D_LOM_MODE(LOM) (((LOM) == DMA2D_LOM_PIXELS) || \
683  ((LOM) == DMA2D_LOM_BYTES))
684 #endif /* DMA2D_LINE_OFFSET_MODE_SUPPORT */
685 
686 #if defined(DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT)
687 #define IS_DMA2D_BYTES_SWAP(BYTES_SWAP) (((BYTES_SWAP) == DMA2D_BYTES_REGULAR) || \
688  ((BYTES_SWAP) == DMA2D_BYTES_SWAP))
689 #endif /* DMA2D_OUTPUT_TWO_BY_TWO_SWAP_SUPPORT */
690 
691 
692 #define IS_DMA2D_CLUT_CM(CLUT_CM) (((CLUT_CM) == DMA2D_CCM_ARGB8888) || ((CLUT_CM) == DMA2D_CCM_RGB888))
693 #define IS_DMA2D_CLUT_SIZE(CLUT_SIZE) ((CLUT_SIZE) <= DMA2D_CLUT_SIZE)
694 #define IS_DMA2D_LINEWATERMARK(LineWatermark) ((LineWatermark) <= DMA2D_LINE_WATERMARK_MAX)
695 #define IS_DMA2D_IT(IT) (((IT) == DMA2D_IT_CTC) || ((IT) == DMA2D_IT_CAE) || \
696  ((IT) == DMA2D_IT_TW) || ((IT) == DMA2D_IT_TC) || \
697  ((IT) == DMA2D_IT_TE) || ((IT) == DMA2D_IT_CE))
698 #define IS_DMA2D_GET_FLAG(FLAG) (((FLAG) == DMA2D_FLAG_CTC) || ((FLAG) == DMA2D_FLAG_CAE) || \
699  ((FLAG) == DMA2D_FLAG_TW) || ((FLAG) == DMA2D_FLAG_TC) || \
700  ((FLAG) == DMA2D_FLAG_TE) || ((FLAG) == DMA2D_FLAG_CE))
701 
713 #endif /* DMA2D */
714 
715 #ifdef __cplusplus
716 }
717 #endif
718 
719 #endif /* STM32L4xx_HAL_DMA2D_H */
720 
721 
722 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_DMA2D_CallbackIDTypeDef
HAL DMA2D common Callback ID enumeration definition.
DMA2D_LayerCfgTypeDef LayerCfg[MAX_DMA2D_LAYER]
void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef *hdma2d)
DeInitializes the DMA2D MSP.
HAL_DMA2D_StateTypeDef HAL_DMA2D_GetState(DMA2D_HandleTypeDef *hdma2d)
Return the DMA2D state.
HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Abort(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Abort the DMA2D CLUT loading.
HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Resume(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Resume the DMA2D CLUT loading.
DMA2D Init structure definition.
HAL_StatusTypeDef HAL_DMA2D_BlendingStart_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height)
Start the multi-source DMA2D Transfer with interrupt enabled.
HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Suspend(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Suspend the DMA2D CLUT loading.
HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout)
Polling for transfer complete or CLUT loading.
HAL_StatusTypeDef HAL_DMA2D_Start_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height)
Start the DMA2D Transfer with interrupt enabled.
void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef *hdma2d)
Initializes the DMA2D MSP.
DMA2D handle Structure definition.
HAL_StatusTypeDef HAL_DMA2D_Start(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height)
Start the DMA2D Transfer.
HAL_StatusTypeDef HAL_DMA2D_Resume(DMA2D_HandleTypeDef *hdma2d)
Resume the DMA2D Transfer.
DMA2D CLUT Structure definition.
HAL_StatusTypeDef HAL_DMA2D_Init(DMA2D_HandleTypeDef *hdma2d)
Initialize the DMA2D according to the specified parameters in the DMA2D_InitTypeDef and create the as...
HAL_StatusTypeDef HAL_DMA2D_ConfigLayer(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Configure the DMA2D Layer according to the specified parameters in the DMA2D_HandleTypeDef.
HAL_StatusTypeDef HAL_DMA2D_BlendingStart(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height)
Start the multi-source DMA2D Transfer.
HAL_StatusTypeDef HAL_DMA2D_Suspend(DMA2D_HandleTypeDef *hdma2d)
Suspend the DMA2D Transfer.
void(* MspDeInitCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
This file contains HAL common defines, enumeration, macros and structures definitions.
void(* pDMA2D_CallbackTypeDef)(DMA2D_HandleTypeDef *hdma2d)
HAL DMA2D Callback pointer definition.
HAL_StatusTypeDef HAL_DMA2D_EnableDeadTime(DMA2D_HandleTypeDef *hdma2d)
Enable DMA2D dead time feature.
struct __DMA2D_HandleTypeDef DMA2D_HandleTypeDef
DMA2D handle Structure definition.
HAL_StatusTypeDef HAL_DMA2D_DeInit(DMA2D_HandleTypeDef *hdma2d)
Deinitializes the DMA2D peripheral registers to their default reset values.
HAL_StatusTypeDef HAL_DMA2D_ProgramLineEvent(DMA2D_HandleTypeDef *hdma2d, uint32_t Line)
Configure the line watermark.
HAL_StatusTypeDef HAL_DMA2D_DisableDeadTime(DMA2D_HandleTypeDef *hdma2d)
Disable DMA2D dead time feature.
HAL_StatusTypeDef HAL_DMA2D_ConfigCLUT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx)
Configure the DMA2D CLUT Transfer.
HAL_StatusTypeDef HAL_DMA2D_UnRegisterCallback(DMA2D_HandleTypeDef *hdma2d, HAL_DMA2D_CallbackIDTypeDef CallbackID)
Unregister a DMA2D Callback DMA2D Callback is redirected to the weak (surcharged) predefined callback...
void(* XferErrorCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
void HAL_DMA2D_LineEventCallback(DMA2D_HandleTypeDef *hdma2d)
Transfer watermark callback.
void HAL_DMA2D_IRQHandler(DMA2D_HandleTypeDef *hdma2d)
Handle DMA2D interrupt request.
DMA2D Layer structure definition.
HAL_StatusTypeDef HAL_DMA2D_CLUTLoad(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx)
Start DMA2D CLUT Loading.
HAL_StatusTypeDef HAL_DMA2D_ConfigDeadTime(DMA2D_HandleTypeDef *hdma2d, uint8_t DeadTime)
Configure dead time.
HAL_DMA2D_StateTypeDef
HAL DMA2D State structures definition.
uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d)
Return the DMA2D error code.
HAL_LockTypeDef
HAL Lock structures definition.
__IO HAL_DMA2D_StateTypeDef State
void(* MspInitCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
void(* XferCpltCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_CLUTLoad_IT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx)
Start DMA2D CLUT Loading with interrupt enabled.
void HAL_DMA2D_CLUTLoadingCpltCallback(DMA2D_HandleTypeDef *hdma2d)
CLUT Transfer Complete callback.
void(* LineEventCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_RegisterCallback(DMA2D_HandleTypeDef *hdma2d, HAL_DMA2D_CallbackIDTypeDef CallbackID, pDMA2D_CallbackTypeDef pCallback)
Register a User DMA2D Callback To be used instead of the weak (surcharged) predefined callback...
void(* CLUTLoadingCpltCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_Abort(DMA2D_HandleTypeDef *hdma2d)
Abort the DMA2D Transfer.
HAL_StatusTypeDef HAL_DMA2D_EnableCLUT(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Enable the DMA2D CLUT Transfer.