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:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

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