The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
Anna Bridge
Date:
Wed Jan 17 16:13:02 2018 +0000
Revision:
160:5571c4ff569f
Child:
163:e59c8e839560
mbed library. Release version 158

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Anna Bridge 160:5571c4ff569f 1 /**
Anna Bridge 160:5571c4ff569f 2 ******************************************************************************
Anna Bridge 160:5571c4ff569f 3 * @file stm32f4xx_hal_dcmi.h
Anna Bridge 160:5571c4ff569f 4 * @author MCD Application Team
Anna Bridge 160:5571c4ff569f 5 * @version V1.7.1
Anna Bridge 160:5571c4ff569f 6 * @date 14-April-2017
Anna Bridge 160:5571c4ff569f 7 * @brief Header file of DCMI HAL module.
Anna Bridge 160:5571c4ff569f 8 ******************************************************************************
Anna Bridge 160:5571c4ff569f 9 * @attention
Anna Bridge 160:5571c4ff569f 10 *
Anna Bridge 160:5571c4ff569f 11 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
Anna Bridge 160:5571c4ff569f 12 *
Anna Bridge 160:5571c4ff569f 13 * Redistribution and use in source and binary forms, with or without modification,
Anna Bridge 160:5571c4ff569f 14 * are permitted provided that the following conditions are met:
Anna Bridge 160:5571c4ff569f 15 * 1. Redistributions of source code must retain the above copyright notice,
Anna Bridge 160:5571c4ff569f 16 * this list of conditions and the following disclaimer.
Anna Bridge 160:5571c4ff569f 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
Anna Bridge 160:5571c4ff569f 18 * this list of conditions and the following disclaimer in the documentation
Anna Bridge 160:5571c4ff569f 19 * and/or other materials provided with the distribution.
Anna Bridge 160:5571c4ff569f 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Anna Bridge 160:5571c4ff569f 21 * may be used to endorse or promote products derived from this software
Anna Bridge 160:5571c4ff569f 22 * without specific prior written permission.
Anna Bridge 160:5571c4ff569f 23 *
Anna Bridge 160:5571c4ff569f 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Anna Bridge 160:5571c4ff569f 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Anna Bridge 160:5571c4ff569f 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Anna Bridge 160:5571c4ff569f 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Anna Bridge 160:5571c4ff569f 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Anna Bridge 160:5571c4ff569f 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Anna Bridge 160:5571c4ff569f 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Anna Bridge 160:5571c4ff569f 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Anna Bridge 160:5571c4ff569f 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Anna Bridge 160:5571c4ff569f 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Anna Bridge 160:5571c4ff569f 34 *
Anna Bridge 160:5571c4ff569f 35 ******************************************************************************
Anna Bridge 160:5571c4ff569f 36 */
Anna Bridge 160:5571c4ff569f 37
Anna Bridge 160:5571c4ff569f 38 /* Define to prevent recursive inclusion -------------------------------------*/
Anna Bridge 160:5571c4ff569f 39 #ifndef __STM32F4xx_HAL_DCMI_H
Anna Bridge 160:5571c4ff569f 40 #define __STM32F4xx_HAL_DCMI_H
Anna Bridge 160:5571c4ff569f 41
Anna Bridge 160:5571c4ff569f 42 #ifdef __cplusplus
Anna Bridge 160:5571c4ff569f 43 extern "C" {
Anna Bridge 160:5571c4ff569f 44 #endif
Anna Bridge 160:5571c4ff569f 45
Anna Bridge 160:5571c4ff569f 46 #if defined(STM32F407xx) || defined(STM32F417xx) || defined(STM32F427xx) || defined(STM32F437xx) ||\
Anna Bridge 160:5571c4ff569f 47 defined(STM32F429xx) || defined(STM32F439xx) || defined(STM32F446xx) || defined(STM32F469xx) ||\
Anna Bridge 160:5571c4ff569f 48 defined(STM32F479xx)
Anna Bridge 160:5571c4ff569f 49 /* Includes ------------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 50 #include "stm32f4xx_hal_def.h"
Anna Bridge 160:5571c4ff569f 51
Anna Bridge 160:5571c4ff569f 52 /* Include DCMI HAL Extended module */
Anna Bridge 160:5571c4ff569f 53 /* (include on top of file since DCMI structures are defined in extended file) */
Anna Bridge 160:5571c4ff569f 54 #include "stm32f4xx_hal_dcmi_ex.h"
Anna Bridge 160:5571c4ff569f 55
Anna Bridge 160:5571c4ff569f 56 /** @addtogroup STM32F4xx_HAL_Driver
Anna Bridge 160:5571c4ff569f 57 * @{
Anna Bridge 160:5571c4ff569f 58 */
Anna Bridge 160:5571c4ff569f 59
Anna Bridge 160:5571c4ff569f 60 /** @addtogroup DCMI DCMI
Anna Bridge 160:5571c4ff569f 61 * @brief DCMI HAL module driver
Anna Bridge 160:5571c4ff569f 62 * @{
Anna Bridge 160:5571c4ff569f 63 */
Anna Bridge 160:5571c4ff569f 64
Anna Bridge 160:5571c4ff569f 65 /* Exported types ------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 66 /** @defgroup DCMI_Exported_Types DCMI Exported Types
Anna Bridge 160:5571c4ff569f 67 * @{
Anna Bridge 160:5571c4ff569f 68 */
Anna Bridge 160:5571c4ff569f 69 /**
Anna Bridge 160:5571c4ff569f 70 * @brief HAL DCMI State structures definition
Anna Bridge 160:5571c4ff569f 71 */
Anna Bridge 160:5571c4ff569f 72 typedef enum
Anna Bridge 160:5571c4ff569f 73 {
Anna Bridge 160:5571c4ff569f 74 HAL_DCMI_STATE_RESET = 0x00U, /*!< DCMI not yet initialized or disabled */
Anna Bridge 160:5571c4ff569f 75 HAL_DCMI_STATE_READY = 0x01U, /*!< DCMI initialized and ready for use */
Anna Bridge 160:5571c4ff569f 76 HAL_DCMI_STATE_BUSY = 0x02U, /*!< DCMI internal processing is ongoing */
Anna Bridge 160:5571c4ff569f 77 HAL_DCMI_STATE_TIMEOUT = 0x03U, /*!< DCMI timeout state */
Anna Bridge 160:5571c4ff569f 78 HAL_DCMI_STATE_ERROR = 0x04U, /*!< DCMI error state */
Anna Bridge 160:5571c4ff569f 79 HAL_DCMI_STATE_SUSPENDED = 0x05U /*!< DCMI suspend state */
Anna Bridge 160:5571c4ff569f 80 }HAL_DCMI_StateTypeDef;
Anna Bridge 160:5571c4ff569f 81
Anna Bridge 160:5571c4ff569f 82 /**
Anna Bridge 160:5571c4ff569f 83 * @brief DCMI handle Structure definition
Anna Bridge 160:5571c4ff569f 84 */
Anna Bridge 160:5571c4ff569f 85 typedef struct
Anna Bridge 160:5571c4ff569f 86 {
Anna Bridge 160:5571c4ff569f 87 DCMI_TypeDef *Instance; /*!< DCMI Register base address */
Anna Bridge 160:5571c4ff569f 88
Anna Bridge 160:5571c4ff569f 89 DCMI_InitTypeDef Init; /*!< DCMI parameters */
Anna Bridge 160:5571c4ff569f 90
Anna Bridge 160:5571c4ff569f 91 HAL_LockTypeDef Lock; /*!< DCMI locking object */
Anna Bridge 160:5571c4ff569f 92
Anna Bridge 160:5571c4ff569f 93 __IO HAL_DCMI_StateTypeDef State; /*!< DCMI state */
Anna Bridge 160:5571c4ff569f 94
Anna Bridge 160:5571c4ff569f 95 __IO uint32_t XferCount; /*!< DMA transfer counter */
Anna Bridge 160:5571c4ff569f 96
Anna Bridge 160:5571c4ff569f 97 __IO uint32_t XferSize; /*!< DMA transfer size */
Anna Bridge 160:5571c4ff569f 98
Anna Bridge 160:5571c4ff569f 99 uint32_t XferTransferNumber; /*!< DMA transfer number */
Anna Bridge 160:5571c4ff569f 100
Anna Bridge 160:5571c4ff569f 101 uint32_t pBuffPtr; /*!< Pointer to DMA output buffer */
Anna Bridge 160:5571c4ff569f 102
Anna Bridge 160:5571c4ff569f 103 DMA_HandleTypeDef *DMA_Handle; /*!< Pointer to the DMA handler */
Anna Bridge 160:5571c4ff569f 104
Anna Bridge 160:5571c4ff569f 105 __IO uint32_t ErrorCode; /*!< DCMI Error code */
Anna Bridge 160:5571c4ff569f 106
Anna Bridge 160:5571c4ff569f 107 }DCMI_HandleTypeDef;
Anna Bridge 160:5571c4ff569f 108 /**
Anna Bridge 160:5571c4ff569f 109 * @}
Anna Bridge 160:5571c4ff569f 110 */
Anna Bridge 160:5571c4ff569f 111
Anna Bridge 160:5571c4ff569f 112 /* Exported constants --------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 113 /** @defgroup DCMI_Exported_Constants DCMI Exported Constants
Anna Bridge 160:5571c4ff569f 114 * @{
Anna Bridge 160:5571c4ff569f 115 */
Anna Bridge 160:5571c4ff569f 116
Anna Bridge 160:5571c4ff569f 117 /** @defgroup DCMI_Error_Code DCMI Error Code
Anna Bridge 160:5571c4ff569f 118 * @{
Anna Bridge 160:5571c4ff569f 119 */
Anna Bridge 160:5571c4ff569f 120 #define HAL_DCMI_ERROR_NONE 0x00000000U /*!< No error */
Anna Bridge 160:5571c4ff569f 121 #define HAL_DCMI_ERROR_OVR 0x00000001U /*!< Overrun error */
Anna Bridge 160:5571c4ff569f 122 #define HAL_DCMI_ERROR_SYNC 0x00000002U /*!< Synchronization error */
Anna Bridge 160:5571c4ff569f 123 #define HAL_DCMI_ERROR_TIMEOUT 0x00000020U /*!< Timeout error */
Anna Bridge 160:5571c4ff569f 124 #define HAL_DCMI_ERROR_DMA 0x00000040U /*!< DMA error */
Anna Bridge 160:5571c4ff569f 125 /**
Anna Bridge 160:5571c4ff569f 126 * @}
Anna Bridge 160:5571c4ff569f 127 */
Anna Bridge 160:5571c4ff569f 128
Anna Bridge 160:5571c4ff569f 129 /** @defgroup DCMI_Capture_Mode DCMI Capture Mode
Anna Bridge 160:5571c4ff569f 130 * @{
Anna Bridge 160:5571c4ff569f 131 */
Anna Bridge 160:5571c4ff569f 132 #define DCMI_MODE_CONTINUOUS 0x00000000U /*!< The received data are transferred continuously
Anna Bridge 160:5571c4ff569f 133 into the destination memory through the DMA */
Anna Bridge 160:5571c4ff569f 134 #define DCMI_MODE_SNAPSHOT ((uint32_t)DCMI_CR_CM) /*!< Once activated, the interface waits for the start of
Anna Bridge 160:5571c4ff569f 135 frame and then transfers a single frame through the DMA */
Anna Bridge 160:5571c4ff569f 136 /**
Anna Bridge 160:5571c4ff569f 137 * @}
Anna Bridge 160:5571c4ff569f 138 */
Anna Bridge 160:5571c4ff569f 139
Anna Bridge 160:5571c4ff569f 140 /** @defgroup DCMI_Synchronization_Mode DCMI Synchronization Mode
Anna Bridge 160:5571c4ff569f 141 * @{
Anna Bridge 160:5571c4ff569f 142 */
Anna Bridge 160:5571c4ff569f 143 #define DCMI_SYNCHRO_HARDWARE 0x00000000U /*!< Hardware synchronization data capture (frame/line start/stop)
Anna Bridge 160:5571c4ff569f 144 is synchronized with the HSYNC/VSYNC signals */
Anna Bridge 160:5571c4ff569f 145 #define DCMI_SYNCHRO_EMBEDDED ((uint32_t)DCMI_CR_ESS) /*!< Embedded synchronization data capture is synchronized with
Anna Bridge 160:5571c4ff569f 146 synchronization codes embedded in the data flow */
Anna Bridge 160:5571c4ff569f 147
Anna Bridge 160:5571c4ff569f 148 /**
Anna Bridge 160:5571c4ff569f 149 * @}
Anna Bridge 160:5571c4ff569f 150 */
Anna Bridge 160:5571c4ff569f 151
Anna Bridge 160:5571c4ff569f 152 /** @defgroup DCMI_PIXCK_Polarity DCMI PIXCK Polarity
Anna Bridge 160:5571c4ff569f 153 * @{
Anna Bridge 160:5571c4ff569f 154 */
Anna Bridge 160:5571c4ff569f 155 #define DCMI_PCKPOLARITY_FALLING 0x00000000U /*!< Pixel clock active on Falling edge */
Anna Bridge 160:5571c4ff569f 156 #define DCMI_PCKPOLARITY_RISING ((uint32_t)DCMI_CR_PCKPOL) /*!< Pixel clock active on Rising edge */
Anna Bridge 160:5571c4ff569f 157
Anna Bridge 160:5571c4ff569f 158 /**
Anna Bridge 160:5571c4ff569f 159 * @}
Anna Bridge 160:5571c4ff569f 160 */
Anna Bridge 160:5571c4ff569f 161
Anna Bridge 160:5571c4ff569f 162 /** @defgroup DCMI_VSYNC_Polarity DCMI VSYNC Polarity
Anna Bridge 160:5571c4ff569f 163 * @{
Anna Bridge 160:5571c4ff569f 164 */
Anna Bridge 160:5571c4ff569f 165 #define DCMI_VSPOLARITY_LOW 0x00000000U /*!< Vertical synchronization active Low */
Anna Bridge 160:5571c4ff569f 166 #define DCMI_VSPOLARITY_HIGH ((uint32_t)DCMI_CR_VSPOL) /*!< Vertical synchronization active High */
Anna Bridge 160:5571c4ff569f 167
Anna Bridge 160:5571c4ff569f 168 /**
Anna Bridge 160:5571c4ff569f 169 * @}
Anna Bridge 160:5571c4ff569f 170 */
Anna Bridge 160:5571c4ff569f 171
Anna Bridge 160:5571c4ff569f 172 /** @defgroup DCMI_HSYNC_Polarity DCMI HSYNC Polarity
Anna Bridge 160:5571c4ff569f 173 * @{
Anna Bridge 160:5571c4ff569f 174 */
Anna Bridge 160:5571c4ff569f 175 #define DCMI_HSPOLARITY_LOW 0x00000000U /*!< Horizontal synchronization active Low */
Anna Bridge 160:5571c4ff569f 176 #define DCMI_HSPOLARITY_HIGH ((uint32_t)DCMI_CR_HSPOL) /*!< Horizontal synchronization active High */
Anna Bridge 160:5571c4ff569f 177
Anna Bridge 160:5571c4ff569f 178 /**
Anna Bridge 160:5571c4ff569f 179 * @}
Anna Bridge 160:5571c4ff569f 180 */
Anna Bridge 160:5571c4ff569f 181
Anna Bridge 160:5571c4ff569f 182 /** @defgroup DCMI_MODE_JPEG DCMI MODE JPEG
Anna Bridge 160:5571c4ff569f 183 * @{
Anna Bridge 160:5571c4ff569f 184 */
Anna Bridge 160:5571c4ff569f 185 #define DCMI_JPEG_DISABLE 0x00000000U /*!< Mode JPEG Disabled */
Anna Bridge 160:5571c4ff569f 186 #define DCMI_JPEG_ENABLE ((uint32_t)DCMI_CR_JPEG) /*!< Mode JPEG Enabled */
Anna Bridge 160:5571c4ff569f 187
Anna Bridge 160:5571c4ff569f 188 /**
Anna Bridge 160:5571c4ff569f 189 * @}
Anna Bridge 160:5571c4ff569f 190 */
Anna Bridge 160:5571c4ff569f 191
Anna Bridge 160:5571c4ff569f 192 /** @defgroup DCMI_Capture_Rate DCMI Capture Rate
Anna Bridge 160:5571c4ff569f 193 * @{
Anna Bridge 160:5571c4ff569f 194 */
Anna Bridge 160:5571c4ff569f 195 #define DCMI_CR_ALL_FRAME 0x00000000U /*!< All frames are captured */
Anna Bridge 160:5571c4ff569f 196 #define DCMI_CR_ALTERNATE_2_FRAME ((uint32_t)DCMI_CR_FCRC_0) /*!< Every alternate frame captured */
Anna Bridge 160:5571c4ff569f 197 #define DCMI_CR_ALTERNATE_4_FRAME ((uint32_t)DCMI_CR_FCRC_1) /*!< One frame in 4 frames captured */
Anna Bridge 160:5571c4ff569f 198
Anna Bridge 160:5571c4ff569f 199 /**
Anna Bridge 160:5571c4ff569f 200 * @}
Anna Bridge 160:5571c4ff569f 201 */
Anna Bridge 160:5571c4ff569f 202
Anna Bridge 160:5571c4ff569f 203 /** @defgroup DCMI_Extended_Data_Mode DCMI Extended Data Mode
Anna Bridge 160:5571c4ff569f 204 * @{
Anna Bridge 160:5571c4ff569f 205 */
Anna Bridge 160:5571c4ff569f 206 #define DCMI_EXTEND_DATA_8B 0x00000000U /*!< Interface captures 8-bit data on every pixel clock */
Anna Bridge 160:5571c4ff569f 207 #define DCMI_EXTEND_DATA_10B ((uint32_t)DCMI_CR_EDM_0) /*!< Interface captures 10-bit data on every pixel clock */
Anna Bridge 160:5571c4ff569f 208 #define DCMI_EXTEND_DATA_12B ((uint32_t)DCMI_CR_EDM_1) /*!< Interface captures 12-bit data on every pixel clock */
Anna Bridge 160:5571c4ff569f 209 #define DCMI_EXTEND_DATA_14B ((uint32_t)(DCMI_CR_EDM_0 | DCMI_CR_EDM_1)) /*!< Interface captures 14-bit data on every pixel clock */
Anna Bridge 160:5571c4ff569f 210
Anna Bridge 160:5571c4ff569f 211 /**
Anna Bridge 160:5571c4ff569f 212 * @}
Anna Bridge 160:5571c4ff569f 213 */
Anna Bridge 160:5571c4ff569f 214
Anna Bridge 160:5571c4ff569f 215 /** @defgroup DCMI_Window_Coordinate DCMI Window Coordinate
Anna Bridge 160:5571c4ff569f 216 * @{
Anna Bridge 160:5571c4ff569f 217 */
Anna Bridge 160:5571c4ff569f 218 #define DCMI_WINDOW_COORDINATE 0x3FFFU /*!< Window coordinate */
Anna Bridge 160:5571c4ff569f 219
Anna Bridge 160:5571c4ff569f 220 /**
Anna Bridge 160:5571c4ff569f 221 * @}
Anna Bridge 160:5571c4ff569f 222 */
Anna Bridge 160:5571c4ff569f 223
Anna Bridge 160:5571c4ff569f 224 /** @defgroup DCMI_Window_Height DCMI Window Height
Anna Bridge 160:5571c4ff569f 225 * @{
Anna Bridge 160:5571c4ff569f 226 */
Anna Bridge 160:5571c4ff569f 227 #define DCMI_WINDOW_HEIGHT 0x1FFFU /*!< Window Height */
Anna Bridge 160:5571c4ff569f 228
Anna Bridge 160:5571c4ff569f 229 /**
Anna Bridge 160:5571c4ff569f 230 * @}
Anna Bridge 160:5571c4ff569f 231 */
Anna Bridge 160:5571c4ff569f 232
Anna Bridge 160:5571c4ff569f 233 /** @defgroup DCMI_Window_Vertical_Line DCMI Window Vertical Line
Anna Bridge 160:5571c4ff569f 234 * @{
Anna Bridge 160:5571c4ff569f 235 */
Anna Bridge 160:5571c4ff569f 236 #define DCMI_POSITION_CWSIZE_VLINE (uint32_t)POSITION_VAL(DCMI_CWSIZE_VLINE) /*!< Required left shift to set crop window vertical line count */
Anna Bridge 160:5571c4ff569f 237 #define DCMI_POSITION_CWSTRT_VST (uint32_t)POSITION_VAL(DCMI_CWSTRT_VST) /*!< Required left shift to set crop window vertical start line count */
Anna Bridge 160:5571c4ff569f 238
Anna Bridge 160:5571c4ff569f 239 /**
Anna Bridge 160:5571c4ff569f 240 * @}
Anna Bridge 160:5571c4ff569f 241 */
Anna Bridge 160:5571c4ff569f 242
Anna Bridge 160:5571c4ff569f 243 /** @defgroup DCMI_interrupt_sources DCMI interrupt sources
Anna Bridge 160:5571c4ff569f 244 * @{
Anna Bridge 160:5571c4ff569f 245 */
Anna Bridge 160:5571c4ff569f 246 #define DCMI_IT_FRAME ((uint32_t)DCMI_IER_FRAME_IE) /*!< Capture complete interrupt */
Anna Bridge 160:5571c4ff569f 247 #define DCMI_IT_OVR ((uint32_t)DCMI_IER_OVR_IE) /*!< Overrun interrupt */
Anna Bridge 160:5571c4ff569f 248 #define DCMI_IT_ERR ((uint32_t)DCMI_IER_ERR_IE) /*!< Synchronization error interrupt */
Anna Bridge 160:5571c4ff569f 249 #define DCMI_IT_VSYNC ((uint32_t)DCMI_IER_VSYNC_IE) /*!< VSYNC interrupt */
Anna Bridge 160:5571c4ff569f 250 #define DCMI_IT_LINE ((uint32_t)DCMI_IER_LINE_IE) /*!< Line interrupt */
Anna Bridge 160:5571c4ff569f 251 /**
Anna Bridge 160:5571c4ff569f 252 * @}
Anna Bridge 160:5571c4ff569f 253 */
Anna Bridge 160:5571c4ff569f 254
Anna Bridge 160:5571c4ff569f 255 /** @defgroup DCMI_Flags DCMI Flags
Anna Bridge 160:5571c4ff569f 256 * @{
Anna Bridge 160:5571c4ff569f 257 */
Anna Bridge 160:5571c4ff569f 258
Anna Bridge 160:5571c4ff569f 259 /**
Anna Bridge 160:5571c4ff569f 260 * @brief DCMI SR register
Anna Bridge 160:5571c4ff569f 261 */
Anna Bridge 160:5571c4ff569f 262 #define DCMI_FLAG_HSYNC ((uint32_t)DCMI_SR_INDEX|DCMI_SR_HSYNC) /*!< HSYNC pin state (active line / synchronization between lines) */
Anna Bridge 160:5571c4ff569f 263 #define DCMI_FLAG_VSYNC ((uint32_t)DCMI_SR_INDEX|DCMI_SR_VSYNC) /*!< VSYNC pin state (active frame / synchronization between frames) */
Anna Bridge 160:5571c4ff569f 264 #define DCMI_FLAG_FNE ((uint32_t)DCMI_SR_INDEX|DCMI_SR_FNE) /*!< FIFO not empty flag */
Anna Bridge 160:5571c4ff569f 265 /**
Anna Bridge 160:5571c4ff569f 266 * @brief DCMI RIS register
Anna Bridge 160:5571c4ff569f 267 */
Anna Bridge 160:5571c4ff569f 268 #define DCMI_FLAG_FRAMERI ((uint32_t)DCMI_RISR_FRAME_RIS) /*!< Frame capture complete interrupt flag */
Anna Bridge 160:5571c4ff569f 269 #define DCMI_FLAG_OVRRI ((uint32_t)DCMI_RISR_OVR_RIS) /*!< Overrun interrupt flag */
Anna Bridge 160:5571c4ff569f 270 #define DCMI_FLAG_ERRRI ((uint32_t)DCMI_RISR_ERR_RIS) /*!< Synchronization error interrupt flag */
Anna Bridge 160:5571c4ff569f 271 #define DCMI_FLAG_VSYNCRI ((uint32_t)DCMI_RISR_VSYNC_RIS) /*!< VSYNC interrupt flag */
Anna Bridge 160:5571c4ff569f 272 #define DCMI_FLAG_LINERI ((uint32_t)DCMI_RISR_LINE_RIS) /*!< Line interrupt flag */
Anna Bridge 160:5571c4ff569f 273 /**
Anna Bridge 160:5571c4ff569f 274 * @brief DCMI MIS register
Anna Bridge 160:5571c4ff569f 275 */
Anna Bridge 160:5571c4ff569f 276 #define DCMI_FLAG_FRAMEMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_FRAME_MIS) /*!< DCMI Frame capture complete masked interrupt status */
Anna Bridge 160:5571c4ff569f 277 #define DCMI_FLAG_OVRMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_OVR_MIS ) /*!< DCMI Overrun masked interrupt status */
Anna Bridge 160:5571c4ff569f 278 #define DCMI_FLAG_ERRMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_ERR_MIS ) /*!< DCMI Synchronization error masked interrupt status */
Anna Bridge 160:5571c4ff569f 279 #define DCMI_FLAG_VSYNCMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_VSYNC_MIS) /*!< DCMI VSYNC masked interrupt status */
Anna Bridge 160:5571c4ff569f 280 #define DCMI_FLAG_LINEMI ((uint32_t)DCMI_MIS_INDEX|DCMI_MIS_LINE_MIS ) /*!< DCMI Line masked interrupt status */
Anna Bridge 160:5571c4ff569f 281 /**
Anna Bridge 160:5571c4ff569f 282 * @}
Anna Bridge 160:5571c4ff569f 283 */
Anna Bridge 160:5571c4ff569f 284
Anna Bridge 160:5571c4ff569f 285 /**
Anna Bridge 160:5571c4ff569f 286 * @}
Anna Bridge 160:5571c4ff569f 287 */
Anna Bridge 160:5571c4ff569f 288
Anna Bridge 160:5571c4ff569f 289 /* Exported macro ------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 290 /** @defgroup DCMI_Exported_Macros DCMI Exported Macros
Anna Bridge 160:5571c4ff569f 291 * @{
Anna Bridge 160:5571c4ff569f 292 */
Anna Bridge 160:5571c4ff569f 293
Anna Bridge 160:5571c4ff569f 294 /** @brief Reset DCMI handle state
Anna Bridge 160:5571c4ff569f 295 * @param __HANDLE__: specifies the DCMI handle.
Anna Bridge 160:5571c4ff569f 296 * @retval None
Anna Bridge 160:5571c4ff569f 297 */
Anna Bridge 160:5571c4ff569f 298 #define __HAL_DCMI_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DCMI_STATE_RESET)
Anna Bridge 160:5571c4ff569f 299
Anna Bridge 160:5571c4ff569f 300 /**
Anna Bridge 160:5571c4ff569f 301 * @brief Enable the DCMI.
Anna Bridge 160:5571c4ff569f 302 * @param __HANDLE__: DCMI handle
Anna Bridge 160:5571c4ff569f 303 * @retval None
Anna Bridge 160:5571c4ff569f 304 */
Anna Bridge 160:5571c4ff569f 305 #define __HAL_DCMI_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= DCMI_CR_ENABLE)
Anna Bridge 160:5571c4ff569f 306
Anna Bridge 160:5571c4ff569f 307 /**
Anna Bridge 160:5571c4ff569f 308 * @brief Disable the DCMI.
Anna Bridge 160:5571c4ff569f 309 * @param __HANDLE__: DCMI handle
Anna Bridge 160:5571c4ff569f 310 * @retval None
Anna Bridge 160:5571c4ff569f 311 */
Anna Bridge 160:5571c4ff569f 312 #define __HAL_DCMI_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(DCMI_CR_ENABLE))
Anna Bridge 160:5571c4ff569f 313
Anna Bridge 160:5571c4ff569f 314 /* Interrupt & Flag management */
Anna Bridge 160:5571c4ff569f 315 /**
Anna Bridge 160:5571c4ff569f 316 * @brief Get the DCMI pending flag.
Anna Bridge 160:5571c4ff569f 317 * @param __HANDLE__: DCMI handle
Anna Bridge 160:5571c4ff569f 318 * @param __FLAG__: Get the specified flag.
Anna Bridge 160:5571c4ff569f 319 * This parameter can be one of the following values (no combination allowed)
Anna Bridge 160:5571c4ff569f 320 * @arg DCMI_FLAG_HSYNC: HSYNC pin state (active line / synchronization between lines)
Anna Bridge 160:5571c4ff569f 321 * @arg DCMI_FLAG_VSYNC: VSYNC pin state (active frame / synchronization between frames)
Anna Bridge 160:5571c4ff569f 322 * @arg DCMI_FLAG_FNE: FIFO empty flag
Anna Bridge 160:5571c4ff569f 323 * @arg DCMI_FLAG_FRAMERI: Frame capture complete flag mask
Anna Bridge 160:5571c4ff569f 324 * @arg DCMI_FLAG_OVRRI: Overrun flag mask
Anna Bridge 160:5571c4ff569f 325 * @arg DCMI_FLAG_ERRRI: Synchronization error flag mask
Anna Bridge 160:5571c4ff569f 326 * @arg DCMI_FLAG_VSYNCRI: VSYNC flag mask
Anna Bridge 160:5571c4ff569f 327 * @arg DCMI_FLAG_LINERI: Line flag mask
Anna Bridge 160:5571c4ff569f 328 * @arg DCMI_FLAG_FRAMEMI: DCMI Capture complete masked interrupt status
Anna Bridge 160:5571c4ff569f 329 * @arg DCMI_FLAG_OVRMI: DCMI Overrun masked interrupt status
Anna Bridge 160:5571c4ff569f 330 * @arg DCMI_FLAG_ERRMI: DCMI Synchronization error masked interrupt status
Anna Bridge 160:5571c4ff569f 331 * @arg DCMI_FLAG_VSYNCMI: DCMI VSYNC masked interrupt status
Anna Bridge 160:5571c4ff569f 332 * @arg DCMI_FLAG_LINEMI: DCMI Line masked interrupt status
Anna Bridge 160:5571c4ff569f 333 * @retval The state of FLAG.
Anna Bridge 160:5571c4ff569f 334 */
Anna Bridge 160:5571c4ff569f 335 #define __HAL_DCMI_GET_FLAG(__HANDLE__, __FLAG__)\
Anna Bridge 160:5571c4ff569f 336 ((((__FLAG__) & (DCMI_SR_INDEX|DCMI_MIS_INDEX)) == 0x0U)? ((__HANDLE__)->Instance->RISR & (__FLAG__)) :\
Anna Bridge 160:5571c4ff569f 337 (((__FLAG__) & DCMI_SR_INDEX) == 0x0U)? ((__HANDLE__)->Instance->MISR & (__FLAG__)) : ((__HANDLE__)->Instance->SR & (__FLAG__)))
Anna Bridge 160:5571c4ff569f 338
Anna Bridge 160:5571c4ff569f 339 /**
Anna Bridge 160:5571c4ff569f 340 * @brief Clear the DCMI pending flags.
Anna Bridge 160:5571c4ff569f 341 * @param __HANDLE__: DCMI handle
Anna Bridge 160:5571c4ff569f 342 * @param __FLAG__: specifies the flag to clear.
Anna Bridge 160:5571c4ff569f 343 * This parameter can be any combination of the following values:
Anna Bridge 160:5571c4ff569f 344 * @arg DCMI_FLAG_FRAMERI: Frame capture complete flag mask
Anna Bridge 160:5571c4ff569f 345 * @arg DCMI_FLAG_OVRRI: Overrun flag mask
Anna Bridge 160:5571c4ff569f 346 * @arg DCMI_FLAG_ERRRI: Synchronization error flag mask
Anna Bridge 160:5571c4ff569f 347 * @arg DCMI_FLAG_VSYNCRI: VSYNC flag mask
Anna Bridge 160:5571c4ff569f 348 * @arg DCMI_FLAG_LINERI: Line flag mask
Anna Bridge 160:5571c4ff569f 349 * @retval None
Anna Bridge 160:5571c4ff569f 350 */
Anna Bridge 160:5571c4ff569f 351 #define __HAL_DCMI_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ICR = (__FLAG__))
Anna Bridge 160:5571c4ff569f 352
Anna Bridge 160:5571c4ff569f 353 /**
Anna Bridge 160:5571c4ff569f 354 * @brief Enable the specified DCMI interrupts.
Anna Bridge 160:5571c4ff569f 355 * @param __HANDLE__: DCMI handle
Anna Bridge 160:5571c4ff569f 356 * @param __INTERRUPT__: specifies the DCMI interrupt sources to be enabled.
Anna Bridge 160:5571c4ff569f 357 * This parameter can be any combination of the following values:
Anna Bridge 160:5571c4ff569f 358 * @arg DCMI_IT_FRAME: Frame capture complete interrupt mask
Anna Bridge 160:5571c4ff569f 359 * @arg DCMI_IT_OVR: Overrun interrupt mask
Anna Bridge 160:5571c4ff569f 360 * @arg DCMI_IT_ERR: Synchronization error interrupt mask
Anna Bridge 160:5571c4ff569f 361 * @arg DCMI_IT_VSYNC: VSYNC interrupt mask
Anna Bridge 160:5571c4ff569f 362 * @arg DCMI_IT_LINE: Line interrupt mask
Anna Bridge 160:5571c4ff569f 363 * @retval None
Anna Bridge 160:5571c4ff569f 364 */
Anna Bridge 160:5571c4ff569f 365 #define __HAL_DCMI_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER |= (__INTERRUPT__))
Anna Bridge 160:5571c4ff569f 366
Anna Bridge 160:5571c4ff569f 367 /**
Anna Bridge 160:5571c4ff569f 368 * @brief Disable the specified DCMI interrupts.
Anna Bridge 160:5571c4ff569f 369 * @param __HANDLE__: DCMI handle
Anna Bridge 160:5571c4ff569f 370 * @param __INTERRUPT__: specifies the DCMI interrupt sources to be enabled.
Anna Bridge 160:5571c4ff569f 371 * This parameter can be any combination of the following values:
Anna Bridge 160:5571c4ff569f 372 * @arg DCMI_IT_FRAME: Frame capture complete interrupt mask
Anna Bridge 160:5571c4ff569f 373 * @arg DCMI_IT_OVR: Overrun interrupt mask
Anna Bridge 160:5571c4ff569f 374 * @arg DCMI_IT_ERR: Synchronization error interrupt mask
Anna Bridge 160:5571c4ff569f 375 * @arg DCMI_IT_VSYNC: VSYNC interrupt mask
Anna Bridge 160:5571c4ff569f 376 * @arg DCMI_IT_LINE: Line interrupt mask
Anna Bridge 160:5571c4ff569f 377 * @retval None
Anna Bridge 160:5571c4ff569f 378 */
Anna Bridge 160:5571c4ff569f 379 #define __HAL_DCMI_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->IER &= ~(__INTERRUPT__))
Anna Bridge 160:5571c4ff569f 380
Anna Bridge 160:5571c4ff569f 381 /**
Anna Bridge 160:5571c4ff569f 382 * @brief Check whether the specified DCMI interrupt has occurred or not.
Anna Bridge 160:5571c4ff569f 383 * @param __HANDLE__: DCMI handle
Anna Bridge 160:5571c4ff569f 384 * @param __INTERRUPT__: specifies the DCMI interrupt source to check.
Anna Bridge 160:5571c4ff569f 385 * This parameter can be one of the following values:
Anna Bridge 160:5571c4ff569f 386 * @arg DCMI_IT_FRAME: Frame capture complete interrupt mask
Anna Bridge 160:5571c4ff569f 387 * @arg DCMI_IT_OVR: Overrun interrupt mask
Anna Bridge 160:5571c4ff569f 388 * @arg DCMI_IT_ERR: Synchronization error interrupt mask
Anna Bridge 160:5571c4ff569f 389 * @arg DCMI_IT_VSYNC: VSYNC interrupt mask
Anna Bridge 160:5571c4ff569f 390 * @arg DCMI_IT_LINE: Line interrupt mask
Anna Bridge 160:5571c4ff569f 391 * @retval The state of INTERRUPT.
Anna Bridge 160:5571c4ff569f 392 */
Anna Bridge 160:5571c4ff569f 393 #define __HAL_DCMI_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->MISR & (__INTERRUPT__))
Anna Bridge 160:5571c4ff569f 394
Anna Bridge 160:5571c4ff569f 395 /**
Anna Bridge 160:5571c4ff569f 396 * @}
Anna Bridge 160:5571c4ff569f 397 */
Anna Bridge 160:5571c4ff569f 398
Anna Bridge 160:5571c4ff569f 399 /* Exported functions --------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 400 /** @addtogroup DCMI_Exported_Functions DCMI Exported Functions
Anna Bridge 160:5571c4ff569f 401 * @{
Anna Bridge 160:5571c4ff569f 402 */
Anna Bridge 160:5571c4ff569f 403
Anna Bridge 160:5571c4ff569f 404 /** @addtogroup DCMI_Exported_Functions_Group1 Initialization and Configuration functions
Anna Bridge 160:5571c4ff569f 405 * @{
Anna Bridge 160:5571c4ff569f 406 */
Anna Bridge 160:5571c4ff569f 407 /* Initialization and de-initialization functions *****************************/
Anna Bridge 160:5571c4ff569f 408 HAL_StatusTypeDef HAL_DCMI_Init(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 409 HAL_StatusTypeDef HAL_DCMI_DeInit(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 410 void HAL_DCMI_MspInit(DCMI_HandleTypeDef* hdcmi);
Anna Bridge 160:5571c4ff569f 411 void HAL_DCMI_MspDeInit(DCMI_HandleTypeDef* hdcmi);
Anna Bridge 160:5571c4ff569f 412 /**
Anna Bridge 160:5571c4ff569f 413 * @}
Anna Bridge 160:5571c4ff569f 414 */
Anna Bridge 160:5571c4ff569f 415
Anna Bridge 160:5571c4ff569f 416 /** @addtogroup DCMI_Exported_Functions_Group2 IO operation functions
Anna Bridge 160:5571c4ff569f 417 * @{
Anna Bridge 160:5571c4ff569f 418 */
Anna Bridge 160:5571c4ff569f 419 /* IO operation functions *****************************************************/
Anna Bridge 160:5571c4ff569f 420 HAL_StatusTypeDef HAL_DCMI_Start_DMA(DCMI_HandleTypeDef* hdcmi, uint32_t DCMI_Mode, uint32_t pData, uint32_t Length);
Anna Bridge 160:5571c4ff569f 421 HAL_StatusTypeDef HAL_DCMI_Stop(DCMI_HandleTypeDef* hdcmi);
Anna Bridge 160:5571c4ff569f 422 HAL_StatusTypeDef HAL_DCMI_Suspend(DCMI_HandleTypeDef* hdcmi);
Anna Bridge 160:5571c4ff569f 423 HAL_StatusTypeDef HAL_DCMI_Resume(DCMI_HandleTypeDef* hdcmi);
Anna Bridge 160:5571c4ff569f 424 void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 425 void HAL_DCMI_LineEventCallback(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 426 void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 427 void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 428 void HAL_DCMI_VsyncCallback(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 429 void HAL_DCMI_HsyncCallback(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 430 void HAL_DCMI_IRQHandler(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 431 /**
Anna Bridge 160:5571c4ff569f 432 * @}
Anna Bridge 160:5571c4ff569f 433 */
Anna Bridge 160:5571c4ff569f 434
Anna Bridge 160:5571c4ff569f 435 /** @addtogroup DCMI_Exported_Functions_Group3 Peripheral Control functions
Anna Bridge 160:5571c4ff569f 436 * @{
Anna Bridge 160:5571c4ff569f 437 */
Anna Bridge 160:5571c4ff569f 438 /* Peripheral Control functions ***********************************************/
Anna Bridge 160:5571c4ff569f 439 HAL_StatusTypeDef HAL_DCMI_ConfigCrop(DCMI_HandleTypeDef *hdcmi, uint32_t X0, uint32_t Y0, uint32_t XSize, uint32_t YSize);
Anna Bridge 160:5571c4ff569f 440 HAL_StatusTypeDef HAL_DCMI_EnableCrop(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 441 HAL_StatusTypeDef HAL_DCMI_DisableCrop(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 442 /**
Anna Bridge 160:5571c4ff569f 443 * @}
Anna Bridge 160:5571c4ff569f 444 */
Anna Bridge 160:5571c4ff569f 445
Anna Bridge 160:5571c4ff569f 446 /** @addtogroup DCMI_Exported_Functions_Group4 Peripheral State functions
Anna Bridge 160:5571c4ff569f 447 * @{
Anna Bridge 160:5571c4ff569f 448 */
Anna Bridge 160:5571c4ff569f 449 /* Peripheral State functions *************************************************/
Anna Bridge 160:5571c4ff569f 450 HAL_DCMI_StateTypeDef HAL_DCMI_GetState(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 451 uint32_t HAL_DCMI_GetError(DCMI_HandleTypeDef *hdcmi);
Anna Bridge 160:5571c4ff569f 452 /**
Anna Bridge 160:5571c4ff569f 453 * @}
Anna Bridge 160:5571c4ff569f 454 */
Anna Bridge 160:5571c4ff569f 455
Anna Bridge 160:5571c4ff569f 456 /**
Anna Bridge 160:5571c4ff569f 457 * @}
Anna Bridge 160:5571c4ff569f 458 */
Anna Bridge 160:5571c4ff569f 459
Anna Bridge 160:5571c4ff569f 460 /* Private types -------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 461 /* Private variables ---------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 462 /* Private constants ---------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 463 /** @defgroup DCMI_Private_Constants DCMI Private Constants
Anna Bridge 160:5571c4ff569f 464 * @{
Anna Bridge 160:5571c4ff569f 465 */
Anna Bridge 160:5571c4ff569f 466 #define DCMI_MIS_INDEX 0x1000U /*!< DCMI MIS register index */
Anna Bridge 160:5571c4ff569f 467 #define DCMI_SR_INDEX 0x2000U /*!< DCMI SR register index */
Anna Bridge 160:5571c4ff569f 468 /**
Anna Bridge 160:5571c4ff569f 469 * @}
Anna Bridge 160:5571c4ff569f 470 */
Anna Bridge 160:5571c4ff569f 471 /* Private macro -------------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 472 /** @defgroup DCMI_Private_Macros DCMI Private Macros
Anna Bridge 160:5571c4ff569f 473 * @{
Anna Bridge 160:5571c4ff569f 474 */
Anna Bridge 160:5571c4ff569f 475 #define IS_DCMI_CAPTURE_MODE(MODE)(((MODE) == DCMI_MODE_CONTINUOUS) || \
Anna Bridge 160:5571c4ff569f 476 ((MODE) == DCMI_MODE_SNAPSHOT))
Anna Bridge 160:5571c4ff569f 477
Anna Bridge 160:5571c4ff569f 478 #define IS_DCMI_SYNCHRO(MODE)(((MODE) == DCMI_SYNCHRO_HARDWARE) || \
Anna Bridge 160:5571c4ff569f 479 ((MODE) == DCMI_SYNCHRO_EMBEDDED))
Anna Bridge 160:5571c4ff569f 480
Anna Bridge 160:5571c4ff569f 481 #define IS_DCMI_PCKPOLARITY(POLARITY)(((POLARITY) == DCMI_PCKPOLARITY_FALLING) || \
Anna Bridge 160:5571c4ff569f 482 ((POLARITY) == DCMI_PCKPOLARITY_RISING))
Anna Bridge 160:5571c4ff569f 483
Anna Bridge 160:5571c4ff569f 484 #define IS_DCMI_VSPOLARITY(POLARITY)(((POLARITY) == DCMI_VSPOLARITY_LOW) || \
Anna Bridge 160:5571c4ff569f 485 ((POLARITY) == DCMI_VSPOLARITY_HIGH))
Anna Bridge 160:5571c4ff569f 486
Anna Bridge 160:5571c4ff569f 487 #define IS_DCMI_HSPOLARITY(POLARITY)(((POLARITY) == DCMI_HSPOLARITY_LOW) || \
Anna Bridge 160:5571c4ff569f 488 ((POLARITY) == DCMI_HSPOLARITY_HIGH))
Anna Bridge 160:5571c4ff569f 489
Anna Bridge 160:5571c4ff569f 490 #define IS_DCMI_MODE_JPEG(JPEG_MODE)(((JPEG_MODE) == DCMI_JPEG_DISABLE) || \
Anna Bridge 160:5571c4ff569f 491 ((JPEG_MODE) == DCMI_JPEG_ENABLE))
Anna Bridge 160:5571c4ff569f 492
Anna Bridge 160:5571c4ff569f 493 #define IS_DCMI_CAPTURE_RATE(RATE) (((RATE) == DCMI_CR_ALL_FRAME) || \
Anna Bridge 160:5571c4ff569f 494 ((RATE) == DCMI_CR_ALTERNATE_2_FRAME) || \
Anna Bridge 160:5571c4ff569f 495 ((RATE) == DCMI_CR_ALTERNATE_4_FRAME))
Anna Bridge 160:5571c4ff569f 496
Anna Bridge 160:5571c4ff569f 497 #define IS_DCMI_EXTENDED_DATA(DATA)(((DATA) == DCMI_EXTEND_DATA_8B) || \
Anna Bridge 160:5571c4ff569f 498 ((DATA) == DCMI_EXTEND_DATA_10B) || \
Anna Bridge 160:5571c4ff569f 499 ((DATA) == DCMI_EXTEND_DATA_12B) || \
Anna Bridge 160:5571c4ff569f 500 ((DATA) == DCMI_EXTEND_DATA_14B))
Anna Bridge 160:5571c4ff569f 501
Anna Bridge 160:5571c4ff569f 502 #define IS_DCMI_WINDOW_COORDINATE(COORDINATE) ((COORDINATE) <= DCMI_WINDOW_COORDINATE)
Anna Bridge 160:5571c4ff569f 503
Anna Bridge 160:5571c4ff569f 504 #define IS_DCMI_WINDOW_HEIGHT(HEIGHT) ((HEIGHT) <= DCMI_WINDOW_HEIGHT)
Anna Bridge 160:5571c4ff569f 505
Anna Bridge 160:5571c4ff569f 506 /**
Anna Bridge 160:5571c4ff569f 507 * @}
Anna Bridge 160:5571c4ff569f 508 */
Anna Bridge 160:5571c4ff569f 509
Anna Bridge 160:5571c4ff569f 510 /* Private functions ---------------------------------------------------------*/
Anna Bridge 160:5571c4ff569f 511 /** @addtogroup DCMI_Private_Functions DCMI Private Functions
Anna Bridge 160:5571c4ff569f 512 * @{
Anna Bridge 160:5571c4ff569f 513 */
Anna Bridge 160:5571c4ff569f 514
Anna Bridge 160:5571c4ff569f 515 /**
Anna Bridge 160:5571c4ff569f 516 * @}
Anna Bridge 160:5571c4ff569f 517 */
Anna Bridge 160:5571c4ff569f 518
Anna Bridge 160:5571c4ff569f 519 #endif /* STM32F407xx || STM32F417xx || STM32F427xx || STM32F437xx ||\
Anna Bridge 160:5571c4ff569f 520 STM32F429xx || STM32F439xx || STM32F446xx || STM32F469xx ||\
Anna Bridge 160:5571c4ff569f 521 STM32F479xx */
Anna Bridge 160:5571c4ff569f 522
Anna Bridge 160:5571c4ff569f 523 /**
Anna Bridge 160:5571c4ff569f 524 * @}
Anna Bridge 160:5571c4ff569f 525 */
Anna Bridge 160:5571c4ff569f 526
Anna Bridge 160:5571c4ff569f 527 /**
Anna Bridge 160:5571c4ff569f 528 * @}
Anna Bridge 160:5571c4ff569f 529 */
Anna Bridge 160:5571c4ff569f 530
Anna Bridge 160:5571c4ff569f 531 #ifdef __cplusplus
Anna Bridge 160:5571c4ff569f 532 }
Anna Bridge 160:5571c4ff569f 533 #endif
Anna Bridge 160:5571c4ff569f 534
Anna Bridge 160:5571c4ff569f 535 #endif /* __STM32F4xx_HAL_DCMI_H */
Anna Bridge 160:5571c4ff569f 536
Anna Bridge 160:5571c4ff569f 537 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/