135#ifdef HAL_DCMI_MODULE_ENABLED 
  137#if defined(STM32F407xx) || defined(STM32F417xx) || defined(STM32F427xx) || defined(STM32F437xx) ||\ 
  138    defined(STM32F429xx) || defined(STM32F439xx) || defined(STM32F446xx) || defined(STM32F469xx) ||\ 
  142#define HAL_TIMEOUT_DCMI_STOP    14U   
  201#if (USE_HAL_DCMI_REGISTER_CALLBACKS == 1) 
  207    if(hdcmi->MspInitCallback == NULL)  
 
  213    hdcmi->MspInitCallback(hdcmi);
 
  226  hdcmi->
Instance->CR &= ~(DCMI_CR_PCKPOL | DCMI_CR_HSPOL  | DCMI_CR_VSPOL  | DCMI_CR_EDM_0 |
 
  227                           DCMI_CR_EDM_1  | DCMI_CR_FCRC_0 | DCMI_CR_FCRC_1 | DCMI_CR_JPEG  |
 
 
  264#if (USE_HAL_DCMI_REGISTER_CALLBACKS == 1)   
  265  if(hdcmi->MspDeInitCallback == NULL)  
 
  270  hdcmi->MspDeInitCallback(hdcmi);
 
 
  350  uint32_t SecondMemAddress = 0U;
 
  365  hdcmi->
Instance->CR &= ~(DCMI_CR_CM);
 
  366  hdcmi->
Instance->CR |=  (uint32_t)(DCMI_Mode);
 
  381  if(Length <= 0xFFFFU)
 
  408    SecondMemAddress = (uint32_t)(pData + (4U*hdcmi->
XferSize));
 
  415  hdcmi->
Instance->CR |= DCMI_CR_CAPTURE;
 
 
  442  hdcmi->
Instance->CR &= ~(DCMI_CR_CAPTURE);
 
  456  while((hdcmi->
Instance->CR & DCMI_CR_CAPTURE) != 0U);
 
 
  497    hdcmi->
Instance->CR &= ~(DCMI_CR_CAPTURE);
 
  514    while((hdcmi->
Instance->CR & DCMI_CR_CAPTURE) != 0);
 
 
  540    hdcmi->
Instance->CR |= DCMI_CR_CAPTURE;
 
 
  557  uint32_t isr_value = READ_REG(hdcmi->
Instance->MISR);
 
  602#if (USE_HAL_DCMI_REGISTER_CALLBACKS == 1) 
  604    hdcmi->LineEventCallback(hdcmi);
 
  616#if (USE_HAL_DCMI_REGISTER_CALLBACKS == 1) 
  618    hdcmi->VsyncEventCallback(hdcmi);
 
  637#if (USE_HAL_DCMI_REGISTER_CALLBACKS == 1) 
  639    hdcmi->FrameEventCallback(hdcmi);
 
 
  777  hdcmi->
Instance->CR &= ~(uint32_t)DCMI_CR_CROP;
 
 
  803  hdcmi->
Instance->CR |= (uint32_t)DCMI_CR_CROP;
 
 
  887#if (USE_HAL_DCMI_REGISTER_CALLBACKS == 1) 
  900  if(pCallback == NULL)
 
  903    hdcmi->
ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;  
 
  913      case HAL_DCMI_FRAME_EVENT_CB_ID :
 
  914        hdcmi->FrameEventCallback = pCallback;
 
  917      case HAL_DCMI_VSYNC_EVENT_CB_ID :
 
  918        hdcmi->VsyncEventCallback = pCallback;
 
  921      case HAL_DCMI_LINE_EVENT_CB_ID :
 
  922        hdcmi->LineEventCallback = pCallback;
 
  925      case HAL_DCMI_ERROR_CB_ID :
 
  926        hdcmi->ErrorCallback = pCallback;
 
  929      case HAL_DCMI_MSPINIT_CB_ID :
 
  930        hdcmi->MspInitCallback = pCallback;
 
  933      case HAL_DCMI_MSPDEINIT_CB_ID :
 
  934        hdcmi->MspDeInitCallback = pCallback;
 
  947      case HAL_DCMI_MSPINIT_CB_ID :
 
  948        hdcmi->MspInitCallback = pCallback;
 
  951      case HAL_DCMI_MSPDEINIT_CB_ID :
 
  952        hdcmi->MspDeInitCallback = pCallback;
 
  957        hdcmi->
ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
 
  966      hdcmi->
ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
 
  989    case HAL_DCMI_FRAME_EVENT_CB_ID :
 
  993    case HAL_DCMI_VSYNC_EVENT_CB_ID :
 
  997    case HAL_DCMI_LINE_EVENT_CB_ID :
 
 1001    case HAL_DCMI_ERROR_CB_ID :
 
 1005    case HAL_DCMI_MSPINIT_CB_ID :
 
 1009    case HAL_DCMI_MSPDEINIT_CB_ID :
 
 1015      hdcmi->
ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
 
 1025    case HAL_DCMI_MSPINIT_CB_ID :
 
 1029    case HAL_DCMI_MSPDEINIT_CB_ID :
 
 1035      hdcmi->
ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
 
 1044    hdcmi->
ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
 
 1077    if(((hdcmi->
XferCount % 2U) == 0U) && (tmp != 0U))
 
 
 1135#if (USE_HAL_DCMI_REGISTER_CALLBACKS == 1) 
 1137    hdcmi->ErrorCallback(hdcmi);
 
 
#define DCMI_POSITION_ESCR_FEC
 
#define DCMI_POSITION_ESCR_LSC
 
#define DCMI_POSITION_ESCR_LEC
 
#define DCMI_MODE_SNAPSHOT
 
#define HAL_DCMI_ERROR_NONE
 
#define HAL_DCMI_ERROR_TIMEOUT
 
#define HAL_DCMI_ERROR_OVR
 
#define HAL_DCMI_ERROR_SYNC
 
void HAL_DCMI_MspInit(DCMI_HandleTypeDef *hdcmi)
Initializes the DCMI MSP.
 
void HAL_DCMI_MspDeInit(DCMI_HandleTypeDef *hdcmi)
DeInitializes the DCMI MSP.
 
HAL_StatusTypeDef HAL_DCMI_DeInit(DCMI_HandleTypeDef *hdcmi)
Deinitializes the DCMI peripheral registers to their default reset values.
 
HAL_StatusTypeDef HAL_DCMI_Init(DCMI_HandleTypeDef *hdcmi)
Initializes the DCMI according to the specified parameters in the DCMI_InitTypeDef and create the ass...
 
void HAL_DCMI_IRQHandler(DCMI_HandleTypeDef *hdcmi)
Handles DCMI interrupt request.
 
void HAL_DCMI_LineEventCallback(DCMI_HandleTypeDef *hdcmi)
Line Event callback.
 
HAL_StatusTypeDef HAL_DCMI_Stop(DCMI_HandleTypeDef *hdcmi)
Disable DCMI DMA request and Disable DCMI capture.
 
void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi)
VSYNC Event callback.
 
