Lines Matching refs:hdcmi
195 HAL_StatusTypeDef HAL_DCMI_Init(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_Init() argument
198 if (hdcmi == NULL) in HAL_DCMI_Init()
204 assert_param(IS_DCMI_ALL_INSTANCE(hdcmi->Instance)); in HAL_DCMI_Init()
205 assert_param(IS_DCMI_PCKPOLARITY(hdcmi->Init.PCKPolarity)); in HAL_DCMI_Init()
206 assert_param(IS_DCMI_VSPOLARITY(hdcmi->Init.VSPolarity)); in HAL_DCMI_Init()
207 assert_param(IS_DCMI_HSPOLARITY(hdcmi->Init.HSPolarity)); in HAL_DCMI_Init()
208 assert_param(IS_DCMI_SYNCHRO(hdcmi->Init.SynchroMode)); in HAL_DCMI_Init()
209 assert_param(IS_DCMI_CAPTURE_RATE(hdcmi->Init.CaptureRate)); in HAL_DCMI_Init()
210 assert_param(IS_DCMI_EXTENDED_DATA(hdcmi->Init.ExtendedDataMode)); in HAL_DCMI_Init()
211 assert_param(IS_DCMI_MODE_JPEG(hdcmi->Init.JPEGMode)); in HAL_DCMI_Init()
213 assert_param(IS_DCMI_BYTE_SELECT_MODE(hdcmi->Init.ByteSelectMode)); in HAL_DCMI_Init()
214 assert_param(IS_DCMI_BYTE_SELECT_START(hdcmi->Init.ByteSelectStart)); in HAL_DCMI_Init()
215 assert_param(IS_DCMI_LINE_SELECT_MODE(hdcmi->Init.LineSelectMode)); in HAL_DCMI_Init()
216 assert_param(IS_DCMI_LINE_SELECT_START(hdcmi->Init.LineSelectStart)); in HAL_DCMI_Init()
218 if (hdcmi->State == HAL_DCMI_STATE_RESET) in HAL_DCMI_Init()
223 hdcmi->FrameEventCallback = HAL_DCMI_FrameEventCallback; /* Legacy weak FrameEventCallback */ in HAL_DCMI_Init()
224 hdcmi->VsyncEventCallback = HAL_DCMI_VsyncEventCallback; /* Legacy weak VsyncEventCallback */ in HAL_DCMI_Init()
225 hdcmi->LineEventCallback = HAL_DCMI_LineEventCallback; /* Legacy weak LineEventCallback */ in HAL_DCMI_Init()
226 hdcmi->ErrorCallback = HAL_DCMI_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_DCMI_Init()
228 if (hdcmi->MspInitCallback == NULL) in HAL_DCMI_Init()
231 hdcmi->MspInitCallback = HAL_DCMI_MspInit; in HAL_DCMI_Init()
234 hdcmi->MspInitCallback(hdcmi); in HAL_DCMI_Init()
237 HAL_DCMI_MspInit(hdcmi); in HAL_DCMI_Init()
242 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_Init()
244 if (hdcmi->Init.ExtendedDataMode != DCMI_EXTEND_DATA_8B) in HAL_DCMI_Init()
248 hdcmi->Init.ByteSelectMode = DCMI_BSM_ALL; in HAL_DCMI_Init()
251 hdcmi->Instance->CR &= ~(DCMI_CR_PCKPOL | DCMI_CR_HSPOL | DCMI_CR_VSPOL | DCMI_CR_EDM_0 | \ in HAL_DCMI_Init()
256 hdcmi->Instance->CR |= (uint32_t)(hdcmi->Init.SynchroMode | hdcmi->Init.CaptureRate | \ in HAL_DCMI_Init()
257 hdcmi->Init.VSPolarity | hdcmi->Init.HSPolarity | \ in HAL_DCMI_Init()
258 hdcmi->Init.PCKPolarity | hdcmi->Init.ExtendedDataMode | \ in HAL_DCMI_Init()
259 hdcmi->Init.JPEGMode | hdcmi->Init.ByteSelectMode | \ in HAL_DCMI_Init()
260 hdcmi->Init.ByteSelectStart | hdcmi->Init.LineSelectMode | \ in HAL_DCMI_Init()
261 hdcmi->Init.LineSelectStart); in HAL_DCMI_Init()
263 if (hdcmi->Init.SynchroMode == DCMI_SYNCHRO_EMBEDDED) in HAL_DCMI_Init()
265 hdcmi->Instance->ESCR = (((uint32_t)hdcmi->Init.SyncroCode.FrameStartCode) | \ in HAL_DCMI_Init()
266 … ((uint32_t)hdcmi->Init.SyncroCode.LineStartCode << DCMI_ESCR_LSC_Pos) | \ in HAL_DCMI_Init()
267 ((uint32_t)hdcmi->Init.SyncroCode.LineEndCode << DCMI_ESCR_LEC_Pos) | \ in HAL_DCMI_Init()
268 ((uint32_t)hdcmi->Init.SyncroCode.FrameEndCode << DCMI_ESCR_FEC_Pos)); in HAL_DCMI_Init()
273 __HAL_DCMI_ENABLE_IT(hdcmi, DCMI_IT_LINE | DCMI_IT_VSYNC | DCMI_IT_ERR | DCMI_IT_OVR); in HAL_DCMI_Init()
276 hdcmi->ErrorCode = HAL_DCMI_ERROR_NONE; in HAL_DCMI_Init()
279 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Init()
292 HAL_StatusTypeDef HAL_DCMI_DeInit(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_DeInit() argument
295 if (hdcmi->MspDeInitCallback == NULL) in HAL_DCMI_DeInit()
297 hdcmi->MspDeInitCallback = HAL_DCMI_MspDeInit; in HAL_DCMI_DeInit()
300 hdcmi->MspDeInitCallback(hdcmi); in HAL_DCMI_DeInit()
303 HAL_DCMI_MspDeInit(hdcmi); in HAL_DCMI_DeInit()
307 hdcmi->ErrorCode = HAL_DCMI_ERROR_NONE; in HAL_DCMI_DeInit()
310 hdcmi->State = HAL_DCMI_STATE_RESET; in HAL_DCMI_DeInit()
313 __HAL_UNLOCK(hdcmi); in HAL_DCMI_DeInit()
324 __weak void HAL_DCMI_MspInit(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_MspInit() argument
327 UNUSED(hdcmi); in HAL_DCMI_MspInit()
340 __weak void HAL_DCMI_MspDeInit(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_MspDeInit() argument
343 UNUSED(hdcmi); in HAL_DCMI_MspDeInit()
379 HAL_StatusTypeDef HAL_DCMI_Start_DMA(DCMI_HandleTypeDef *hdcmi, uint32_t DCMI_Mode, uint32_t pData,… in HAL_DCMI_Start_DMA() argument
391 __HAL_LOCK(hdcmi); in HAL_DCMI_Start_DMA()
394 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_Start_DMA()
397 __HAL_DCMI_ENABLE(hdcmi); in HAL_DCMI_Start_DMA()
400 hdcmi->Instance->CR &= ~(DCMI_CR_CM); in HAL_DCMI_Start_DMA()
401 hdcmi->Instance->CR |= (uint32_t)(DCMI_Mode); in HAL_DCMI_Start_DMA()
404 hdcmi->DMA_Handle->XferCpltCallback = DCMI_DMAXferCplt; in HAL_DCMI_Start_DMA()
407 hdcmi->DMA_Handle->XferErrorCallback = DCMI_DMAError; in HAL_DCMI_Start_DMA()
410 hdcmi->DMA_Handle->XferAbortCallback = NULL; in HAL_DCMI_Start_DMA()
413 hdcmi->XferCount = 0; in HAL_DCMI_Start_DMA()
414 hdcmi->XferTransferNumber = 0; in HAL_DCMI_Start_DMA()
415 hdcmi->XferSize = 0; in HAL_DCMI_Start_DMA()
416 hdcmi->pBuffPtr = 0; in HAL_DCMI_Start_DMA()
425 if ((hdcmi->DMA_Handle->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DCMI_Start_DMA()
427 …if ((hdcmi->DMA_Handle->LinkedListQueue != 0U) && (hdcmi->DMA_Handle->LinkedListQueue->Head != 0U)) in HAL_DCMI_Start_DMA()
432 … hdcmi->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = tmp_length; in HAL_DCMI_Start_DMA()
434 hdcmi->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = \ in HAL_DCMI_Start_DMA()
435 (uint32_t)&hdcmi->Instance->DR; in HAL_DCMI_Start_DMA()
437 …hdcmi->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)pDat… in HAL_DCMI_Start_DMA()
439 status = HAL_DMAEx_List_Start_IT(hdcmi->DMA_Handle); in HAL_DCMI_Start_DMA()
444 hdcmi->ErrorCode = HAL_DCMI_ERROR_DMA; in HAL_DCMI_Start_DMA()
446 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Start_DMA()
448 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
455 …status = HAL_DMA_Start_IT(hdcmi->DMA_Handle, (uint32_t)&hdcmi->Instance->DR, (uint32_t)pData, tmp_… in HAL_DCMI_Start_DMA()
464 hdcmi->XferCount = 1; in HAL_DCMI_Start_DMA()
465 hdcmi->XferSize = tmp_length; in HAL_DCMI_Start_DMA()
466 hdcmi->pBuffPtr = pData; in HAL_DCMI_Start_DMA()
469 while (hdcmi->XferSize > 0xFFFFU) in HAL_DCMI_Start_DMA()
471 hdcmi->XferSize = (hdcmi->XferSize / 2U); in HAL_DCMI_Start_DMA()
472 hdcmi->XferCount = hdcmi->XferCount * 2U; in HAL_DCMI_Start_DMA()
476 hdcmi->XferCount = (hdcmi->XferCount - 1U); in HAL_DCMI_Start_DMA()
477 hdcmi->XferTransferNumber = hdcmi->XferCount; in HAL_DCMI_Start_DMA()
479 if ((hdcmi->DMA_Handle->Mode & DMA_LINKEDLIST) == DMA_LINKEDLIST) in HAL_DCMI_Start_DMA()
481 …if ((hdcmi->DMA_Handle->LinkedListQueue != 0U) && (hdcmi->DMA_Handle->LinkedListQueue->Head != 0U)) in HAL_DCMI_Start_DMA()
486 …hdcmi->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hdcmi->XferSiz… in HAL_DCMI_Start_DMA()
489 hdcmi->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CSAR_DEFAULT_OFFSET] = \ in HAL_DCMI_Start_DMA()
490 (uint32_t)&hdcmi->Instance->DR; in HAL_DCMI_Start_DMA()
493 …hdcmi->DMA_Handle->LinkedListQueue->Head->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = (uint32_t)pDat… in HAL_DCMI_Start_DMA()
496 cllr_offset = (hdcmi->DMA_Handle->LinkedListQueue->Head->NodeInfo & NODE_CLLR_IDX) >> 8U; in HAL_DCMI_Start_DMA()
499 if (hdcmi->DMA_Handle->LinkedListQueue->Head->LinkRegisters[cllr_offset] != 0U) in HAL_DCMI_Start_DMA()
501 tmp1 = (uint32_t)hdcmi->DMA_Handle->LinkedListQueue->Head ; in HAL_DCMI_Start_DMA()
502 tmp2 = hdcmi->DMA_Handle->LinkedListQueue->Head->LinkRegisters[cllr_offset]; in HAL_DCMI_Start_DMA()
507 … (tmp2 & DMA_CLLR_LA)))->LinkRegisters[NODE_CBR1_DEFAULT_OFFSET] = hdcmi->XferSize; in HAL_DCMI_Start_DMA()
512 (uint32_t)&hdcmi->Instance->DR; in HAL_DCMI_Start_DMA()
517 (uint32_t)pData + hdcmi->XferSize; in HAL_DCMI_Start_DMA()
519 if (HAL_DMAEx_List_Start_IT(hdcmi->DMA_Handle) != HAL_OK) in HAL_DCMI_Start_DMA()
522 hdcmi->ErrorCode = HAL_DCMI_ERROR_DMA; in HAL_DCMI_Start_DMA()
524 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Start_DMA()
526 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
534 hdcmi->ErrorCode = HAL_DCMI_ERROR_DMA; in HAL_DCMI_Start_DMA()
536 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Start_DMA()
538 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
546 hdcmi->ErrorCode = HAL_DCMI_ERROR_DMA; in HAL_DCMI_Start_DMA()
548 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Start_DMA()
550 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
558 hdcmi->ErrorCode = HAL_DCMI_ERROR_DMA; in HAL_DCMI_Start_DMA()
560 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Start_DMA()
562 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
570 hdcmi->Instance->CR |= DCMI_CR_CAPTURE; in HAL_DCMI_Start_DMA()
573 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
578 hdcmi->ErrorCode = HAL_DCMI_ERROR_DMA; in HAL_DCMI_Start_DMA()
580 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Start_DMA()
582 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Start_DMA()
597 HAL_StatusTypeDef HAL_DCMI_Stop(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_Stop() argument
603 __HAL_LOCK(hdcmi); in HAL_DCMI_Stop()
606 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_Stop()
609 hdcmi->Instance->CR &= ~(DCMI_CR_CAPTURE); in HAL_DCMI_Stop()
618 hdcmi->ErrorCode |= HAL_DCMI_ERROR_TIMEOUT; in HAL_DCMI_Stop()
623 } while ((hdcmi->Instance->CR & DCMI_CR_CAPTURE) != 0U); in HAL_DCMI_Stop()
626 __HAL_DCMI_DISABLE(hdcmi); in HAL_DCMI_Stop()
629 (void)HAL_DMA_Abort(hdcmi->DMA_Handle); in HAL_DCMI_Stop()
632 hdcmi->ErrorCode |= HAL_DCMI_ERROR_NONE; in HAL_DCMI_Stop()
635 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Stop()
638 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Stop()
650 HAL_StatusTypeDef HAL_DCMI_Suspend(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_Suspend() argument
656 __HAL_LOCK(hdcmi); in HAL_DCMI_Suspend()
658 if (hdcmi->State == HAL_DCMI_STATE_BUSY) in HAL_DCMI_Suspend()
661 hdcmi->State = HAL_DCMI_STATE_SUSPENDED; in HAL_DCMI_Suspend()
664 hdcmi->Instance->CR &= ~(DCMI_CR_CAPTURE); in HAL_DCMI_Suspend()
673 hdcmi->ErrorCode |= HAL_DCMI_ERROR_TIMEOUT; in HAL_DCMI_Suspend()
676 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_Suspend()
681 } while ((hdcmi->Instance->CR & DCMI_CR_CAPTURE) != 0U); in HAL_DCMI_Suspend()
684 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Suspend()
696 HAL_StatusTypeDef HAL_DCMI_Resume(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_Resume() argument
699 __HAL_LOCK(hdcmi); in HAL_DCMI_Resume()
701 if (hdcmi->State == HAL_DCMI_STATE_SUSPENDED) in HAL_DCMI_Resume()
704 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_Resume()
707 hdcmi->Instance->CR |= DCMI_CR_CAPTURE; in HAL_DCMI_Resume()
710 __HAL_UNLOCK(hdcmi); in HAL_DCMI_Resume()
722 void HAL_DCMI_IRQHandler(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_IRQHandler() argument
724 uint32_t isr_value = READ_REG(hdcmi->Instance->MISR); in HAL_DCMI_IRQHandler()
730 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_ERRRI); in HAL_DCMI_IRQHandler()
733 hdcmi->ErrorCode |= HAL_DCMI_ERROR_SYNC; in HAL_DCMI_IRQHandler()
736 hdcmi->State = HAL_DCMI_STATE_ERROR; in HAL_DCMI_IRQHandler()
739 hdcmi->DMA_Handle->XferAbortCallback = DCMI_DMAError; in HAL_DCMI_IRQHandler()
742 if (HAL_DMA_Abort_IT(hdcmi->DMA_Handle) != HAL_OK) in HAL_DCMI_IRQHandler()
744 DCMI_DMAError(hdcmi->DMA_Handle); in HAL_DCMI_IRQHandler()
751 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_OVRRI); in HAL_DCMI_IRQHandler()
754 hdcmi->ErrorCode |= HAL_DCMI_ERROR_OVR; in HAL_DCMI_IRQHandler()
757 hdcmi->State = HAL_DCMI_STATE_ERROR; in HAL_DCMI_IRQHandler()
760 hdcmi->DMA_Handle->XferAbortCallback = DCMI_DMAError; in HAL_DCMI_IRQHandler()
763 if (HAL_DMA_Abort_IT(hdcmi->DMA_Handle) != HAL_OK) in HAL_DCMI_IRQHandler()
765 DCMI_DMAError(hdcmi->DMA_Handle); in HAL_DCMI_IRQHandler()
772 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_LINERI); in HAL_DCMI_IRQHandler()
777 hdcmi->LineEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
779 HAL_DCMI_LineEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
786 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_VSYNCRI); in HAL_DCMI_IRQHandler()
791 hdcmi->VsyncEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
793 HAL_DCMI_VsyncEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
800 if ((hdcmi->Instance->CR & DCMI_CR_CM) == DCMI_MODE_SNAPSHOT) in HAL_DCMI_IRQHandler()
803 __HAL_DCMI_DISABLE_IT(hdcmi, DCMI_IT_LINE | DCMI_IT_VSYNC | DCMI_IT_ERR | DCMI_IT_OVR); in HAL_DCMI_IRQHandler()
807 __HAL_DCMI_DISABLE_IT(hdcmi, DCMI_IT_FRAME); in HAL_DCMI_IRQHandler()
810 __HAL_DCMI_CLEAR_FLAG(hdcmi, DCMI_FLAG_FRAMERI); in HAL_DCMI_IRQHandler()
815 hdcmi->FrameEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
817 HAL_DCMI_FrameEventCallback(hdcmi); in HAL_DCMI_IRQHandler()
828 __weak void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_ErrorCallback() argument
831 UNUSED(hdcmi); in HAL_DCMI_ErrorCallback()
844 __weak void HAL_DCMI_LineEventCallback(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_LineEventCallback() argument
847 UNUSED(hdcmi); in HAL_DCMI_LineEventCallback()
859 __weak void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_VsyncEventCallback() argument
862 UNUSED(hdcmi); in HAL_DCMI_VsyncEventCallback()
875 __weak void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_FrameEventCallback() argument
878 UNUSED(hdcmi); in HAL_DCMI_FrameEventCallback()
915 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()
931 hdcmi->Instance->CWSIZER = (XSize | (YSize << DCMI_CWSIZE_VLINE_Pos)); in HAL_DCMI_ConfigCrop()
932 hdcmi->Instance->CWSTRTR = (X0 | (Y0 << DCMI_CWSTRT_VST_Pos)); in HAL_DCMI_ConfigCrop()
935 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_ConfigCrop()
938 __HAL_UNLOCK(hdcmi); in HAL_DCMI_ConfigCrop()
949 HAL_StatusTypeDef HAL_DCMI_DisableCrop(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_DisableCrop() argument
952 __HAL_LOCK(hdcmi); in HAL_DCMI_DisableCrop()
955 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_DisableCrop()
958 hdcmi->Instance->CR &= ~(uint32_t)DCMI_CR_CROP; in HAL_DCMI_DisableCrop()
961 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_DisableCrop()
964 __HAL_UNLOCK(hdcmi); in HAL_DCMI_DisableCrop()
975 HAL_StatusTypeDef HAL_DCMI_EnableCrop(DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_EnableCrop() argument
978 __HAL_LOCK(hdcmi); in HAL_DCMI_EnableCrop()
981 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_EnableCrop()
984 hdcmi->Instance->CR |= (uint32_t)DCMI_CR_CROP; in HAL_DCMI_EnableCrop()
987 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_EnableCrop()
990 __HAL_UNLOCK(hdcmi); in HAL_DCMI_EnableCrop()
1003 HAL_StatusTypeDef HAL_DCMI_ConfigSyncUnmask(DCMI_HandleTypeDef *hdcmi, const DCMI_SyncUnmaskTypeDe… in HAL_DCMI_ConfigSyncUnmask() argument
1006 __HAL_LOCK(hdcmi); in HAL_DCMI_ConfigSyncUnmask()
1009 hdcmi->State = HAL_DCMI_STATE_BUSY; in HAL_DCMI_ConfigSyncUnmask()
1012 hdcmi->Instance->ESUR = (((uint32_t)SyncUnmask->FrameStartUnmask) | \ in HAL_DCMI_ConfigSyncUnmask()
1018 hdcmi->State = HAL_DCMI_STATE_READY; in HAL_DCMI_ConfigSyncUnmask()
1021 __HAL_UNLOCK(hdcmi); in HAL_DCMI_ConfigSyncUnmask()
1052 HAL_DCMI_StateTypeDef HAL_DCMI_GetState(const DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_GetState() argument
1054 return hdcmi->State; in HAL_DCMI_GetState()
1063 uint32_t HAL_DCMI_GetError(const DCMI_HandleTypeDef *hdcmi) in HAL_DCMI_GetError() argument
1065 return hdcmi->ErrorCode; in HAL_DCMI_GetError()
1084 HAL_StatusTypeDef HAL_DCMI_RegisterCallback(DCMI_HandleTypeDef *hdcmi, HAL_DCMI_CallbackIDTypeDef C… in HAL_DCMI_RegisterCallback() argument
1092 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_RegisterCallback()
1098 if (hdcmi->State == HAL_DCMI_STATE_READY) in HAL_DCMI_RegisterCallback()
1103 hdcmi->FrameEventCallback = pCallback; in HAL_DCMI_RegisterCallback()
1107 hdcmi->VsyncEventCallback = pCallback; in HAL_DCMI_RegisterCallback()
1111 hdcmi->LineEventCallback = pCallback; in HAL_DCMI_RegisterCallback()
1115 hdcmi->ErrorCallback = pCallback; in HAL_DCMI_RegisterCallback()
1119 hdcmi->MspInitCallback = pCallback; in HAL_DCMI_RegisterCallback()
1123 hdcmi->MspDeInitCallback = pCallback; in HAL_DCMI_RegisterCallback()
1132 else if (hdcmi->State == HAL_DCMI_STATE_RESET) in HAL_DCMI_RegisterCallback()
1137 hdcmi->MspInitCallback = pCallback; in HAL_DCMI_RegisterCallback()
1141 hdcmi->MspDeInitCallback = pCallback; in HAL_DCMI_RegisterCallback()
1146 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_RegisterCallback()
1155 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_RegisterCallback()
1178 HAL_StatusTypeDef HAL_DCMI_UnRegisterCallback(DCMI_HandleTypeDef *hdcmi, HAL_DCMI_CallbackIDTypeDef… in HAL_DCMI_UnRegisterCallback() argument
1182 if (hdcmi->State == HAL_DCMI_STATE_READY) in HAL_DCMI_UnRegisterCallback()
1187 … hdcmi->FrameEventCallback = HAL_DCMI_FrameEventCallback; /* Legacy weak FrameEventCallback */ in HAL_DCMI_UnRegisterCallback()
1191 … hdcmi->VsyncEventCallback = HAL_DCMI_VsyncEventCallback; /* Legacy weak VsyncEventCallback */ in HAL_DCMI_UnRegisterCallback()
1195 … hdcmi->LineEventCallback = HAL_DCMI_LineEventCallback; /* Legacy weak LineEventCallback */ in HAL_DCMI_UnRegisterCallback()
1199 … hdcmi->ErrorCallback = HAL_DCMI_ErrorCallback; /* Legacy weak ErrorCallback */ in HAL_DCMI_UnRegisterCallback()
1203 hdcmi->MspInitCallback = HAL_DCMI_MspInit; in HAL_DCMI_UnRegisterCallback()
1207 hdcmi->MspDeInitCallback = HAL_DCMI_MspDeInit; in HAL_DCMI_UnRegisterCallback()
1212 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_UnRegisterCallback()
1218 else if (hdcmi->State == HAL_DCMI_STATE_RESET) in HAL_DCMI_UnRegisterCallback()
1223 hdcmi->MspInitCallback = HAL_DCMI_MspInit; in HAL_DCMI_UnRegisterCallback()
1227 hdcmi->MspDeInitCallback = HAL_DCMI_MspDeInit; in HAL_DCMI_UnRegisterCallback()
1232 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_UnRegisterCallback()
1241 hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK; in HAL_DCMI_UnRegisterCallback()
1271 DCMI_HandleTypeDef *hdcmi = (DCMI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in DCMI_DMAXferCplt() local
1281 if (hdcmi->XferSize != 0U) in DCMI_DMAXferCplt()
1283 pbuff = hdcmi->pBuffPtr; in DCMI_DMAXferCplt()
1284 transfernumber = hdcmi->XferTransferNumber; in DCMI_DMAXferCplt()
1285 transfercount = hdcmi->XferCount; in DCMI_DMAXferCplt()
1286 transfersize = hdcmi->XferSize; in DCMI_DMAXferCplt()
1288 tmp1 = hdcmi->DMA_Handle->Instance->CLLR & DMA_CLLR_LA; in DCMI_DMAXferCplt()
1289 tmp2 = hdcmi->DMA_Handle->Instance->CLBAR & DMA_CLBAR_LBA; in DCMI_DMAXferCplt()
1292 if (hdcmi->XferCount > 1U) in DCMI_DMAXferCplt()
1295 hdcmi->XferCount--; in DCMI_DMAXferCplt()
1298 else if (hdcmi->XferCount == 1U) in DCMI_DMAXferCplt()
1300 pnode->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = hdcmi->pBuffPtr; in DCMI_DMAXferCplt()
1301 hdcmi->XferCount--; in DCMI_DMAXferCplt()
1305 pnode->LinkRegisters[NODE_CDAR_DEFAULT_OFFSET] = hdcmi->pBuffPtr + hdcmi->XferSize; in DCMI_DMAXferCplt()
1308 if ((hdcmi->Instance->CR & DCMI_CR_CM) == DCMI_MODE_CONTINUOUS) in DCMI_DMAXferCplt()
1310 hdcmi->XferCount = hdcmi->XferTransferNumber ; in DCMI_DMAXferCplt()
1315 hdcmi->State = HAL_DCMI_STATE_READY; in DCMI_DMAXferCplt()
1318 __HAL_DCMI_ENABLE_IT(hdcmi, DCMI_IT_FRAME); in DCMI_DMAXferCplt()
1324 __HAL_DCMI_ENABLE_IT(hdcmi, DCMI_IT_FRAME); in DCMI_DMAXferCplt()
1327 if ((hdcmi->Instance->CR & DCMI_CR_CM) == DCMI_MODE_SNAPSHOT) in DCMI_DMAXferCplt()
1329 hdcmi->State = HAL_DCMI_STATE_READY; in DCMI_DMAXferCplt()
1342 DCMI_HandleTypeDef *hdcmi = (DCMI_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; in DCMI_DMAError() local
1344 if (hdcmi->DMA_Handle->ErrorCode != HAL_DMA_ERROR_ULE) in DCMI_DMAError()
1347 hdcmi->State = HAL_DCMI_STATE_READY; in DCMI_DMAError()
1350 hdcmi->ErrorCode |= HAL_DCMI_ERROR_DMA; in DCMI_DMAError()
1356 hdcmi->ErrorCallback(hdcmi); in DCMI_DMAError()
1358 HAL_DCMI_ErrorCallback(hdcmi); in DCMI_DMAError()