Lines Matching refs:hdcmi
237 HAL_StatusTypeDef HAL_DCMI_Init(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_Init() argument
240 if(hdcmi == NULL) in HAL_DCMI_Init()
246 assert_param(IS_DCMI_ALL_INSTANCE(hdcmi->Instance)); in HAL_DCMI_Init()
247 assert_param(IS_DCMI_SYNCHRO(hdcmi->Init.SynchroMode)); in HAL_DCMI_Init()
248 assert_param(IS_DCMI_PCKPOLARITY(hdcmi->Init.PCKPolarity)); in HAL_DCMI_Init()
249 assert_param(IS_DCMI_VSPOLARITY(hdcmi->Init.VSPolarity)); in HAL_DCMI_Init()
250 assert_param(IS_DCMI_HSPOLARITY(hdcmi->Init.HSPolarity)); in HAL_DCMI_Init()
251 assert_param(IS_DCMI_CAPTURE_RATE(hdcmi->Init.CaptureRate)); in HAL_DCMI_Init()
252 assert_param(IS_DCMI_EXTENDED_DATA(hdcmi->Init.ExtendedDataMode)); in HAL_DCMI_Init()
253 assert_param(IS_DCMI_MODE_JPEG(hdcmi->Init.JPEGMode)); in HAL_DCMI_Init()
255 assert_param(IS_DCMI_BYTE_SELECT_MODE(hdcmi->Init.ByteSelectMode)); in HAL_DCMI_Init()
256 assert_param(IS_DCMI_BYTE_SELECT_START(hdcmi->Init.ByteSelectStart)); in HAL_DCMI_Init()
257 assert_param(IS_DCMI_LINE_SELECT_MODE(hdcmi->Init.LineSelectMode)); in HAL_DCMI_Init()
258 assert_param(IS_DCMI_LINE_SELECT_START(hdcmi->Init.LineSelectStart)); in HAL_DCMI_Init()
260 if(hdcmi->State == HAL_DCMI_STATE_RESET) in HAL_DCMI_Init()
263 hdcmi->Lock = HAL_UNLOCKED; in HAL_DCMI_Init()
267 hdcmi->FrameEventCallback = HAL_DCMI_FrameEventCallback; /* Legacy weak FrameEventCallback */ in HAL_DCMI_Init()
268 hdcmi->VsyncEventCallback = HAL_DCMI_VsyncEventCallback; /* Legacy weak VsyncEventCallback */ in HAL_DCMI_Init()
269 hdcmi->LineEventCallback = HAL_DCMI_LineEventCallback; /* Legacy weak LineEventCallback */ in HAL_DCMI_Init()
270 hdcmi->ErrorCallback = HAL_DCMI_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_DCMI_Init()
272 if(hdcmi->MspInitCallback == NULL) in HAL_DCMI_Init()
275 hdcmi->MspInitCallback = HAL_DCMI_MspInit; in HAL_DCMI_Init()
278 hdcmi->MspInitCallback(hdcmi); in HAL_DCMI_Init()
281 HAL_DCMI_MspInit(hdcmi); in HAL_DCMI_Init()
286 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_Init()
289 __HAL_DCMI_DISABLE(hdcmi); in HAL_DCMI_Init()
291 if (hdcmi->Init.ExtendedDataMode != DCMI_EXTEND_DATA_8B) in HAL_DCMI_Init()
295 hdcmi->Init.ByteSelectMode = DCMI_BSM_ALL; in HAL_DCMI_Init()
299 hdcmi->Instance->CR &= ~(DCMI_CR_PCKPOL | DCMI_CR_HSPOL | DCMI_CR_VSPOL | DCMI_CR_EDM_0 |\ in HAL_DCMI_Init()
304 hdcmi->Instance->CR |= (uint32_t)(hdcmi->Init.SynchroMode | hdcmi->Init.CaptureRate |\ in HAL_DCMI_Init()
305 hdcmi->Init.VSPolarity | hdcmi->Init.HSPolarity |\ in HAL_DCMI_Init()
306 hdcmi->Init.PCKPolarity | hdcmi->Init.ExtendedDataMode |\ in HAL_DCMI_Init()
307 hdcmi->Init.JPEGMode | hdcmi->Init.ByteSelectMode |\ in HAL_DCMI_Init()
308 hdcmi->Init.ByteSelectStart | hdcmi->Init.LineSelectMode |\ in HAL_DCMI_Init()
309 hdcmi->Init.LineSelectStart); in HAL_DCMI_Init()
311 if(hdcmi->Init.SynchroMode == DCMI_SYNCHRO_EMBEDDED) in HAL_DCMI_Init()
313 hdcmi->Instance->ESCR = (((uint32_t)hdcmi->Init.SynchroCode.FrameStartCode) |\ in HAL_DCMI_Init()
314 … ((uint32_t)hdcmi->Init.SynchroCode.LineStartCode << DCMI_ESCR_LSC_Pos)|\ in HAL_DCMI_Init()
315 ((uint32_t)hdcmi->Init.SynchroCode.LineEndCode << DCMI_ESCR_LEC_Pos) |\ in HAL_DCMI_Init()
316 ((uint32_t)hdcmi->Init.SynchroCode.FrameEndCode << DCMI_ESCR_FEC_Pos)); in HAL_DCMI_Init()
327 __HAL_DCMI_ENABLE_IT(hdcmi, DCMI_IT_FRAME|DCMI_IT_OVR|DCMI_IT_ERR|DCMI_IT_VSYNC|DCMI_IT_LINE); in HAL_DCMI_Init()
330 hdcmi->ErrorCode = HAL_DCMI_ERROR_NONE; in HAL_DCMI_Init()
333 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Init()
345 HAL_StatusTypeDef HAL_DCMI_DeInit(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_DeInit() argument
351 if (HAL_DCMI_Stop(hdcmi) != HAL_OK) in HAL_DCMI_DeInit()
359 hdcmi->Instance->CR = 0; in HAL_DCMI_DeInit()
362 if(hdcmi->MspDeInitCallback == NULL) in HAL_DCMI_DeInit()
364 hdcmi->MspDeInitCallback = HAL_DCMI_MspDeInit; in HAL_DCMI_DeInit()
367 hdcmi->MspDeInitCallback(hdcmi); in HAL_DCMI_DeInit()
370 HAL_DCMI_MspDeInit(hdcmi); in HAL_DCMI_DeInit()
374 hdcmi->ErrorCode = HAL_DCMI_ERROR_NONE; in HAL_DCMI_DeInit()
377 hdcmi->State = HAL_DCMI_STATE_RESET; in HAL_DCMI_DeInit()
380 __HAL_UNLOCK(hdcmi); in HAL_DCMI_DeInit()
391 __weak void HAL_DCMI_MspInit(DCMI_HandleTypeDef* hdcmi) in HAL_DCMI_MspInit() argument
394 UNUSED(hdcmi); in HAL_DCMI_MspInit()
407 __weak void HAL_DCMI_MspDeInit(DCMI_HandleTypeDef* hdcmi) in HAL_DCMI_MspDeInit() argument
410 UNUSED(hdcmi); in HAL_DCMI_MspDeInit()
467 HAL_StatusTypeDef HAL_DCMI_Start_DMA(DCMI_HandleTypeDef* hdcmi, uint32_t DCMI_Mode, uint32_t pData,… in HAL_DCMI_Start_DMA() argument
475 __HAL_LOCK(hdcmi); in HAL_DCMI_Start_DMA()
478 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_Start_DMA()
481 MODIFY_REG(hdcmi->Instance->CR, (DCMI_CR_CM|DCMI_CR_ENABLE), (DCMI_Mode|DCMI_CR_ENABLE)); in HAL_DCMI_Start_DMA()
484 hdcmi->DMA_Handle->XferCpltCallback = DCMI_DMAXferCplt; in HAL_DCMI_Start_DMA()
487 hdcmi->DMA_Handle->XferErrorCallback = DCMI_DMAError; in HAL_DCMI_Start_DMA()
490 hdcmi->DMA_Handle->XferAbortCallback = NULL; in HAL_DCMI_Start_DMA()
494 …hdcmi->XferCount = 0; /* Mark as direct transfer from DCMI_DR register to final destination buffer… in HAL_DCMI_Start_DMA()
497 …if (HAL_DMA_Start_IT(hdcmi->DMA_Handle, (uint32_t)&hdcmi->Instance->DR, (uint32_t)pData, Length) !… in HAL_DCMI_Start_DMA()
500 hdcmi->ErrorCode |= HAL_DCMI_ERROR_DMA; in HAL_DCMI_Start_DMA()
503 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Start_DMA()
506 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
514 hdcmi->DMA_Handle->Init.Mode = DMA_CIRCULAR; in HAL_DCMI_Start_DMA()
517 hdcmi->DMA_Handle->XferHalfCpltCallback = DCMI_DMAHalfXferCplt; in HAL_DCMI_Start_DMA()
520 hdcmi->XferSize = Length; /* Store the complete transfer length in DCMI handle */ in HAL_DCMI_Start_DMA()
521 hdcmi->pBuffPtr = pData; /* Final destination buffer pointer */ in HAL_DCMI_Start_DMA()
529 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Start_DMA()
532 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
538 hdcmi->XferCount = 2U * ((Length / circular_copy_length) - 1U); in HAL_DCMI_Start_DMA()
540 hdcmi->HalfCopyLength = circular_copy_length / 2U; in HAL_DCMI_Start_DMA()
543 hdcmi->XferCount_0 = hdcmi->XferCount; in HAL_DCMI_Start_DMA()
544 hdcmi->XferSize_0 = hdcmi->XferSize; in HAL_DCMI_Start_DMA()
545 hdcmi->pBuffPtr_0 = hdcmi->pBuffPtr; in HAL_DCMI_Start_DMA()
551 hdcmi->pCircularBuffer = pData; in HAL_DCMI_Start_DMA()
554 hdcmi->pCircularBuffer += 4U * (((Length / circular_copy_length) - 1U) * circular_copy_length); in HAL_DCMI_Start_DMA()
557 …if ( HAL_DMA_Start_IT(hdcmi->DMA_Handle, (uint32_t)&hdcmi->Instance->DR, (uint32_t)hdcmi->pCircula… in HAL_DCMI_Start_DMA()
560 hdcmi->ErrorCode |= HAL_DCMI_ERROR_DMA; in HAL_DCMI_Start_DMA()
563 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Start_DMA()
566 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
573 SET_BIT(hdcmi->Instance->CR, DCMI_CR_CAPTURE); in HAL_DCMI_Start_DMA()
576 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
588 HAL_StatusTypeDef HAL_DCMI_Stop(DCMI_HandleTypeDef* hdcmi) in HAL_DCMI_Stop() argument
594 __HAL_LOCK(hdcmi); in HAL_DCMI_Stop()
597 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_Stop()
600 CLEAR_BIT(hdcmi->Instance->CR, DCMI_CR_CAPTURE); in HAL_DCMI_Stop()
606 while((hdcmi->Instance->CR & DCMI_CR_CAPTURE) != 0U) in HAL_DCMI_Stop()
611 hdcmi->ErrorCode |= HAL_DCMI_ERROR_TIMEOUT; in HAL_DCMI_Stop()
619 if (HAL_DMA_Abort(hdcmi->DMA_Handle) != HAL_OK) in HAL_DCMI_Stop()
621 DCMI_DMAError(hdcmi->DMA_Handle); in HAL_DCMI_Stop()
625 __HAL_DCMI_DISABLE(hdcmi); in HAL_DCMI_Stop()
628 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Stop()
631 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Stop()
643 HAL_StatusTypeDef HAL_DCMI_Suspend(DCMI_HandleTypeDef* hdcmi) in HAL_DCMI_Suspend() argument
648 __HAL_LOCK(hdcmi); in HAL_DCMI_Suspend()
650 if(hdcmi->State == HAL_DCMI_STATE_BUSY) in HAL_DCMI_Suspend()
653 hdcmi->State = HAL_DCMI_STATE_SUSPENDED; in HAL_DCMI_Suspend()
656 CLEAR_BIT(hdcmi->Instance->CR, DCMI_CR_CAPTURE); in HAL_DCMI_Suspend()
662 while((hdcmi->Instance->CR & DCMI_CR_CAPTURE) != 0U) in HAL_DCMI_Suspend()
667 hdcmi->ErrorCode |= HAL_DCMI_ERROR_TIMEOUT; in HAL_DCMI_Suspend()
670 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Suspend()
673 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Suspend()
681 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Suspend()
693 HAL_StatusTypeDef HAL_DCMI_Resume(DCMI_HandleTypeDef* hdcmi) in HAL_DCMI_Resume() argument
696 __HAL_LOCK(hdcmi); in HAL_DCMI_Resume()
698 if(hdcmi->State == HAL_DCMI_STATE_SUSPENDED) in HAL_DCMI_Resume()
701 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_Resume()
704 SET_BIT(hdcmi->Instance->CR, DCMI_CR_CAPTURE); in HAL_DCMI_Resume()
708 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Resume()
719 void HAL_DCMI_IRQHandler(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_IRQHandler() argument
721 uint32_t misflags = READ_REG(hdcmi->Instance->MISR); in HAL_DCMI_IRQHandler()
727 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_ERRRI); in HAL_DCMI_IRQHandler()
730 hdcmi->ErrorCode |= HAL_DCMI_ERROR_SYNC; in HAL_DCMI_IRQHandler()
737 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_OVRRI); in HAL_DCMI_IRQHandler()
740 hdcmi->ErrorCode |= HAL_DCMI_ERROR_OVR; in HAL_DCMI_IRQHandler()
743 if (hdcmi->ErrorCode != HAL_DCMI_ERROR_NONE) in HAL_DCMI_IRQHandler()
746 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_IRQHandler()
749 hdcmi->DMA_Handle->XferAbortCallback = DCMI_DMAError; in HAL_DCMI_IRQHandler()
752 if (HAL_DMA_Abort_IT(hdcmi->DMA_Handle) != HAL_OK) in HAL_DCMI_IRQHandler()
754 DCMI_DMAError(hdcmi->DMA_Handle); in HAL_DCMI_IRQHandler()
762 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_LINERI); in HAL_DCMI_IRQHandler()
767 hdcmi->LineEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
769 HAL_DCMI_LineEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
777 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_VSYNCRI); in HAL_DCMI_IRQHandler()
782 hdcmi->VsyncEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
784 HAL_DCMI_VsyncEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
792 if ((hdcmi->Instance->CR & DCMI_CR_CM) == DCMI_MODE_SNAPSHOT) in HAL_DCMI_IRQHandler()
794 __HAL_DCMI_DISABLE_IT(hdcmi, DCMI_IT_LINE|DCMI_IT_VSYNC|DCMI_IT_ERR|DCMI_IT_OVR); in HAL_DCMI_IRQHandler()
796 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_IRQHandler()
800 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_FRAMERI); in HAL_DCMI_IRQHandler()
805 hdcmi->FrameEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
807 HAL_DCMI_FrameEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
818 __weak void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_ErrorCallback() argument
821 UNUSED(hdcmi); in HAL_DCMI_ErrorCallback()
834 __weak void HAL_DCMI_LineEventCallback(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_LineEventCallback() argument
837 UNUSED(hdcmi); in HAL_DCMI_LineEventCallback()
850 __weak void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_VsyncEventCallback() argument
853 UNUSED(hdcmi); in HAL_DCMI_VsyncEventCallback()
866 __weak void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_FrameEventCallback() argument
869 UNUSED(hdcmi); in HAL_DCMI_FrameEventCallback()
910 HAL_StatusTypeDef HAL_DCMI_ConfigCrop(DCMI_HandleTypeDef *hdcmi, uint32_t X0, uint32_t Y0, uint32_t… in HAL_DCMI_ConfigCrop() argument
919 __HAL_LOCK(hdcmi); in HAL_DCMI_ConfigCrop()
922 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_ConfigCrop()
925 …MODIFY_REG(hdcmi->Instance->CWSIZER, (DCMI_CWSIZE_VLINE|DCMI_CWSIZE_CAPCNT), (XSize | (YSize << DC… in HAL_DCMI_ConfigCrop()
926 …MODIFY_REG(hdcmi->Instance->CWSTRTR, (DCMI_CWSTRT_VST|DCMI_CWSTRT_HOFFCNT), (X0 | (Y0 << DCMI_CWST… in HAL_DCMI_ConfigCrop()
929 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_ConfigCrop()
932 __HAL_UNLOCK(hdcmi); in HAL_DCMI_ConfigCrop()
943 HAL_StatusTypeDef HAL_DCMI_DisableCrop(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_DisableCrop() argument
946 __HAL_LOCK(hdcmi); in HAL_DCMI_DisableCrop()
949 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_DisableCrop()
952 CLEAR_BIT(hdcmi->Instance->CR, DCMI_CR_CROP); in HAL_DCMI_DisableCrop()
955 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_DisableCrop()
958 __HAL_UNLOCK(hdcmi); in HAL_DCMI_DisableCrop()
969 HAL_StatusTypeDef HAL_DCMI_EnableCrop(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_EnableCrop() argument
972 __HAL_LOCK(hdcmi); in HAL_DCMI_EnableCrop()
975 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_EnableCrop()
978 SET_BIT(hdcmi->Instance->CR, DCMI_CR_CROP); in HAL_DCMI_EnableCrop()
981 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_EnableCrop()
984 __HAL_UNLOCK(hdcmi); in HAL_DCMI_EnableCrop()
997 HAL_StatusTypeDef HAL_DCMI_ConfigSyncUnmask(DCMI_HandleTypeDef *hdcmi, DCMI_SyncUnmaskTypeDef *Syn… in HAL_DCMI_ConfigSyncUnmask() argument
1000 __HAL_LOCK(hdcmi); in HAL_DCMI_ConfigSyncUnmask()
1003 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_ConfigSyncUnmask()
1006 hdcmi->Instance->ESUR = (((uint32_t)SyncUnmask->FrameStartUnmask) |\ in HAL_DCMI_ConfigSyncUnmask()
1012 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_ConfigSyncUnmask()
1015 __HAL_UNLOCK(hdcmi); in HAL_DCMI_ConfigSyncUnmask()
1049 HAL_DCMI_StateTypeDef HAL_DCMI_GetState(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_GetState() argument
1051 return hdcmi->State; in HAL_DCMI_GetState()
1060 uint32_t HAL_DCMI_GetError(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_GetError() argument
1062 return hdcmi->ErrorCode; in HAL_DCMI_GetError()
1077 HAL_StatusTypeDef HAL_DCMI_RegisterCallback(DCMI_HandleTypeDef *hdcmi, HAL_DCMI_CallbackIDTypeDef C… in HAL_DCMI_RegisterCallback() argument
1084 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_RegisterCallback()
1090 if(hdcmi->State == HAL_DCMI_STATE_READY) in HAL_DCMI_RegisterCallback()
1095 hdcmi->FrameEventCallback = pCallback; in HAL_DCMI_RegisterCallback()
1099 hdcmi->VsyncEventCallback = pCallback; in HAL_DCMI_RegisterCallback()
1103 hdcmi->LineEventCallback = pCallback; in HAL_DCMI_RegisterCallback()
1107 hdcmi->ErrorCallback = pCallback; in HAL_DCMI_RegisterCallback()
1111 hdcmi->MspInitCallback = pCallback; in HAL_DCMI_RegisterCallback()
1115 hdcmi->MspDeInitCallback = pCallback; in HAL_DCMI_RegisterCallback()
1124 else if(hdcmi->State == HAL_DCMI_STATE_RESET) in HAL_DCMI_RegisterCallback()
1129 hdcmi->MspInitCallback = pCallback; in HAL_DCMI_RegisterCallback()
1133 hdcmi->MspDeInitCallback = pCallback; in HAL_DCMI_RegisterCallback()
1138 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_RegisterCallback()
1147 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_RegisterCallback()
1162 HAL_StatusTypeDef HAL_DCMI_UnRegisterCallback(DCMI_HandleTypeDef *hdcmi, HAL_DCMI_CallbackIDTypeDef… in HAL_DCMI_UnRegisterCallback() argument
1166 if(hdcmi->State == HAL_DCMI_STATE_READY) in HAL_DCMI_UnRegisterCallback()
1171 … hdcmi->FrameEventCallback = HAL_DCMI_FrameEventCallback; /* Legacy weak FrameEventCallback */ in HAL_DCMI_UnRegisterCallback()
1175 …hdcmi->VsyncEventCallback = HAL_DCMI_VsyncEventCallback; /* Legacy weak VsyncEventCallback … in HAL_DCMI_UnRegisterCallback()
1179 … hdcmi->LineEventCallback = HAL_DCMI_LineEventCallback; /* Legacy weak LineEventCallback */ in HAL_DCMI_UnRegisterCallback()
1183 … hdcmi->ErrorCallback = HAL_DCMI_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_DCMI_UnRegisterCallback()
1187 hdcmi->MspInitCallback = HAL_DCMI_MspInit; in HAL_DCMI_UnRegisterCallback()
1191 hdcmi->MspDeInitCallback = HAL_DCMI_MspDeInit; in HAL_DCMI_UnRegisterCallback()
1196 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_UnRegisterCallback()
1202 else if(hdcmi->State == HAL_DCMI_STATE_RESET) in HAL_DCMI_UnRegisterCallback()
1207 hdcmi->MspInitCallback = HAL_DCMI_MspInit; in HAL_DCMI_UnRegisterCallback()
1211 hdcmi->MspDeInitCallback = HAL_DCMI_MspDeInit; in HAL_DCMI_UnRegisterCallback()
1216 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_UnRegisterCallback()
1225 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_UnRegisterCallback()
1260 DCMI_HandleTypeDef* hdcmi = ( DCMI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in DCMI_DMAXferCplt() local
1263 if(hdcmi->XferCount != 0U) in DCMI_DMAXferCplt()
1265 if (hdcmi->XferCount == 0xBEBE) in DCMI_DMAXferCplt()
1267 hdcmi->XferCount = hdcmi->XferCount_0; in DCMI_DMAXferCplt()
1268 hdcmi->XferSize = hdcmi->XferSize_0; in DCMI_DMAXferCplt()
1269 hdcmi->pBuffPtr = hdcmi->pBuffPtr_0; in DCMI_DMAXferCplt()
1276 hdcmi->XferCount--; in DCMI_DMAXferCplt()
1279 tmpBuffer_Dest = (uint32_t *)hdcmi->pBuffPtr; in DCMI_DMAXferCplt()
1282 tmpBuffer_Orig = (uint32_t *)hdcmi->pCircularBuffer; in DCMI_DMAXferCplt()
1284 temp += hdcmi->HalfCopyLength * 4U; in DCMI_DMAXferCplt()
1288 loop_length = hdcmi->HalfCopyLength; in DCMI_DMAXferCplt()
1291 hdcmi->pBuffPtr += (uint32_t) loop_length*4U; in DCMI_DMAXferCplt()
1292 hdcmi->XferSize -= hdcmi->HalfCopyLength; in DCMI_DMAXferCplt()
1294 if (hdcmi->XferCount == 0) in DCMI_DMAXferCplt()
1296 hdcmi->XferCount = 0xBEBE; in DCMI_DMAXferCplt()
1302 …if (HAL_DMA_Start_IT(hdcmi->DMAM2M_Handle, (uint32_t) tmpBuffer_Orig, (uint32_t) tmpBuffer_Dest, l… in DCMI_DMAXferCplt()
1305 hdcmi->ErrorCode |= HAL_DCMI_ERROR_DMA; in DCMI_DMAXferCplt()
1308 hdcmi->State = HAL_DCMI_STATE_READY; in DCMI_DMAXferCplt()
1311 __HAL_UNLOCK(hdcmi); in DCMI_DMAXferCplt()
1316 hdcmi->ErrorCallback(hdcmi); in DCMI_DMAXferCplt()
1318 HAL_DCMI_ErrorCallback(hdcmi); in DCMI_DMAXferCplt()
1326 if((hdcmi->Instance->IER & DCMI_IT_FRAME) == 0x0U) in DCMI_DMAXferCplt()
1329 if(__HAL_DCMI_GET_FLAG(hdcmi, (uint32_t)DCMI_FLAG_FRAMERI) != 0x0UL) in DCMI_DMAXferCplt()
1332 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_FRAMERI); in DCMI_DMAXferCplt()
1335 if((hdcmi->Instance->CR & DCMI_CR_CM) == DCMI_MODE_SNAPSHOT) in DCMI_DMAXferCplt()
1338 __HAL_DCMI_DISABLE_IT(hdcmi, DCMI_IT_LINE | DCMI_IT_VSYNC | DCMI_IT_ERR | DCMI_IT_OVR); in DCMI_DMAXferCplt()
1340 hdcmi->State = HAL_DCMI_STATE_READY; in DCMI_DMAXferCplt()
1343 __HAL_UNLOCK(hdcmi); in DCMI_DMAXferCplt()
1349 hdcmi->FrameEventCallback(hdcmi); in DCMI_DMAXferCplt()
1351 HAL_DCMI_FrameEventCallback(hdcmi); in DCMI_DMAXferCplt()
1375 DCMI_HandleTypeDef* hdcmi = ( DCMI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in DCMI_DMAHalfXferCplt() local
1377 if(hdcmi->XferCount != 0U) in DCMI_DMAHalfXferCplt()
1379 if (hdcmi->XferCount != 0xBEBE) in DCMI_DMAHalfXferCplt()
1384 hdcmi->XferCount--; in DCMI_DMAHalfXferCplt()
1387 tmpBuffer_Dest = (uint32_t *)hdcmi->pBuffPtr; in DCMI_DMAHalfXferCplt()
1390 tmpBuffer_Orig = (uint32_t *)hdcmi->pCircularBuffer; in DCMI_DMAHalfXferCplt()
1393 loop_length = hdcmi->HalfCopyLength; in DCMI_DMAHalfXferCplt()
1396 hdcmi->pBuffPtr += (uint32_t) loop_length*4U; in DCMI_DMAHalfXferCplt()
1397 hdcmi->XferSize -= hdcmi->HalfCopyLength; in DCMI_DMAHalfXferCplt()
1401 …if (HAL_DMA_Start_IT(hdcmi->DMAM2M_Handle, (uint32_t) tmpBuffer_Orig, (uint32_t) tmpBuffer_Dest, l… in DCMI_DMAHalfXferCplt()
1404 hdcmi->ErrorCode |= HAL_DCMI_ERROR_DMA; in DCMI_DMAHalfXferCplt()
1407 hdcmi->State = HAL_DCMI_STATE_READY; in DCMI_DMAHalfXferCplt()
1410 __HAL_UNLOCK(hdcmi); in DCMI_DMAHalfXferCplt()
1415 hdcmi->ErrorCallback(hdcmi); in DCMI_DMAHalfXferCplt()
1417 HAL_DCMI_ErrorCallback(hdcmi); in DCMI_DMAHalfXferCplt()
1432 DCMI_HandleTypeDef* hdcmi = ( DCMI_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; in DCMI_DMAError() local
1435 hdcmi->ErrorCode |= HAL_DCMI_ERROR_DMA; in DCMI_DMAError()
1438 hdcmi->State = HAL_DCMI_STATE_READY; in DCMI_DMAError()
1443 hdcmi->ErrorCallback(hdcmi); in DCMI_DMAError()
1445 HAL_DCMI_ErrorCallback(hdcmi); in DCMI_DMAError()