HAL_StatusTypeDef HAL_DCMI_Start_DMA(DCMI_HandleTypeDef *hdcmi, uint32_t DCMI_Mode, uint32_t pData, uint32_t Length)
Enables DCMI DMA request and enables DCMI capture.
 
HAL_StatusTypeDef HAL_DCMI_Resume(DCMI_HandleTypeDef *hdcmi)
Resume DCMI capture
 
void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi)
Error DCMI callback.
 
void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi)
Frame Event callback.
 
HAL_StatusTypeDef HAL_DCMI_Suspend(DCMI_HandleTypeDef *hdcmi)
Suspend DCMI capture
 
HAL_StatusTypeDef HAL_DCMI_EnableCrop(DCMI_HandleTypeDef *hdcmi)
Enable the Crop feature.
 
HAL_StatusTypeDef HAL_DCMI_ConfigCrop(DCMI_HandleTypeDef *hdcmi, uint32_t X0, uint32_t Y0, uint32_t XSize, uint32_t YSize)
Configure the DCMI CROP coordinate.
 
HAL_StatusTypeDef HAL_DCMI_ConfigSyncUnmask(DCMI_HandleTypeDef *hdcmi, DCMI_SyncUnmaskTypeDef *SyncUnmask)
Set embedded synchronization delimiters unmasks.
 
