166#ifdef HAL_DMA2D_MODULE_ENABLED
187#define DMA2D_TIMEOUT_ABORT (1000U)
188#define DMA2D_TIMEOUT_SUSPEND (1000U)
252#if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
258 if (hdma2d->MspInitCallback == NULL)
264 hdma2d->MspInitCallback(hdma2d);
317 if (__HAL_RCC_DMA2D_IS_CLK_ENABLED())
320 if ((hdma2d->
Instance->CR & DMA2D_CR_START) == DMA2D_CR_START)
331 if ((hdma2d->
Instance->BGPFCCR & DMA2D_BGPFCCR_START) == DMA2D_BGPFCCR_START)
342 if ((hdma2d->
Instance->FGPFCCR & DMA2D_FGPFCCR_START) == DMA2D_FGPFCCR_START)
363#if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
365 if (hdma2d->MspDeInitCallback == NULL)
371 hdma2d->MspDeInitCallback(hdma2d);
422#if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
440 pDMA2D_CallbackTypeDef pCallback)
444 if (pCallback == NULL)
447 hdma2d->
ErrorCode |= HAL_DMA2D_ERROR_INVALID_CALLBACK;
457 case HAL_DMA2D_TRANSFERCOMPLETE_CB_ID :
461 case HAL_DMA2D_TRANSFERERROR_CB_ID :
465 case HAL_DMA2D_LINEEVENT_CB_ID :
466 hdma2d->LineEventCallback = pCallback;
469 case HAL_DMA2D_CLUTLOADINGCPLT_CB_ID :
470 hdma2d->CLUTLoadingCpltCallback = pCallback;
473 case HAL_DMA2D_MSPINIT_CB_ID :
474 hdma2d->MspInitCallback = pCallback;
477 case HAL_DMA2D_MSPDEINIT_CB_ID :
478 hdma2d->MspDeInitCallback = pCallback;
483 hdma2d->
ErrorCode |= HAL_DMA2D_ERROR_INVALID_CALLBACK;
493 case HAL_DMA2D_MSPINIT_CB_ID :
494 hdma2d->MspInitCallback = pCallback;
497 case HAL_DMA2D_MSPDEINIT_CB_ID :
498 hdma2d->MspDeInitCallback = pCallback;
503 hdma2d->
ErrorCode |= HAL_DMA2D_ERROR_INVALID_CALLBACK;
512 hdma2d->
ErrorCode |= HAL_DMA2D_ERROR_INVALID_CALLBACK;
548 case HAL_DMA2D_TRANSFERCOMPLETE_CB_ID :
552 case HAL_DMA2D_TRANSFERERROR_CB_ID :
556 case HAL_DMA2D_LINEEVENT_CB_ID :
560 case HAL_DMA2D_CLUTLOADINGCPLT_CB_ID :
564 case HAL_DMA2D_MSPINIT_CB_ID :
568 case HAL_DMA2D_MSPDEINIT_CB_ID :
574 hdma2d->
ErrorCode |= HAL_DMA2D_ERROR_INVALID_CALLBACK;
584 case HAL_DMA2D_MSPINIT_CB_ID :
588 case HAL_DMA2D_MSPDEINIT_CB_ID :
594 hdma2d->
ErrorCode |= HAL_DMA2D_ERROR_INVALID_CALLBACK;
603 hdma2d->
ErrorCode |= HAL_DMA2D_ERROR_INVALID_CALLBACK;
742 uint32_t DstAddress, uint32_t Width, uint32_t Height)
755 WRITE_REG(hdma2d->
Instance->BGMAR, SrcAddress2);
779 uint32_t DstAddress, uint32_t Width, uint32_t Height)
792 WRITE_REG(hdma2d->
Instance->BGMAR, SrcAddress2);
820 MODIFY_REG(hdma2d->
Instance->CR, DMA2D_CR_ABORT | DMA2D_CR_START, DMA2D_CR_ABORT);
826 while ((hdma2d->
Instance->CR & DMA2D_CR_START) != 0U)
869 MODIFY_REG(hdma2d->
Instance->CR, DMA2D_CR_SUSP | DMA2D_CR_START, DMA2D_CR_SUSP);
875 while ((hdma2d->
Instance->CR & (DMA2D_CR_SUSP | DMA2D_CR_START)) == DMA2D_CR_START)
890 if ((hdma2d->
Instance->CR & DMA2D_CR_START) != 0U)
898 CLEAR_BIT(hdma2d->
Instance->CR, DMA2D_CR_SUSP);
913 if ((hdma2d->
Instance->CR & (DMA2D_CR_SUSP | DMA2D_CR_START)) == (DMA2D_CR_SUSP | DMA2D_CR_START))
923 CLEAR_BIT(hdma2d->
Instance->CR, (DMA2D_CR_SUSP | DMA2D_CR_START));
952 SET_BIT(hdma2d->
Instance->BGPFCCR, DMA2D_BGPFCCR_START);
957 SET_BIT(hdma2d->
Instance->FGPFCCR, DMA2D_FGPFCCR_START);
991 WRITE_REG(hdma2d->
Instance->BGCMAR, (uint32_t)CLUTCfg->
pCLUT);
994 MODIFY_REG(hdma2d->
Instance->BGPFCCR, (DMA2D_BGPFCCR_CS | DMA2D_BGPFCCR_CCM),
995 ((CLUTCfg->
Size << DMA2D_BGPFCCR_CS_Pos) | (CLUTCfg->
CLUTColorMode << DMA2D_BGPFCCR_CCM_Pos)));
998 SET_BIT(hdma2d->
Instance->BGPFCCR, DMA2D_BGPFCCR_START);
1004 WRITE_REG(hdma2d->
Instance->FGCMAR, (uint32_t)CLUTCfg->
pCLUT);
1007 MODIFY_REG(hdma2d->
Instance->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM),
1008 ((CLUTCfg->
Size << DMA2D_FGPFCCR_CS_Pos) | (CLUTCfg->
CLUTColorMode << DMA2D_FGPFCCR_CCM_Pos)));
1011 SET_BIT(hdma2d->
Instance->FGPFCCR, DMA2D_FGPFCCR_START);
1046 WRITE_REG(hdma2d->
Instance->BGCMAR, (uint32_t)CLUTCfg->
pCLUT);
1049 MODIFY_REG(hdma2d->
Instance->BGPFCCR, (DMA2D_BGPFCCR_CS | DMA2D_BGPFCCR_CCM),
1050 ((CLUTCfg->
Size << DMA2D_BGPFCCR_CS_Pos) | (CLUTCfg->
CLUTColorMode << DMA2D_BGPFCCR_CCM_Pos)));
1056 SET_BIT(hdma2d->
Instance->BGPFCCR, DMA2D_BGPFCCR_START);
1062 WRITE_REG(hdma2d->
Instance->FGCMAR, (uint32_t)CLUTCfg->
pCLUT);
1065 MODIFY_REG(hdma2d->
Instance->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM),
1066 ((CLUTCfg->
Size << DMA2D_FGPFCCR_CS_Pos) | (CLUTCfg->
CLUTColorMode << DMA2D_FGPFCCR_CCM_Pos)));
1072 SET_BIT(hdma2d->
Instance->FGPFCCR, DMA2D_FGPFCCR_START);
1109 WRITE_REG(hdma2d->
Instance->BGCMAR, (uint32_t)CLUTCfg.
pCLUT);
1112 MODIFY_REG(hdma2d->
Instance->BGPFCCR, (DMA2D_BGPFCCR_CS | DMA2D_BGPFCCR_CCM),
1113 ((CLUTCfg.
Size << DMA2D_BGPFCCR_CS_Pos) | (CLUTCfg.
CLUTColorMode << DMA2D_BGPFCCR_CCM_Pos)));
1116 SET_BIT(hdma2d->
Instance->BGPFCCR, DMA2D_BGPFCCR_START);
1122 WRITE_REG(hdma2d->
Instance->FGCMAR, (uint32_t)CLUTCfg.
pCLUT);
1125 MODIFY_REG(hdma2d->
Instance->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM),
1126 ((CLUTCfg.
Size << DMA2D_FGPFCCR_CS_Pos) | (CLUTCfg.
CLUTColorMode << DMA2D_FGPFCCR_CCM_Pos)));
1129 SET_BIT(hdma2d->
Instance->FGPFCCR, DMA2D_FGPFCCR_START);
1166 WRITE_REG(hdma2d->
Instance->BGCMAR, (uint32_t)CLUTCfg.
pCLUT);
1169 MODIFY_REG(hdma2d->
Instance->BGPFCCR, (DMA2D_BGPFCCR_CS | DMA2D_BGPFCCR_CCM),
1170 ((CLUTCfg.
Size << DMA2D_BGPFCCR_CS_Pos) | (CLUTCfg.
CLUTColorMode << DMA2D_BGPFCCR_CCM_Pos)));
1176 SET_BIT(hdma2d->
Instance->BGPFCCR, DMA2D_BGPFCCR_START);
1182 WRITE_REG(hdma2d->
Instance->FGCMAR, (uint32_t)CLUTCfg.
pCLUT);
1185 MODIFY_REG(hdma2d->
Instance->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM),
1186 ((CLUTCfg.
Size << DMA2D_FGPFCCR_CS_Pos) | (CLUTCfg.
CLUTColorMode << DMA2D_FGPFCCR_CCM_Pos)));
1192 SET_BIT(hdma2d->
Instance->FGPFCCR, DMA2D_FGPFCCR_START);
1210 const __IO uint32_t *reg = &(hdma2d->
Instance->BGPFCCR);
1213 SET_BIT(hdma2d->
Instance->CR, DMA2D_CR_ABORT);
1218 reg = &(hdma2d->
Instance->FGPFCCR);
1226 while ((*reg & DMA2D_BGPFCCR_START) != 0U)
1267 uint32_t loadsuspended;
1268 const __IO uint32_t *reg = &(hdma2d->
Instance->BGPFCCR);
1271 SET_BIT(hdma2d->
Instance->CR, DMA2D_CR_SUSP);
1276 reg = &(hdma2d->
Instance->FGPFCCR);
1284 loadsuspended = ((hdma2d->
Instance->CR & DMA2D_CR_SUSP) == DMA2D_CR_SUSP) ? 1UL : 0UL;
1286 loadsuspended |= ((*reg & DMA2D_BGPFCCR_START) != DMA2D_BGPFCCR_START) ? 1UL : 0UL;
1287 while (loadsuspended == 0UL)
1300 loadsuspended = ((hdma2d->
Instance->CR & DMA2D_CR_SUSP) == DMA2D_CR_SUSP) ? 1UL : 0UL;
1302 loadsuspended |= ((*reg & DMA2D_BGPFCCR_START) != DMA2D_BGPFCCR_START) ? 1UL : 0UL;
1306 if ((*reg & DMA2D_BGPFCCR_START) != 0U)
1314 CLEAR_BIT(hdma2d->
Instance->CR, DMA2D_CR_SUSP);
1335 if ((hdma2d->
Instance->CR & DMA2D_CR_SUSP) == DMA2D_CR_SUSP)
1337 if ((hdma2d->
Instance->BGPFCCR & DMA2D_BGPFCCR_START) == DMA2D_BGPFCCR_START)
1347 if ((hdma2d->
Instance->CR & DMA2D_CR_SUSP) == DMA2D_CR_SUSP)
1349 if ((hdma2d->
Instance->FGPFCCR & DMA2D_FGPFCCR_START) == DMA2D_FGPFCCR_START)
1358 CLEAR_BIT(hdma2d->
Instance->CR, DMA2D_CR_SUSP);
1375 uint32_t layer_start;
1376 __IO uint32_t isrflags = 0x0U;
1379 if ((hdma2d->
Instance->CR & DMA2D_CR_START) != 0U)
1386 isrflags = READ_REG(hdma2d->
Instance->ISR);
1411 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
1428 layer_start = hdma2d->
Instance->FGPFCCR & DMA2D_FGPFCCR_START;
1429 layer_start |= hdma2d->
Instance->BGPFCCR & DMA2D_BGPFCCR_START;
1430 if (layer_start != 0U)
1437 isrflags = READ_REG(hdma2d->
Instance->ISR);
1466 if (((
HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
1502 uint32_t isrflags = READ_REG(hdma2d->
Instance->ISR);
1503 uint32_t crflags = READ_REG(hdma2d->
Instance->CR);
1598#if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
1599 hdma2d->LineEventCallback(hdma2d);
1654#if (USE_HAL_DMA2D_REGISTER_CALLBACKS == 1)
1655 hdma2d->CLUTLoadingCpltCallback(hdma2d);
1753 pLayerCfg = &hdma2d->
LayerCfg[LayerIdx];
1757 regMask = DMA2D_BGPFCCR_CM | DMA2D_BGPFCCR_AM | DMA2D_BGPFCCR_ALPHA;
1762 regValue |= (pLayerCfg->
InputAlpha & DMA2D_BGPFCCR_ALPHA);
1766 regValue |= (pLayerCfg->
InputAlpha << DMA2D_BGPFCCR_ALPHA_Pos);
1773 MODIFY_REG(hdma2d->
Instance->BGPFCCR, regMask, regValue);
1781 WRITE_REG(hdma2d->
Instance->BGCOLR, pLayerCfg->
InputAlpha & (DMA2D_BGCOLR_BLUE | DMA2D_BGCOLR_GREEN | \
1791 MODIFY_REG(hdma2d->
Instance->FGPFCCR, regMask, regValue);
1799 WRITE_REG(hdma2d->
Instance->FGCOLR, pLayerCfg->
InputAlpha & (DMA2D_FGCOLR_BLUE | DMA2D_FGCOLR_GREEN | \
1843 WRITE_REG(hdma2d->
Instance->BGCMAR, (uint32_t)CLUTCfg.
pCLUT);
1846 MODIFY_REG(hdma2d->
Instance->BGPFCCR, (DMA2D_BGPFCCR_CS | DMA2D_BGPFCCR_CCM),
1847 ((CLUTCfg.
Size << DMA2D_BGPFCCR_CS_Pos) | (CLUTCfg.
CLUTColorMode << DMA2D_BGPFCCR_CCM_Pos)));
1853 WRITE_REG(hdma2d->
Instance->FGCMAR, (uint32_t)CLUTCfg.
pCLUT);
1856 MODIFY_REG(hdma2d->
Instance->FGPFCCR, (DMA2D_FGPFCCR_CS | DMA2D_FGPFCCR_CCM),
1857 ((CLUTCfg.
Size << DMA2D_FGPFCCR_CS_Pos) | (CLUTCfg.
CLUTColorMode << DMA2D_FGPFCCR_CCM_Pos)));
1883 if (Line > DMA2D_LWR_LW)
1896 WRITE_REG(hdma2d->
Instance->LWR, Line);
1924 SET_BIT(hdma2d->
Instance->AMTCR, DMA2D_AMTCR_EN);
1947 CLEAR_BIT(hdma2d->
Instance->AMTCR, DMA2D_AMTCR_EN);
1973 MODIFY_REG(hdma2d->
Instance->AMTCR, DMA2D_AMTCR_DT, (((uint32_t) DeadTime) << DMA2D_AMTCR_DT_Pos));
2012 return hdma2d->
State;
2059 MODIFY_REG(hdma2d->
Instance->NLR, (DMA2D_NLR_NL | DMA2D_NLR_PL), (Height | (Width << DMA2D_NLR_PL_Pos)));
2062 WRITE_REG(hdma2d->
Instance->OMAR, DstAddress);
2067 tmp1 = pdata & DMA2D_OCOLR_ALPHA_1;
2068 tmp2 = pdata & DMA2D_OCOLR_RED_1;
2069 tmp3 = pdata & DMA2D_OCOLR_GREEN_1;
2070 tmp4 = pdata & DMA2D_OCOLR_BLUE_1;
2075 tmp = (tmp3 | tmp2 | tmp1 | tmp4);
2079 tmp = (tmp3 | tmp2 | tmp4);
2083 tmp2 = (tmp2 >> 19U);
2084 tmp3 = (tmp3 >> 10U);
2085 tmp4 = (tmp4 >> 3U);
2086 tmp = ((tmp3 << 5U) | (tmp2 << 11U) | tmp4);
2090 tmp1 = (tmp1 >> 31U);
2091 tmp2 = (tmp2 >> 19U);
2092 tmp3 = (tmp3 >> 11U);
2093 tmp4 = (tmp4 >> 3U);
2094 tmp = ((tmp3 << 5U) | (tmp2 << 10U) | (tmp1 << 15U) | tmp4);
2098 tmp1 = (tmp1 >> 28U);
2099 tmp2 = (tmp2 >> 20U);
2100 tmp3 = (tmp3 >> 12U);
2101 tmp4 = (tmp4 >> 4U);
2102 tmp = ((tmp3 << 4U) | (tmp2 << 8U) | (tmp1 << 12U) | tmp4);
2105 WRITE_REG(hdma2d->
Instance->OCOLR, tmp);
2110 WRITE_REG(hdma2d->
Instance->FGMAR, pdata);
#define HAL_DMA2D_ERROR_CE
#define HAL_DMA2D_ERROR_TE
#define HAL_DMA2D_ERROR_TIMEOUT
#define HAL_DMA2D_ERROR_NONE
#define HAL_DMA2D_ERROR_CAE
HAL_StatusTypeDef HAL_DMA2D_DeInit(DMA2D_HandleTypeDef *hdma2d)
Deinitializes the DMA2D peripheral registers to their default reset values.
void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef *hdma2d)
DeInitializes the DMA2D MSP.
HAL_StatusTypeDef HAL_DMA2D_Init(DMA2D_HandleTypeDef *hdma2d)
Initialize the DMA2D according to the specified parameters in the DMA2D_InitTypeDef and create the as...
void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef *hdma2d)
Initializes the DMA2D MSP.
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.
HAL_StatusTypeDef HAL_DMA2D_EnableCLUT(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Enable the DMA2D CLUT Transfer.
void HAL_DMA2D_CLUTLoadingCpltCallback(DMA2D_HandleTypeDef *hdma2d)
CLUT Transfer Complete callback.
HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout)
Polling for transfer complete or CLUT loading.
HAL_StatusTypeDef HAL_DMA2D_Resume(DMA2D_HandleTypeDef *hdma2d)
Resume the DMA2D Transfer.
void HAL_DMA2D_LineEventCallback(DMA2D_HandleTypeDef *hdma2d)
Transfer watermark callback.
HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Abort(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Abort the DMA2D CLUT loading.
HAL_StatusTypeDef HAL_DMA2D_CLUTLoad(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx)
Start DMA2D CLUT Loading.
HAL_StatusTypeDef HAL_DMA2D_CLUTStartLoad_IT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef *CLUTCfg, uint32_t LayerIdx)
Start DMA2D CLUT Loading with interrupt enabled.
HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Suspend(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Suspend the DMA2D CLUT loading.
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_CLUTStartLoad(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef *CLUTCfg, uint32_t LayerIdx)
Start DMA2D CLUT Loading.
void HAL_DMA2D_IRQHandler(DMA2D_HandleTypeDef *hdma2d)
Handle DMA2D interrupt request.
HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Resume(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Resume the DMA2D CLUT loading.
HAL_StatusTypeDef HAL_DMA2D_Abort(DMA2D_HandleTypeDef *hdma2d)
Abort the DMA2D Transfer.
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_CLUTLoad_IT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx)
Start DMA2D CLUT Loading with interrupt enabled.
HAL_StatusTypeDef HAL_DMA2D_Suspend(DMA2D_HandleTypeDef *hdma2d)
Suspend the DMA2D Transfer.
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_ProgramLineEvent(DMA2D_HandleTypeDef *hdma2d, uint32_t Line)
Configure the line watermark.
HAL_StatusTypeDef HAL_DMA2D_EnableDeadTime(DMA2D_HandleTypeDef *hdma2d)
Enable DMA2D dead time feature.
HAL_StatusTypeDef HAL_DMA2D_ConfigDeadTime(DMA2D_HandleTypeDef *hdma2d, uint8_t DeadTime)
Configure dead time.
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_ConfigLayer(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
Configure the DMA2D Layer according to the specified parameters in the DMA2D_HandleTypeDef.
HAL_DMA2D_StateTypeDef HAL_DMA2D_GetState(DMA2D_HandleTypeDef *hdma2d)
Return the DMA2D state.
uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d)
Return the DMA2D error code.
#define __HAL_DMA2D_ENABLE(__HANDLE__)
Enable the DMA2D.
#define __HAL_DMA2D_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the DMA2D pending flags.
#define __HAL_DMA2D_GET_FLAG(__HANDLE__, __FLAG__)
Get the DMA2D pending flags.
#define __HAL_DMA2D_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enable the specified DMA2D interrupts.
#define __HAL_DMA2D_DISABLE_IT(__HANDLE__, __INTERRUPT__)
Disable the specified DMA2D interrupts.
HAL_DMA2D_StateTypeDef
HAL DMA2D State structures definition.
@ HAL_DMA2D_STATE_SUSPEND
@ HAL_DMA2D_STATE_TIMEOUT
#define DMA2D_FOREGROUND_LAYER
#define DMA2D_BACKGROUND_LAYER
#define DMA2D_OUTPUT_RGB888
#define DMA2D_OUTPUT_ARGB1555
#define DMA2D_OUTPUT_RGB565
#define DMA2D_OUTPUT_ARGB8888
static void DMA2D_SetConfig(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height)
Set the DMA2D transfer parameters.
#define IS_DMA2D_OFFSET(OOFFSET)
#define IS_DMA2D_PIXEL(PIXEL)
#define IS_DMA2D_CLUT_SIZE(CLUT_SIZE)
#define IS_DMA2D_ALPHA_MODE(AlphaMode)
#define IS_DMA2D_CLUT_CM(CLUT_CM)
#define IS_DMA2D_MODE(MODE)
#define IS_DMA2D_INPUT_COLOR_MODE(INPUT_CM)
#define IS_DMA2D_LAYER(LAYER)
#define IS_DMA2D_LINE(LINE)
#define IS_DMA2D_CMODE(MODE_ARGB)
#define DMA2D_TIMEOUT_SUSPEND
#define DMA2D_TIMEOUT_ABORT
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
#define assert_param(expr)
This file contains all the functions prototypes for the HAL module driver.
HAL_StatusTypeDef
HAL Status structures definition
#define __HAL_UNLOCK(__HANDLE__)
#define __HAL_LOCK(__HANDLE__)
DMA2D CLUT Structure definition.
DMA2D Layer structure definition.
DMA2D handle Structure definition.
void(* XferErrorCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
DMA2D_LayerCfgTypeDef LayerCfg[MAX_DMA2D_LAYER]
void(* XferCpltCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
__IO HAL_DMA2D_StateTypeDef State