ST / BSP_DISCO_L496AG

Dependents:   DISCO_L496AG-LCD-prova_1 DISCO_L496AG-LCD-prova_2 DISCO_L496AG-LCD-demo DISCO_L496AG-SRAM-demo

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers stm32l496g_discovery.h Source File

stm32l496g_discovery.h

Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32l496g_discovery.h
00004   * @author  MCD Application Team
00005   * @brief   This file contains definitions for STM32L496G_DISCOVERY's LEDs,
00006   *          push-buttons hardware resources (MB1261).
00007   ******************************************************************************
00008   * @attention
00009   *
00010   * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
00011   * All rights reserved.</center></h2>
00012   *
00013   * This software component is licensed by ST under BSD 3-Clause license,
00014   * the "License"; You may not use this file except in compliance with the
00015   * License. You may obtain a copy of the License at:
00016   *                        opensource.org/licenses/BSD-3-Clause
00017   *
00018   ******************************************************************************
00019   */
00020 
00021 /* Define to prevent recursive inclusion -------------------------------------*/
00022 #ifndef __STM32L496G_DISCOVERY_H
00023 #define __STM32L496G_DISCOVERY_H
00024 
00025 #ifdef __cplusplus
00026 extern "C" {
00027 #endif
00028 
00029 /**
00030   * @brief  Define for STM32L496G_DISCOVERY board
00031   */
00032 
00033 
00034 
00035 /* Includes ------------------------------------------------------------------*/
00036 #include "stm32l4xx_hal.h"
00037 
00038 /** @addtogroup BSP
00039   * @{
00040   */
00041 
00042 /** @addtogroup STM32L496G_DISCOVERY
00043   * @{
00044   */
00045 
00046 /** @addtogroup STM32L496G_DISCOVERY_Common
00047   * @{
00048   */
00049 
00050 /** @defgroup STM32L496G_DISCOVERY_Exported_Types Exported Types
00051   * @{
00052   */
00053 
00054 /**
00055  * @brief LED Types Definition
00056  */
00057 typedef enum
00058 {
00059   DISCO_LED1 = 0, // Changed for MBED
00060   DISCO_LED2 = 1, // Changed for MBED
00061   LED_ORANGE = DISCO_LED1,
00062   LED_GREEN  = DISCO_LED2
00063 }
00064 Led_TypeDef;
00065 
00066 
00067 /**
00068  * @brief JOYSTICK Types Definition
00069  */
00070 typedef enum
00071 {
00072   JOY_SEL   = 0,
00073   JOY_LEFT  = 1,
00074   JOY_RIGHT = 2,
00075   JOY_DOWN  = 3,
00076   JOY_UP    = 4,
00077   JOY_NONE  = 5
00078 } JOYState_TypeDef;
00079 
00080 typedef enum
00081 {
00082   JOY_MODE_GPIO = 0,
00083   JOY_MODE_EXTI = 1
00084 } JOYMode_TypeDef;
00085 
00086 typedef enum 
00087 {
00088   COM1 = 0
00089 } COM_TypeDef;
00090 
00091 /**
00092  * @brief LCD constroller Types Definition
00093  */
00094 typedef struct
00095 {
00096   __IO uint16_t REG;
00097   __IO uint16_t RAM;
00098 } LCD_CONTROLLER_TypeDef;
00099 
00100 /**
00101   * @}
00102   */
00103 
00104 /** @defgroup STM32L496G_DISCOVERY_Exported_Constants Exported Constants
00105   * @{
00106   */
00107 
00108 /** @defgroup STM32L496G_DISCOVERY_FMC FMC LCD Constants
00109   * @{
00110   */
00111 /* We use BANK1 as we use FMC_NE1 signal */
00112 #define FMC_BANK1_BASE  ((uint32_t)(0x60000000 | 0x00000000))
00113 #define FMC_LCD_BASE    ((uint32_t)(0x60000000 | 0x00080000))  /*using A18*/
00114 #define FMC_BANK1_ADDR  ((LCD_CONTROLLER_TypeDef *) FMC_BANK1_BASE)
00115 #define LCD_ADDR        ((LCD_CONTROLLER_TypeDef *) FMC_LCD_BASE)
00116 
00117 /**
00118   * @}
00119   */
00120 
00121 /** @defgroup STM32L496G_DISCOVERY_LED LED Constants
00122   * @{
00123   */
00124 /* To do: invert LED1 and LED2 */
00125 #define LEDn                              2
00126 
00127 /* LED1 is accessed thru the MFX */
00128 #define LED1_PIN                          IO1_PIN_4
00129 
00130 #define LED2_PIN                          GPIO_PIN_13
00131 #define LED2_GPIO_PORT                    GPIOB
00132 #define LED2_GPIO_CLK_ENABLE()            __HAL_RCC_GPIOB_CLK_ENABLE()
00133 #define LED2_GPIO_CLK_DISABLE()           __HAL_RCC_GPIOB_CLK_DISABLE()
00134 
00135 
00136 /**
00137   * @}
00138   */
00139 
00140 /** @defgroup STM32L496G_DISCOVERY_BUTTON  BUTTON Constants
00141   * @{
00142   */
00143 #define JOYn                              5
00144 
00145 /**
00146 * @brief Joystick Right push-button
00147 */
00148 #define RIGHT_JOY_PIN                     GPIO_PIN_11  /* PF.11 */
00149 #define RIGHT_JOY_GPIO_PORT               GPIOF
00150 #define RIGHT_JOY_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOF_CLK_ENABLE()
00151 #define RIGHT_JOY_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOF_CLK_DISABLE()
00152 #define RIGHT_JOY_EXTI_IRQn               EXTI15_10_IRQn
00153 
00154 /**
00155 * @brief Joystick Left push-button
00156 */
00157 #define LEFT_JOY_PIN                      GPIO_PIN_9  /* PI.09 */
00158 #define LEFT_JOY_GPIO_PORT                GPIOI
00159 #define LEFT_JOY_GPIO_CLK_ENABLE()        __HAL_RCC_GPIOI_CLK_ENABLE()
00160 #define LEFT_JOY_GPIO_CLK_DISABLE()       __HAL_RCC_GPIOI_CLK_DISABLE()
00161 #define LEFT_JOY_EXTI_IRQn                EXTI9_5_IRQn
00162 
00163 /**
00164 * @brief Joystick Up push-button
00165 */
00166 #define UP_JOY_PIN                        GPIO_PIN_8  /* PI.08 */
00167 #define UP_JOY_GPIO_PORT                  GPIOI
00168 #define UP_JOY_GPIO_CLK_ENABLE()          __HAL_RCC_GPIOI_CLK_ENABLE()
00169 #define UP_JOY_GPIO_CLK_DISABLE()         __HAL_RCC_GPIOI_CLK_DISABLE()
00170 #define UP_JOY_EXTI_IRQn                  EXTI9_5_IRQn
00171 
00172 /**
00173  * @brief Joystick Down push-button
00174  */
00175 #define DOWN_JOY_PIN                      GPIO_PIN_10   /* PI.10 */
00176 #define DOWN_JOY_GPIO_PORT                GPIOI
00177 #define DOWN_JOY_GPIO_CLK_ENABLE()        __HAL_RCC_GPIOI_CLK_ENABLE()
00178 #define DOWN_JOY_GPIO_CLK_DISABLE()       __HAL_RCC_GPIOI_CLK_DISABLE()
00179 #define DOWN_JOY_EXTI_IRQn                EXTI15_10_IRQn
00180 
00181 /**
00182  * @brief Joystick Sel push-button
00183  */
00184 #define SEL_JOY_PIN                       GPIO_PIN_13   /* PC.13 */
00185 #define SEL_JOY_GPIO_PORT                 GPIOC
00186 #define SEL_JOY_GPIO_CLK_ENABLE()         __HAL_RCC_GPIOC_CLK_ENABLE()
00187 #define SEL_JOY_GPIO_CLK_DISABLE()        __HAL_RCC_GPIOC_CLK_DISABLE()
00188 #define SEL_JOY_EXTI_IRQn                 EXTI15_10_IRQn
00189 
00190 #define JOYx_GPIO_CLK_ENABLE(__JOY__)     do { if((__JOY__) == JOY_SEL)   { SEL_JOY_GPIO_CLK_ENABLE();   } else \
00191                                                if((__JOY__) == JOY_DOWN)  { DOWN_JOY_GPIO_CLK_ENABLE();  } else \
00192                                                if((__JOY__) == JOY_LEFT)  { LEFT_JOY_GPIO_CLK_ENABLE();  } else \
00193                                                if((__JOY__) == JOY_RIGHT) { RIGHT_JOY_GPIO_CLK_ENABLE(); } else \
00194                                                if((__JOY__) == JOY_UP)    { UP_JOY_GPIO_CLK_ENABLE(); }  } while(0)
00195 
00196 #define JOYx_GPIO_CLK_DISABLE(__JOY__)    do { if((__JOY__) == JOY_SEL)   { SEL_JOY_GPIO_CLK_DISABLE();   } else \
00197                                                if((__JOY__) == JOY_DOWN)  { DOWN_JOY_GPIO_CLK_DISABLE();  } else \
00198                                                if((__JOY__) == JOY_LEFT)  { LEFT_JOY_GPIO_CLK_DISABLE();  } else \
00199                                                if((__JOY__) == JOY_RIGHT) { RIGHT_JOY_GPIO_CLK_DISABLE(); } else \
00200                                                if((__JOY__) == JOY_UP)    { UP_JOY_GPIO_CLK_DISABLE(); }  } while(0)
00201 
00202 #define JOY_ALL_PINS                      (RIGHT_JOY_PIN | LEFT_JOY_PIN | UP_JOY_PIN | DOWN_JOY_PIN | SEL_JOY_PIN)
00203 
00204 /**
00205   * @}
00206   */
00207 
00208 /** @defgroup STM32L4R9I_DISCOVERY_COM COM Constants
00209   * @{
00210   */
00211 #define COMn                                    1
00212 
00213 /**
00214  * @brief Definition for COM port1, connected to USART2 (ST-Link USB Virtual Com Port)
00215  */ 
00216 #define DISCOVERY_COM1                          USART2
00217 #define DISCOVERY_COM1_CLK_ENABLE()             __HAL_RCC_USART2_CLK_ENABLE()
00218 #define DISCOVERY_COM1_CLK_DISABLE()            __HAL_RCC_USART2_CLK_DISABLE()
00219 
00220 #define DISCOVERY_COM1_TX_PIN                   GPIO_PIN_2
00221 #define DISCOVERY_COM1_TX_GPIO_PORT             GPIOA
00222 #define DISCOVERY_COM1_TX_GPIO_CLK_ENABLE()     __HAL_RCC_GPIOA_CLK_ENABLE()   
00223 #define DISCOVERY_COM1_TX_GPIO_CLK_DISABLE()    __HAL_RCC_GPIOA_CLK_DISABLE()  
00224 #define DISCOVERY_COM1_TX_AF                    GPIO_AF7_USART2
00225 
00226 #define DISCOVERY_COM1_RX_PIN                   GPIO_PIN_6
00227 #define DISCOVERY_COM1_RX_GPIO_PORT             GPIOD
00228 #define DISCOVERY_COM1_RX_GPIO_CLK_ENABLE()     __HAL_RCC_GPIOD_CLK_ENABLE()   
00229 #define DISCOVERY_COM1_RX_GPIO_CLK_DISABLE()    __HAL_RCC_GPIOD_CLK_DISABLE()  
00230 #define DISCOVERY_COM1_RX_AF                    GPIO_AF7_USART2
00231 
00232 #define DISCOVERY_COM1_IRQn                     USART2_IRQn
00233                                               
00234 
00235 #define DISCOVERY_COMx_CLK_ENABLE(__INDEX__)            do { if((__INDEX__) == COM1) {DISCOVERY_COM1_CLK_ENABLE();}} while(0)
00236 #define DISCOVERY_COMx_CLK_DISABLE(__INDEX__)           do { if((__INDEX__) == COM1) {DISCOVERY_COM1_CLK_DISABLE();}} while(0)
00237 
00238 #define DISCOVERY_COMx_TX_GPIO_CLK_ENABLE(__INDEX__)    do { if((__INDEX__) == COM1) {DISCOVERY_COM1_TX_GPIO_CLK_ENABLE();}} while(0)
00239 #define DISCOVERY_COMx_TX_GPIO_CLK_DISABLE(__INDEX__)   do { if((__INDEX__) == COM1) {DISCOVERY_COM1_TX_GPIO_CLK_DISABLE();}} while(0)
00240 
00241 #define DISCOVERY_COMx_RX_GPIO_CLK_ENABLE(__INDEX__)    do { if((__INDEX__) == COM1) {DISCOVERY_COM1_RX_GPIO_CLK_ENABLE();}} while(0)
00242 #define DISCOVERY_COMx_RX_GPIO_CLK_DISABLE(__INDEX__)   do { if((__INDEX__) == COM1) {DISCOVERY_COM1_RX_GPIO_CLK_DISABLE();}} while(0)
00243 
00244 /**
00245   * @}
00246   */
00247 
00248 /** @defgroup STM32L496G_DISCOVERY_BUS  BUS Constants
00249   * @{
00250   */
00251 
00252 #if defined(HAL_I2C_MODULE_ENABLED)
00253 /*##################### I2C1 ###################################*/
00254 /* User can use this section to tailor I2C1 instance used and associated
00255    resources */
00256 /* Definition for I2C1 Pins */
00257 #define DISCOVERY_I2C1_SCL_GPIO_PORT            GPIOG
00258 #define DISCOVERY_I2C1_SDA_GPIO_PORT            GPIOG
00259 #define DISCOVERY_I2C1_SCL_PIN                  GPIO_PIN_14
00260 #define DISCOVERY_I2C1_SDA_PIN                  GPIO_PIN_13
00261 
00262 #define DISCOVERY_I2C1_SCL_SDA_AF               GPIO_AF4_I2C1
00263 
00264 /* Definition for I2C1 clock resources */
00265 #define DISCOVERY_I2C1                          I2C1
00266 #define DISCOVERY_I2C1_CLK_ENABLE()             __HAL_RCC_I2C1_CLK_ENABLE()
00267 #define DISCOVERY_I2C1_CLK_DISABLE()            __HAL_RCC_I2C1_CLK_DISABLE()
00268 #define DISCOVERY_I2C1_SDA_GPIO_CLK_ENABLE()    __HAL_RCC_GPIOG_CLK_ENABLE()
00269 #define DISCOVERY_I2C1_SCL_GPIO_CLK_ENABLE()    __HAL_RCC_GPIOG_CLK_ENABLE()
00270 #define DISCOVERY_I2C1_SDA_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOG_CLK_DISABLE()
00271 #define DISCOVERY_I2C1_SCL_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOG_CLK_DISABLE()
00272 #define DISCOVERY_I2C1_FORCE_RESET()            __HAL_RCC_I2C1_FORCE_RESET()
00273 #define DISCOVERY_I2C1_RELEASE_RESET()          __HAL_RCC_I2C1_RELEASE_RESET()
00274 
00275 /* Definition for I2C1's NVIC */
00276 #define DISCOVERY_I2C1_EV_IRQn                  I2C1_EV_IRQn
00277 #define DISCOVERY_I2C1_EV_IRQHandler            I2C1_EV_IRQHandler
00278 #define DISCOVERY_I2C1_ER_IRQn                  I2C1_ER_IRQn
00279 #define DISCOVERY_I2C1_ER_IRQHandler            I2C1_ER_IRQHandler
00280 
00281 /* I2C TIMING Register define when I2C clock source is SYSCLK */
00282 /* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 80 MHz */
00283 /* Set 0x90112626 value to reach 100 KHz speed (Rise time = 640ns, Fall time = 20ns) */
00284 #ifndef DISCOVERY_I2C1_TIMING
00285 #define DISCOVERY_I2C1_TIMING                  0x90D00e28/* 0x90112626*/
00286 #endif /* DISCOVERY_I2C1_TIMING */
00287 
00288 /* I2C clock speed configuration (in Hz)
00289    WARNING:
00290    Make sure that this define is not already declared in other files (ie.
00291    stm324xg_discovery.h file). It can be used in parallel by other modules. */
00292 #ifndef BSP_I2C_SPEED
00293 #define BSP_I2C_SPEED                              100000
00294 #endif /* BSP_I2C_SPEED */
00295 
00296 /* Maximum Timeout values for flags waiting loops. These timeouts are not based
00297    on accurate values, they just guarantee that the application will not remain
00298    stuck if the I2C communication is corrupted.
00299    You may modify these timeout values depending on CPU frequency and application
00300    conditions (interrupts routines ...). */
00301 #define DISCOVERY_I2C1_TIMEOUT_MAX              3000
00302 
00303 
00304 /*##################### I2C2 ###################################*/
00305 /* User can use this section to tailor I2C2 instance used and associated
00306    resources */
00307 /* Definition for I2C2 Pins */
00308 #define DISCOVERY_I2C2_SCL_PIN                  GPIO_PIN_4
00309 #define DISCOVERY_I2C2_SCL_GPIO_PORT            GPIOH
00310 #define DISCOVERY_I2C2_SDA_PIN                  GPIO_PIN_14
00311 #define DISCOVERY_I2C2_SDA_GPIO_PORT            GPIOB
00312 #define DISCOVERY_I2C2_SCL_SDA_AF               GPIO_AF4_I2C2
00313 /* Definition for I2C2 clock resources */
00314 #define DISCOVERY_I2C2                          I2C2
00315 #define DISCOVERY_I2C2_CLK_ENABLE()             __HAL_RCC_I2C2_CLK_ENABLE()
00316 #define DISCOVERY_I2C2_CLK_DISABLE()            __HAL_RCC_I2C2_CLK_DISABLE()
00317 #define DISCOVERY_I2C2_SDA_GPIO_CLK_ENABLE()    __HAL_RCC_GPIOB_CLK_ENABLE()
00318 #define DISCOVERY_I2C2_SCL_GPIO_CLK_ENABLE()    __HAL_RCC_GPIOH_CLK_ENABLE()
00319 #define DISCOVERY_I2C2_SDA_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOB_CLK_DISABLE()
00320 #define DISCOVERY_I2C2_SCL_GPIO_CLK_DISABLE()   __HAL_RCC_GPIOH_CLK_DISABLE()
00321 #define DISCOVERY_I2C2_FORCE_RESET()            __HAL_RCC_I2C2_FORCE_RESET()
00322 #define DISCOVERY_I2C2_RELEASE_RESET()          __HAL_RCC_I2C2_RELEASE_RESET()
00323 
00324 /* Definition for I2C2's NVIC */
00325 #define DISCOVERY_I2C2_EV_IRQn                  I2C2_EV_IRQn
00326 #define DISCOVERY_I2C2_ER_IRQn                  I2C2_ER_IRQn
00327 
00328 /* I2C TIMING Register define when I2C clock source is SYSCLK */
00329 /* I2C TIMING is calculated in case of the I2C Clock source is the SYSCLK = 80 MHz */
00330 /* Set 0x90112626 value to reach 100 KHz speed (Rise time = 25ns, Fall time = 10ns) */
00331 #ifndef DISCOVERY_I2C2_TIMING
00332 #define DISCOVERY_I2C2_TIMING         0x40403E5D
00333 #endif /* DISCOVERY_I2C2_TIMING */
00334 
00335 #define IDD_I2C_ADDRESS                  ((uint16_t) 0x84)
00336 #define IO1_I2C_ADDRESS                  ((uint16_t) 0x84)
00337 #define AUDIO_I2C_ADDRESS                ((uint16_t) 0x94)
00338 #define TS_I2C_ADDRESS                   ((uint16_t) 0x70)
00339 #define CAMERA_I2C_ADDRESS               ((uint16_t) 0x60)
00340 
00341 /* Maximum Timeout values for flags waiting loops. These timeouts are not based
00342    on accurate values, they just guarantee that the application will not remain
00343    stuck if the I2C communication is corrupted.
00344    You may modify these timeout values depending on CPU frequency and application
00345    conditions (interrupts routines ...). */
00346 #define DISCOVERY_I2C2_TIMEOUT_MAX              3000
00347 
00348 
00349 #ifndef DISCOVERY_I2C_TIMING
00350 #define DISCOVERY_I2C_TIMING                 /*0x90D00e28*/ 0x90112626
00351 #endif /* DISCOVERY_I2C2_TIMING */
00352 
00353 /* Written here after to enable compilation only, to be thoroughly reviewed */
00354 
00355 /* Definition for AUDIO I2Cx resources */
00356 #define DISCOVERY_AUDIO_I2Cx                             I2C1
00357 #define DISCOVERY_AUDIO_I2Cx_CLK_ENABLE()                __HAL_RCC_I2C1_CLK_ENABLE()
00358 #define DISCOVERY_AUDIO_DMAx_CLK_ENABLE()                __HAL_RCC_DMA1_CLK_ENABLE()
00359 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_CLK_ENABLE()   __HAL_RCC_GPIOB_CLK_ENABLE()
00360 
00361 #define DISCOVERY_AUDIO_I2Cx_FORCE_RESET()               __HAL_RCC_I2C1_FORCE_RESET()
00362 #define DISCOVERY_AUDIO_I2Cx_RELEASE_RESET()             __HAL_RCC_I2C1_RELEASE_RESET()
00363 
00364 /* Definition for I2Cx Pins */
00365 #define DISCOVERY_AUDIO_I2Cx_SCL_PIN                     GPIO_PIN_6
00366 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_PORT           GPIOB
00367 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_AF                  GPIO_AF4_I2C1
00368 #define DISCOVERY_AUDIO_I2Cx_SDA_PIN                     GPIO_PIN_7
00369 
00370 /* I2C interrupt requests */
00371 #define DISCOVERY_AUDIO_I2Cx_EV_IRQn                     I2C1_EV_IRQn
00372 #define DISCOVERY_AUDIO_I2Cx_ER_IRQn                     I2C1_ER_IRQn
00373 
00374 
00375 /* Definition for TS (Capacitive Touch Panel) I2Cx resources */
00376 #define DISCOVERY_TS_I2Cx                             I2C2
00377 #define DISCOVERY_TS_I2Cx_CLK_ENABLE()                __HAL_RCC_I2C2_CLK_ENABLE()
00378 #define DISCOVERY_TS_DMAx_CLK_ENABLE()                __HAL_RCC_DMA1_CLK_ENABLE()
00379 #define DISCOVERY_TS_I2Cx_SDA_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOB_CLK_ENABLE()
00380 #define DISCOVERY_TS_I2Cx_SDA_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOB_CLK_DISABLE()
00381 #define DISCOVERY_TS_I2Cx_SCL_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOH_CLK_ENABLE()
00382 #define DISCOVERY_TS_I2Cx_SCL_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOH_CLK_DISABLE()
00383 
00384 #define DISCOVERY_TS_I2Cx_FORCE_RESET()               __HAL_RCC_I2C2_FORCE_RESET()
00385 #define DISCOVERY_TS_I2Cx_RELEASE_RESET()             __HAL_RCC_I2C2_RELEASE_RESET()
00386 
00387 /* Definition for I2Cx Pins */
00388 #define DISCOVERY_TS_I2Cx_SCL_PIN                     GPIO_PIN_4
00389 #define DISCOVERY_TS_I2Cx_SCL_GPIO_PORT               GPIOH
00390 #define DISCOVERY_TS_I2Cx_SDA_PIN                     GPIO_PIN_14
00391 #define DISCOVERY_TS_I2Cx_SDA_GPIO_PORT               GPIOB
00392 #define DISCOVERY_TS_I2Cx_SCL_SDA_AF                  GPIO_AF4_I2C2
00393 
00394 /* I2C interrupt requests */
00395 #define DISCOVERY_TS_I2Cx_EV_IRQn                     I2C2_EV_IRQn
00396 #define DISCOVERY_TS_I2Cx_ER_IRQn                     I2C2_ER_IRQn
00397 
00398 /* I2C clock setting */
00399 #define DISCOVERY_TS_RCC_PERIPHCLK_I2C               RCC_PERIPHCLK_I2C2
00400 #define DISCOVERY_TS_RCC_CLKSOURCE_I2C               RCC_I2C2CLKSOURCE_SYSCLK
00401 
00402 
00403 
00404 /* Definition for Camera I2Cx resources */
00405 #define DISCOVERY_CAMERA_I2Cx                             I2C2
00406 #define DISCOVERY_CAMERA_I2Cx_CLK_ENABLE()                __HAL_RCC_I2C2_CLK_ENABLE()
00407 #define DISCOVERY_CAMERA_DMAx_CLK_ENABLE()                __HAL_RCC_DMA1_CLK_ENABLE()
00408 #define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOB_CLK_ENABLE()
00409 #define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOB_CLK_DISABLE()
00410 #define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_CLK_ENABLE()       __HAL_RCC_GPIOH_CLK_ENABLE()
00411 #define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_CLK_DISABLE()      __HAL_RCC_GPIOH_CLK_DISABLE()
00412 
00413 #define DISCOVERY_CAMERA_I2Cx_FORCE_RESET()               __HAL_RCC_I2C2_FORCE_RESET()
00414 #define DISCOVERY_CAMERA_I2Cx_RELEASE_RESET()             __HAL_RCC_I2C2_RELEASE_RESET()
00415 
00416 /* Definition for I2Cx Pins */
00417 #define DISCOVERY_CAMERA_I2Cx_SCL_PIN                     GPIO_PIN_4
00418 #define DISCOVERY_CAMERA_I2Cx_SCL_GPIO_PORT               GPIOH
00419 #define DISCOVERY_CAMERA_I2Cx_SDA_PIN                     GPIO_PIN_14
00420 #define DISCOVERY_CAMERA_I2Cx_SDA_GPIO_PORT               GPIOB
00421 #define DISCOVERY_CAMERA_I2Cx_SCL_SDA_AF                  GPIO_AF4_I2C2
00422 
00423 /* I2C interrupt requests */
00424 #define DISCOVERY_CAMERA_I2Cx_EV_IRQn                     I2C2_EV_IRQn
00425 #define DISCOVERY_CAMERA_I2Cx_ER_IRQn                     I2C2_ER_IRQn
00426 
00427 /* I2C clock setting */
00428 #define DISCOVERY_CAMERA_RCC_PERIPHCLK_I2C               RCC_PERIPHCLK_I2C2
00429 #define DISCOVERY_CAMERA_RCC_CLKSOURCE_I2C               RCC_I2C2CLKSOURCE_SYSCLK
00430 
00431 
00432 
00433 
00434 
00435 /* Definition for external, camera and Arduino connector I2Cx resources */  /* to be reviewed */
00436 #define DISCOVERY_EXT_I2Cx                               I2C2
00437 #define DISCOVERY_EXT_I2Cx_CLK_ENABLE()                  __HAL_RCC_I2C2_CLK_ENABLE()
00438 #define DISCOVERY_EXT_DMAx_CLK_ENABLE()                  __HAL_RCC_DMA1_CLK_ENABLE()
00439 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_CLK_ENABLE()     __HAL_RCC_GPIOB_CLK_ENABLE()
00440 
00441 #define DISCOVERY_EXT_I2Cx_FORCE_RESET()                 __HAL_RCC_I2C2_FORCE_RESET()
00442 #define DISCOVERY_EXT_I2Cx_RELEASE_RESET()               __HAL_RCC_I2C2_RELEASE_RESET()
00443 
00444 /* Definition for I2Cx Pins */
00445 #define DISCOVERY_EXT_I2Cx_SCL_PIN                       GPIO_PIN_10
00446 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_PORT             GPIOB
00447 #define DISCOVERY_EXT_I2Cx_SCL_AF                        GPIO_AF4_I2C2
00448 #define DISCOVERY_EXT_I2Cx_SDA_AF                        GPIO_AF4_I2C2
00449 #define DISCOVERY_EXT_I2Cx_SDA_PIN                       GPIO_PIN_9
00450 
00451 /* I2C interrupt requests */
00452 #define DISCOVERY_EXT_I2Cx_EV_IRQn                       I2C2_EV_IRQn
00453 #define DISCOVERY_EXT_I2Cx_ER_IRQn                       I2C2_ER_IRQn
00454 
00455 #ifndef DISCOVERY_I2C_SPEED
00456 #define DISCOVERY_I2C_SPEED                             100000
00457 #endif /* DISCOVERY_I2C_SPEED */
00458 
00459 
00460 #endif /* HAL_I2C_MODULE_ENABLED */
00461 
00462 
00463 
00464 /*##################### Audio Codec ##########################*/
00465 /**
00466   * @brief  Audio codec chip reset definition
00467   */
00468 /* Audio codec power on/off macro definition */
00469 #define CODEC_AUDIO_POWER_OFF()      HAL_GPIO_WritePin(AUDIO_RESET_GPIO, AUDIO_RESET_PIN, GPIO_PIN_RESET)
00470 #define CODEC_AUDIO_POWER_ON()       HAL_GPIO_WritePin(AUDIO_RESET_GPIO, AUDIO_RESET_PIN, GPIO_PIN_SET)
00471 
00472 /* Audio Reset Pin definition */
00473 #define AUDIO_RESET_GPIO_CLK_ENABLE()           __HAL_RCC_GPIOC_CLK_ENABLE()
00474 #define AUDIO_RESET_GPIO_CLK_DISABLE()          __HAL_RCC_GPIOC_CLK_DISABLE()
00475 #define AUDIO_RESET_PIN                         GPIO_PIN_6
00476 #define AUDIO_RESET_GPIO                        GPIOC
00477 
00478 
00479 
00480 
00481 /*##################### MFX ##########################*/
00482 /**
00483   * @brief  MFX interface pins
00484   */
00485 
00486 #define MFX_INT_GPIO_PORT                 GPIOC                       /* GPIOC */
00487 #define MFX_INT_GPIO_CLK_ENABLE()         __HAL_RCC_GPIOC_CLK_ENABLE()
00488 #define MFX_INT_GPIO_CLK_DISABLE()        __HAL_RCC_GPIOC_CLK_DISABLE()
00489 #define MFX_INT_PIN                       GPIO_PIN_5                  /* PC.05 */
00490 #define MFX_INT_EXTI_IRQn                 EXTI9_5_IRQn
00491 
00492 #define MFX_WAKEUP_GPIO_PORT              GPIOH                       /* GPIOH */
00493 #define MFX_WAKEUP_GPIO_CLK_ENABLE()      __HAL_RCC_GPIOH_CLK_ENABLE()
00494 #define MFX_WAKEUP_GPIO_CLK_DISABLE()     __HAL_RCC_GPIOH_CLK_DISABLE()
00495 #define MFX_WAKEUP_PIN                    GPIO_PIN_6                  /* PH.06 */
00496 
00497 
00498 
00499 /* Legacy  */
00500 #define IDD_INT_GPIO_PORT                 MFX_INT_GPIO_PORT
00501 #define IDD_INT_GPIO_CLK_ENABLE()         MFX_INT_GPIO_CLK_ENABLE()
00502 #define IDD_INT_GPIO_CLK_DISABLE()        MFX_INT_GPIO_CLK_DISABLE()
00503 #define IDD_INT_PIN                       MFX_INT_PIN
00504 #define IDD_INT_EXTI_IRQn                 MFX_INT_EXTI_IRQn
00505 #define IDD_WAKEUP_GPIO_PORT              MFX_WAKEUP_GPIO_PORT
00506 #define IDD_WAKEUP_GPIO_CLK_ENABLE()      MFX_WAKEUP_GPIO_CLK_ENABLE()
00507 #define IDD_WAKEUP_GPIO_CLK_DISABLE()     MFX_WAKEUP_GPIO_CLK_DISABLE()
00508 #define IDD_WAKEUP_PIN                    MFX_WAKEUP_PIN
00509 
00510 
00511 /**
00512   * @brief  Idd current measurement interface pins on MFX
00513   */
00514 #define IDD_AMP_CONTROL_PIN               AGPIO_PIN_1
00515 
00516 /**
00517   * @brief TS INT pin
00518   */
00519 #define TS_INT_PIN                        GPIO_PIN_14
00520 #define TS_INT_GPIO_PORT                  GPIOG
00521 #define TS_INT_GPIO_CLK_ENABLE()          __HAL_RCC_GPIOG_CLK_ENABLE()
00522 #define TS_INT_GPIO_CLK_DISABLE()         __HAL_RCC_GPIOG_CLK_DISABLE()
00523 #define TS_INT_EXTI_IRQn                  EXTI15_10_IRQn
00524 
00525 /**
00526   * @brief TS RST pin
00527   */
00528 /* TS RST is accessed thru the MFX */
00529 #define TS_RST_PIN                        IO1_PIN_1
00530 
00531 /**
00532   * @}
00533   */
00534 
00535 /**
00536   * @}
00537   */
00538 
00539 
00540 /** @defgroup STM32L496G_DISCOVERY_Exported_Functions Exported Functions
00541   * @{
00542   */
00543 uint32_t                BSP_GetVersion(void);
00544 void                    BSP_LED_Init(Led_TypeDef Led);
00545 void                    BSP_LED_DeInit(Led_TypeDef Led);
00546 void                    BSP_LED_On(Led_TypeDef Led);
00547 void                    BSP_LED_Off(Led_TypeDef Led);
00548 void                    BSP_LED_Toggle(Led_TypeDef Led);
00549 uint8_t                 BSP_JOY_Init(JOYMode_TypeDef Joy_Mode);
00550 void                    BSP_JOY_DeInit(void);
00551 JOYState_TypeDef        BSP_JOY_GetState(void);
00552 #if defined(HAL_UART_MODULE_ENABLED)
00553 void                    BSP_COM_Init(COM_TypeDef COM, UART_HandleTypeDef *husart);
00554 void                    BSP_COM_DeInit(COM_TypeDef COM, UART_HandleTypeDef *huart);
00555 #endif /* HAL_UART_MODULE_ENABLED */
00556 
00557 /* These __weak functions can be surcharged by application code for specific application needs */
00558 void                    BSP_ErrorHandler(void);
00559 
00560 
00561 void FMC_BANK1_MspInit(void);
00562 void FMC_BANK1_MspDeInit(void);
00563 #if defined(HAL_I2C_MODULE_ENABLED)
00564 void I2C2_Init(void);
00565 void I2C2_DeInit(void);
00566 #endif /* HAL_I2C_MODULE_ENABLED */
00567 
00568 /**
00569   * @}
00570   */
00571 
00572 /**
00573   * @}
00574   */
00575 
00576 /**
00577   * @}
00578   */
00579 
00580 /**
00581   * @}
00582   */
00583 
00584 #ifdef __cplusplus
00585 }
00586 #endif
00587 
00588 #endif /* __STM32L496G_DISCOVERY_H */
00589 
00590 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/