HAL_StatusTypeDef HAL_DCMI_DisableCrop(DCMI_HandleTypeDef *hdcmi)
Disable the Crop feature.
 
uint32_t HAL_DCMI_GetError(DCMI_HandleTypeDef *hdcmi)
Return the DCMI error code.
 
HAL_DCMI_StateTypeDef HAL_DCMI_GetState(DCMI_HandleTypeDef *hdcmi)
Return the DCMI state.
 
#define __HAL_DCMI_DISABLE(__HANDLE__)
Disable the DCMI.
 
#define __HAL_DCMI_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clear the DCMI pending flags.
 
#define __HAL_DCMI_DISABLE_IT(__HANDLE__, __INTERRUPT__)
Disable the specified DCMI interrupts.
 
#define __HAL_DCMI_ENABLE(__HANDLE__)
Enable the DCMI.
 
#define __HAL_DCMI_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enable the specified DCMI interrupts.
 
HAL_DCMI_StateTypeDef
HAL DCMI State structures definition.
 
@ HAL_DCMI_STATE_SUSPENDED
 
#define DCMI_FLAG_VSYNCRI
 
#define DCMI_FLAG_FRAMERI
DCMI RIS register.
 
#define IS_DCMI_PCKPOLARITY(POLARITY)
 
#define IS_DCMI_SYNCHRO(MODE)
 
#define IS_DCMI_CAPTURE_MODE(MODE)
 
#define IS_DCMI_WINDOW_HEIGHT(HEIGHT)
 
#define IS_DCMI_MODE_JPEG(JPEG_MODE)
 
#define IS_DCMI_VSPOLARITY(POLARITY)
 
#define IS_DCMI_HSPOLARITY(POLARITY)
 
#define IS_DCMI_WINDOW_COORDINATE(COORDINATE)
 
#define IS_DCMI_EXTENDED_DATA(DATA)
 
#define IS_DCMI_CAPTURE_RATE(RATE)
 
#define DCMI_SYNCHRO_EMBEDDED
 
#define DCMI_POSITION_CWSIZE_VLINE
 
#define DCMI_POSITION_CWSTRT_VST
 
static void DCMI_DMAError(DMA_HandleTypeDef *hdma)
DMA error callback.
 
static void DCMI_DMAXferCplt(DMA_HandleTypeDef *hdma)
DMA conversion complete callback.
 
#define HAL_TIMEOUT_DCMI_STOP
 
HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory)
Change the memory0 or memory1 address on the fly.
 
HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength)
Starts the multi_buffer DMA Transfer with interrupt enabled.
 
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
Aborts the DMA Transfer.
 
HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
Aborts the DMA Transfer in Interrupt mode.
 
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
Start the DMA Transfer with interrupt enabled.
 
#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__)
 
uint32_t ExtendedDataMode
 
DCMI_CodesInitTypeDef SyncroCode
 
DCMI Embedded Synchronisation CODE Init structure definition.
 
DCMI handle Structure definition.
 
uint32_t XferTransferNumber
 
DMA_HandleTypeDef * DMA_Handle
 
__IO HAL_DCMI_StateTypeDef State
 
DMA handle Structure definition.
 
void(* XferAbortCallback)(struct __DMA_HandleTypeDef *hdma)
 
void(* XferCpltCallback)(struct __DMA_HandleTypeDef *hdma)
 
void(* XferErrorCallback)(struct __DMA_HandleTypeDef *hdma)
 
DMA_Stream_TypeDef * Instance
 
void(* XferM1CpltCallback)(struct __DMA_HandleTypeDef *hdma)