Library to control Silicon Labs SI570 10 MHZ TO 1.4 GHZ I2C PROGRAMMABLE XO/VCXO.

Dependencies:   mbed

Fork of SI570 by Gerrit Polder

Committer:
DL3LD
Date:
Sun Mar 27 06:55:59 2016 +0000
Revision:
1:1556bcaaf759
STM32F746NG SI570 VFO Test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
DL3LD 1:1556bcaaf759 1 /**
DL3LD 1:1556bcaaf759 2 ******************************************************************************
DL3LD 1:1556bcaaf759 3 * @file stm32746g_discovery.h
DL3LD 1:1556bcaaf759 4 * @author MCD Application Team
DL3LD 1:1556bcaaf759 5 * @version V1.0.0
DL3LD 1:1556bcaaf759 6 * @date 25-June-2015
DL3LD 1:1556bcaaf759 7 * @brief This file contains definitions for STM32746G_DISCOVERY's LEDs,
DL3LD 1:1556bcaaf759 8 * push-buttons and COM ports hardware resources.
DL3LD 1:1556bcaaf759 9 ******************************************************************************
DL3LD 1:1556bcaaf759 10 * @attention
DL3LD 1:1556bcaaf759 11 *
DL3LD 1:1556bcaaf759 12 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
DL3LD 1:1556bcaaf759 13 *
DL3LD 1:1556bcaaf759 14 * Redistribution and use in source and binary forms, with or without modification,
DL3LD 1:1556bcaaf759 15 * are permitted provided that the following conditions are met:
DL3LD 1:1556bcaaf759 16 * 1. Redistributions of source code must retain the above copyright notice,
DL3LD 1:1556bcaaf759 17 * this list of conditions and the following disclaimer.
DL3LD 1:1556bcaaf759 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
DL3LD 1:1556bcaaf759 19 * this list of conditions and the following disclaimer in the documentation
DL3LD 1:1556bcaaf759 20 * and/or other materials provided with the distribution.
DL3LD 1:1556bcaaf759 21 * 3. Neither the name of STMicroelectronics nor the names of its contributors
DL3LD 1:1556bcaaf759 22 * may be used to endorse or promote products derived from this software
DL3LD 1:1556bcaaf759 23 * without specific prior written permission.
DL3LD 1:1556bcaaf759 24 *
DL3LD 1:1556bcaaf759 25 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
DL3LD 1:1556bcaaf759 26 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
DL3LD 1:1556bcaaf759 27 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DL3LD 1:1556bcaaf759 28 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
DL3LD 1:1556bcaaf759 29 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DL3LD 1:1556bcaaf759 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
DL3LD 1:1556bcaaf759 31 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
DL3LD 1:1556bcaaf759 32 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
DL3LD 1:1556bcaaf759 33 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
DL3LD 1:1556bcaaf759 34 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
DL3LD 1:1556bcaaf759 35 *
DL3LD 1:1556bcaaf759 36 ******************************************************************************
DL3LD 1:1556bcaaf759 37 */
DL3LD 1:1556bcaaf759 38
DL3LD 1:1556bcaaf759 39 /* Define to prevent recursive inclusion -------------------------------------*/
DL3LD 1:1556bcaaf759 40 #ifndef __STM32746G_DISCOVERY_H
DL3LD 1:1556bcaaf759 41 #define __STM32746G_DISCOVERY_H
DL3LD 1:1556bcaaf759 42
DL3LD 1:1556bcaaf759 43 #ifdef __cplusplus
DL3LD 1:1556bcaaf759 44 extern "C" {
DL3LD 1:1556bcaaf759 45 #endif
DL3LD 1:1556bcaaf759 46
DL3LD 1:1556bcaaf759 47 /* Includes ------------------------------------------------------------------*/
DL3LD 1:1556bcaaf759 48 #include "stm32f7xx_hal.h"
DL3LD 1:1556bcaaf759 49 #include "cmsis_nvic.h"
DL3LD 1:1556bcaaf759 50
DL3LD 1:1556bcaaf759 51 /** @addtogroup BSP
DL3LD 1:1556bcaaf759 52 * @{
DL3LD 1:1556bcaaf759 53 */
DL3LD 1:1556bcaaf759 54
DL3LD 1:1556bcaaf759 55 /** @addtogroup STM32746G_DISCOVERY
DL3LD 1:1556bcaaf759 56 * @{
DL3LD 1:1556bcaaf759 57 */
DL3LD 1:1556bcaaf759 58
DL3LD 1:1556bcaaf759 59 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL
DL3LD 1:1556bcaaf759 60 * @{
DL3LD 1:1556bcaaf759 61 */
DL3LD 1:1556bcaaf759 62
DL3LD 1:1556bcaaf759 63 /** @defgroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Types STM32746G_DISCOVERY_LOW_LEVEL Exported Types
DL3LD 1:1556bcaaf759 64 * @{
DL3LD 1:1556bcaaf759 65 */
DL3LD 1:1556bcaaf759 66 typedef enum
DL3LD 1:1556bcaaf759 67 {
DL3LD 1:1556bcaaf759 68 DISCO_LED1 = 0,
DL3LD 1:1556bcaaf759 69 LED_GREEN = DISCO_LED1,
DL3LD 1:1556bcaaf759 70 }Led_TypeDef;
DL3LD 1:1556bcaaf759 71
DL3LD 1:1556bcaaf759 72 typedef enum
DL3LD 1:1556bcaaf759 73 {
DL3LD 1:1556bcaaf759 74 BUTTON_WAKEUP = 0,
DL3LD 1:1556bcaaf759 75 BUTTON_TAMPER = 1,
DL3LD 1:1556bcaaf759 76 BUTTON_KEY = 2
DL3LD 1:1556bcaaf759 77 }Button_TypeDef;
DL3LD 1:1556bcaaf759 78
DL3LD 1:1556bcaaf759 79 typedef enum
DL3LD 1:1556bcaaf759 80 {
DL3LD 1:1556bcaaf759 81 BUTTON_MODE_GPIO = 0,
DL3LD 1:1556bcaaf759 82 BUTTON_MODE_EXTI = 1
DL3LD 1:1556bcaaf759 83 }ButtonMode_TypeDef;
DL3LD 1:1556bcaaf759 84
DL3LD 1:1556bcaaf759 85 typedef enum
DL3LD 1:1556bcaaf759 86 {
DL3LD 1:1556bcaaf759 87 COM1 = 0,
DL3LD 1:1556bcaaf759 88 COM2 = 1
DL3LD 1:1556bcaaf759 89 }COM_TypeDef;
DL3LD 1:1556bcaaf759 90 /**
DL3LD 1:1556bcaaf759 91 * @}
DL3LD 1:1556bcaaf759 92 */
DL3LD 1:1556bcaaf759 93
DL3LD 1:1556bcaaf759 94 /** @defgroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Constants STM32746G_DISCOVERY_LOW_LEVEL Exported Constants
DL3LD 1:1556bcaaf759 95 * @{
DL3LD 1:1556bcaaf759 96 */
DL3LD 1:1556bcaaf759 97
DL3LD 1:1556bcaaf759 98 /**
DL3LD 1:1556bcaaf759 99 * @brief Define for STM32746G_DISCOVERY board
DL3LD 1:1556bcaaf759 100 */
DL3LD 1:1556bcaaf759 101 #if !defined (USE_STM32746G_DISCO)
DL3LD 1:1556bcaaf759 102 #define USE_STM32746G_DISCO
DL3LD 1:1556bcaaf759 103 #endif
DL3LD 1:1556bcaaf759 104
DL3LD 1:1556bcaaf759 105 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_LED
DL3LD 1:1556bcaaf759 106 * @{
DL3LD 1:1556bcaaf759 107 */
DL3LD 1:1556bcaaf759 108
DL3LD 1:1556bcaaf759 109 #define LEDn ((uint8_t)1)
DL3LD 1:1556bcaaf759 110
DL3LD 1:1556bcaaf759 111 #define LED1_GPIO_PORT GPIOI
DL3LD 1:1556bcaaf759 112 #define LED1_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
DL3LD 1:1556bcaaf759 113 #define LED1_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
DL3LD 1:1556bcaaf759 114 #define LED1_PIN GPIO_PIN_1
DL3LD 1:1556bcaaf759 115
DL3LD 1:1556bcaaf759 116 /**
DL3LD 1:1556bcaaf759 117 * @}
DL3LD 1:1556bcaaf759 118 */
DL3LD 1:1556bcaaf759 119
DL3LD 1:1556bcaaf759 120 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_BUTTON
DL3LD 1:1556bcaaf759 121 * @{
DL3LD 1:1556bcaaf759 122 */
DL3LD 1:1556bcaaf759 123 #define BUTTONn ((uint8_t)3)
DL3LD 1:1556bcaaf759 124
DL3LD 1:1556bcaaf759 125 /**
DL3LD 1:1556bcaaf759 126 * @brief Wakeup push-button
DL3LD 1:1556bcaaf759 127 */
DL3LD 1:1556bcaaf759 128 #define WAKEUP_BUTTON_PIN GPIO_PIN_11
DL3LD 1:1556bcaaf759 129 #define WAKEUP_BUTTON_GPIO_PORT GPIOI
DL3LD 1:1556bcaaf759 130 #define WAKEUP_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
DL3LD 1:1556bcaaf759 131 #define WAKEUP_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
DL3LD 1:1556bcaaf759 132 #define WAKEUP_BUTTON_EXTI_IRQn EXTI15_10_IRQn
DL3LD 1:1556bcaaf759 133
DL3LD 1:1556bcaaf759 134 /**
DL3LD 1:1556bcaaf759 135 * @brief Tamper push-button
DL3LD 1:1556bcaaf759 136 */
DL3LD 1:1556bcaaf759 137 #define TAMPER_BUTTON_PIN GPIO_PIN_11
DL3LD 1:1556bcaaf759 138 #define TAMPER_BUTTON_GPIO_PORT GPIOI
DL3LD 1:1556bcaaf759 139 #define TAMPER_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
DL3LD 1:1556bcaaf759 140 #define TAMPER_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
DL3LD 1:1556bcaaf759 141 #define TAMPER_BUTTON_EXTI_IRQn EXTI15_10_IRQn
DL3LD 1:1556bcaaf759 142
DL3LD 1:1556bcaaf759 143 /**
DL3LD 1:1556bcaaf759 144 * @brief Key push-button
DL3LD 1:1556bcaaf759 145 */
DL3LD 1:1556bcaaf759 146 #define KEY_BUTTON_PIN GPIO_PIN_11
DL3LD 1:1556bcaaf759 147 #define KEY_BUTTON_GPIO_PORT GPIOI
DL3LD 1:1556bcaaf759 148 #define KEY_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
DL3LD 1:1556bcaaf759 149 #define KEY_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
DL3LD 1:1556bcaaf759 150 #define KEY_BUTTON_EXTI_IRQn EXTI15_10_IRQn
DL3LD 1:1556bcaaf759 151
DL3LD 1:1556bcaaf759 152 #define BUTTONx_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == 0) WAKEUP_BUTTON_GPIO_CLK_ENABLE(); else\
DL3LD 1:1556bcaaf759 153 if((__INDEX__) == 1) TAMPER_BUTTON_GPIO_CLK_ENABLE(); else\
DL3LD 1:1556bcaaf759 154 KEY_BUTTON_GPIO_CLK_ENABLE(); } while(0)
DL3LD 1:1556bcaaf759 155
DL3LD 1:1556bcaaf759 156 #define BUTTONx_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? WAKEUP_BUTTON_GPIO_CLK_DISABLE() :\
DL3LD 1:1556bcaaf759 157 ((__INDEX__) == 1) ? TAMPER_BUTTON_GPIO_CLK_DISABLE() : KEY_BUTTON_GPIO_CLK_DISABLE())
DL3LD 1:1556bcaaf759 158
DL3LD 1:1556bcaaf759 159 /**
DL3LD 1:1556bcaaf759 160 * @}
DL3LD 1:1556bcaaf759 161 */
DL3LD 1:1556bcaaf759 162
DL3LD 1:1556bcaaf759 163 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_SIGNAL
DL3LD 1:1556bcaaf759 164 * @{
DL3LD 1:1556bcaaf759 165 */
DL3LD 1:1556bcaaf759 166 #define SIGNALn ((uint8_t)1)
DL3LD 1:1556bcaaf759 167
DL3LD 1:1556bcaaf759 168 /**
DL3LD 1:1556bcaaf759 169 * @brief SD-detect signal
DL3LD 1:1556bcaaf759 170 */
DL3LD 1:1556bcaaf759 171 #define SD_DETECT_PIN GPIO_PIN_13
DL3LD 1:1556bcaaf759 172 #define SD_DETECT_GPIO_PORT GPIOC
DL3LD 1:1556bcaaf759 173 #define SD_DETECT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE()
DL3LD 1:1556bcaaf759 174 #define SD_DETECT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE()
DL3LD 1:1556bcaaf759 175 #define SD_DETECT_EXTI_IRQn EXTI15_10_IRQn
DL3LD 1:1556bcaaf759 176
DL3LD 1:1556bcaaf759 177 /**
DL3LD 1:1556bcaaf759 178 * @brief Touch screen interrupt signal
DL3LD 1:1556bcaaf759 179 */
DL3LD 1:1556bcaaf759 180 #define TS_INT_PIN GPIO_PIN_13
DL3LD 1:1556bcaaf759 181 #define TS_INT_GPIO_PORT GPIOI
DL3LD 1:1556bcaaf759 182 #define TS_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
DL3LD 1:1556bcaaf759 183 #define TS_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
DL3LD 1:1556bcaaf759 184 #define TS_INT_EXTI_IRQn EXTI15_10_IRQn
DL3LD 1:1556bcaaf759 185
DL3LD 1:1556bcaaf759 186 /**
DL3LD 1:1556bcaaf759 187 * @}
DL3LD 1:1556bcaaf759 188 */
DL3LD 1:1556bcaaf759 189
DL3LD 1:1556bcaaf759 190 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_COM
DL3LD 1:1556bcaaf759 191 * @{
DL3LD 1:1556bcaaf759 192 */
DL3LD 1:1556bcaaf759 193 #define COMn ((uint8_t)1)
DL3LD 1:1556bcaaf759 194
DL3LD 1:1556bcaaf759 195 /**
DL3LD 1:1556bcaaf759 196 * @brief Definition for COM port1, connected to USART1
DL3LD 1:1556bcaaf759 197 */
DL3LD 1:1556bcaaf759 198 #define DISCOVERY_COM1 USART1
DL3LD 1:1556bcaaf759 199 #define DISCOVERY_COM1_CLK_ENABLE() __HAL_RCC_USART1_CLK_ENABLE()
DL3LD 1:1556bcaaf759 200 #define DISCOVERY_COM1_CLK_DISABLE() __HAL_RCC_USART1_CLK_DISABLE()
DL3LD 1:1556bcaaf759 201
DL3LD 1:1556bcaaf759 202 #define DISCOVERY_COM1_TX_PIN GPIO_PIN_9
DL3LD 1:1556bcaaf759 203 #define DISCOVERY_COM1_TX_GPIO_PORT GPIOA
DL3LD 1:1556bcaaf759 204 #define DISCOVERY_COM1_TX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
DL3LD 1:1556bcaaf759 205 #define DISCOVERY_COM1_TX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
DL3LD 1:1556bcaaf759 206 #define DISCOVERY_COM1_TX_AF GPIO_AF7_USART1
DL3LD 1:1556bcaaf759 207
DL3LD 1:1556bcaaf759 208 #define DISCOVERY_COM1_RX_PIN GPIO_PIN_7
DL3LD 1:1556bcaaf759 209 #define DISCOVERY_COM1_RX_GPIO_PORT GPIOB
DL3LD 1:1556bcaaf759 210 #define DISCOVERY_COM1_RX_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
DL3LD 1:1556bcaaf759 211 #define DISCOVERY_COM1_RX_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
DL3LD 1:1556bcaaf759 212 #define DISCOVERY_COM1_RX_AF GPIO_AF7_USART1
DL3LD 1:1556bcaaf759 213
DL3LD 1:1556bcaaf759 214 #define DISCOVERY_COM1_IRQn USART1_IRQn
DL3LD 1:1556bcaaf759 215
DL3LD 1:1556bcaaf759 216 #define DISCOVERY_COMx_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) DISCOVERY_COM1_CLK_ENABLE(); } while(0)
DL3LD 1:1556bcaaf759 217 #define DISCOVERY_COMx_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? DISCOVERY_COM1_CLK_DISABLE() : 0)
DL3LD 1:1556bcaaf759 218
DL3LD 1:1556bcaaf759 219 #define DISCOVERY_COMx_TX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) DISCOVERY_COM1_TX_GPIO_CLK_ENABLE(); } while(0)
DL3LD 1:1556bcaaf759 220 #define DISCOVERY_COMx_TX_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? DISCOVERY_COM1_TX_GPIO_CLK_DISABLE() : 0)
DL3LD 1:1556bcaaf759 221
DL3LD 1:1556bcaaf759 222 #define DISCOVERY_COMx_RX_GPIO_CLK_ENABLE(__INDEX__) do { if((__INDEX__) == COM1) DISCOVERY_COM1_RX_GPIO_CLK_ENABLE(); } while(0)
DL3LD 1:1556bcaaf759 223 #define DISCOVERY_COMx_RX_GPIO_CLK_DISABLE(__INDEX__) (((__INDEX__) == 0) ? DISCOVERY_COM1_RX_GPIO_CLK_DISABLE() : 0)
DL3LD 1:1556bcaaf759 224
DL3LD 1:1556bcaaf759 225 /* Exported constant IO ------------------------------------------------------*/
DL3LD 1:1556bcaaf759 226
DL3LD 1:1556bcaaf759 227 #define LCD_I2C_ADDRESS ((uint16_t)0x70)
DL3LD 1:1556bcaaf759 228 #define CAMERA_I2C_ADDRESS ((uint16_t)0x60)
DL3LD 1:1556bcaaf759 229 #define AUDIO_I2C_ADDRESS ((uint16_t)0x34)
DL3LD 1:1556bcaaf759 230 #define EEPROM_I2C_ADDRESS_A01 ((uint16_t)0xA0)
DL3LD 1:1556bcaaf759 231 #define EEPROM_I2C_ADDRESS_A02 ((uint16_t)0xA6)
DL3LD 1:1556bcaaf759 232 #define TS_I2C_ADDRESS ((uint16_t)0x70)
DL3LD 1:1556bcaaf759 233
DL3LD 1:1556bcaaf759 234 /* I2C clock speed configuration (in Hz)
DL3LD 1:1556bcaaf759 235 WARNING:
DL3LD 1:1556bcaaf759 236 Make sure that this define is not already declared in other files (ie.
DL3LD 1:1556bcaaf759 237 stm32746g_discovery.h file). It can be used in parallel by other modules. */
DL3LD 1:1556bcaaf759 238 #ifndef I2C_SPEED
DL3LD 1:1556bcaaf759 239 #define I2C_SPEED ((uint32_t)100000)
DL3LD 1:1556bcaaf759 240 #endif /* I2C_SPEED */
DL3LD 1:1556bcaaf759 241
DL3LD 1:1556bcaaf759 242 /* User can use this section to tailor I2Cx/I2Cx instance used and associated
DL3LD 1:1556bcaaf759 243 resources */
DL3LD 1:1556bcaaf759 244 /* Definition for AUDIO and LCD I2Cx resources */
DL3LD 1:1556bcaaf759 245 #define DISCOVERY_AUDIO_I2Cx I2C3
DL3LD 1:1556bcaaf759 246 #define DISCOVERY_AUDIO_I2Cx_CLK_ENABLE() __HAL_RCC_I2C3_CLK_ENABLE()
DL3LD 1:1556bcaaf759 247 #define DISCOVERY_AUDIO_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE()
DL3LD 1:1556bcaaf759 248 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOH_CLK_ENABLE()
DL3LD 1:1556bcaaf759 249
DL3LD 1:1556bcaaf759 250 #define DISCOVERY_AUDIO_I2Cx_FORCE_RESET() __HAL_RCC_I2C3_FORCE_RESET()
DL3LD 1:1556bcaaf759 251 #define DISCOVERY_AUDIO_I2Cx_RELEASE_RESET() __HAL_RCC_I2C3_RELEASE_RESET()
DL3LD 1:1556bcaaf759 252
DL3LD 1:1556bcaaf759 253 /* Definition for I2Cx Pins */
DL3LD 1:1556bcaaf759 254 #define DISCOVERY_AUDIO_I2Cx_SCL_PIN GPIO_PIN_7
DL3LD 1:1556bcaaf759 255 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_GPIO_PORT GPIOH
DL3LD 1:1556bcaaf759 256 #define DISCOVERY_AUDIO_I2Cx_SCL_SDA_AF GPIO_AF4_I2C3
DL3LD 1:1556bcaaf759 257 #define DISCOVERY_AUDIO_I2Cx_SDA_PIN GPIO_PIN_8
DL3LD 1:1556bcaaf759 258
DL3LD 1:1556bcaaf759 259 /* I2C interrupt requests */
DL3LD 1:1556bcaaf759 260 #define DISCOVERY_AUDIO_I2Cx_EV_IRQn I2C3_EV_IRQn
DL3LD 1:1556bcaaf759 261 #define DISCOVERY_AUDIO_I2Cx_ER_IRQn I2C3_ER_IRQn
DL3LD 1:1556bcaaf759 262
DL3LD 1:1556bcaaf759 263 /* Definition for external, camera and Arduino connector I2Cx resources */
DL3LD 1:1556bcaaf759 264 #define DISCOVERY_EXT_I2Cx I2C1
DL3LD 1:1556bcaaf759 265 #define DISCOVERY_EXT_I2Cx_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE()
DL3LD 1:1556bcaaf759 266 #define DISCOVERY_EXT_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE()
DL3LD 1:1556bcaaf759 267 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
DL3LD 1:1556bcaaf759 268
DL3LD 1:1556bcaaf759 269 #define DISCOVERY_EXT_I2Cx_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
DL3LD 1:1556bcaaf759 270 #define DISCOVERY_EXT_I2Cx_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET()
DL3LD 1:1556bcaaf759 271
DL3LD 1:1556bcaaf759 272 /* Definition for I2Cx Pins */
DL3LD 1:1556bcaaf759 273 #define DISCOVERY_EXT_I2Cx_SCL_PIN GPIO_PIN_8
DL3LD 1:1556bcaaf759 274 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_PORT GPIOB
DL3LD 1:1556bcaaf759 275 #define DISCOVERY_EXT_I2Cx_SCL_SDA_AF GPIO_AF4_I2C1
DL3LD 1:1556bcaaf759 276 #define DISCOVERY_EXT_I2Cx_SDA_PIN GPIO_PIN_9
DL3LD 1:1556bcaaf759 277
DL3LD 1:1556bcaaf759 278 /* I2C interrupt requests */
DL3LD 1:1556bcaaf759 279 #define DISCOVERY_EXT_I2Cx_EV_IRQn I2C1_EV_IRQn
DL3LD 1:1556bcaaf759 280 #define DISCOVERY_EXT_I2Cx_ER_IRQn I2C1_ER_IRQn
DL3LD 1:1556bcaaf759 281
DL3LD 1:1556bcaaf759 282 /* I2C TIMING Register define when I2C clock source is SYSCLK */
DL3LD 1:1556bcaaf759 283 /* I2C TIMING is calculated from APB1 source clock = 50 MHz */
DL3LD 1:1556bcaaf759 284 /* Due to the big MOFSET capacity for adapting the camera level the rising time is very large (>1us) */
DL3LD 1:1556bcaaf759 285 /* 0x40912732 takes in account the big rising and aims a clock of 100khz */
DL3LD 1:1556bcaaf759 286 /* this value might be adapted when next Rev Birdie board is available */
DL3LD 1:1556bcaaf759 287 #ifndef DISCOVERY_I2Cx_TIMING
DL3LD 1:1556bcaaf759 288 #define DISCOVERY_I2Cx_TIMING ((uint32_t)0x40912732)
DL3LD 1:1556bcaaf759 289 #endif /* DISCOVERY_I2Cx_TIMING */
DL3LD 1:1556bcaaf759 290
DL3LD 1:1556bcaaf759 291 /**
DL3LD 1:1556bcaaf759 292 * @}
DL3LD 1:1556bcaaf759 293 */
DL3LD 1:1556bcaaf759 294
DL3LD 1:1556bcaaf759 295 /**
DL3LD 1:1556bcaaf759 296 * @}
DL3LD 1:1556bcaaf759 297 */
DL3LD 1:1556bcaaf759 298
DL3LD 1:1556bcaaf759 299 /** @defgroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Macros STM32746G_DISCOVERY_LOW_LEVEL Exported Macros
DL3LD 1:1556bcaaf759 300 * @{
DL3LD 1:1556bcaaf759 301 */
DL3LD 1:1556bcaaf759 302 /**
DL3LD 1:1556bcaaf759 303 * @}
DL3LD 1:1556bcaaf759 304 */
DL3LD 1:1556bcaaf759 305
DL3LD 1:1556bcaaf759 306 /** @addtogroup STM32746G_DISCOVERY_LOW_LEVEL_Exported_Functions
DL3LD 1:1556bcaaf759 307 * @{
DL3LD 1:1556bcaaf759 308 */
DL3LD 1:1556bcaaf759 309 uint32_t BSP_GetVersion(void);
DL3LD 1:1556bcaaf759 310 void BSP_LED_Init(Led_TypeDef Led);
DL3LD 1:1556bcaaf759 311 void BSP_LED_DeInit(Led_TypeDef Led);
DL3LD 1:1556bcaaf759 312 void BSP_LED_On(Led_TypeDef Led);
DL3LD 1:1556bcaaf759 313 void BSP_LED_Off(Led_TypeDef Led);
DL3LD 1:1556bcaaf759 314 void BSP_LED_Toggle(Led_TypeDef Led);
DL3LD 1:1556bcaaf759 315 void BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef ButtonMode);
DL3LD 1:1556bcaaf759 316 void BSP_PB_DeInit(Button_TypeDef Button);
DL3LD 1:1556bcaaf759 317 uint32_t BSP_PB_GetState(Button_TypeDef Button);
DL3LD 1:1556bcaaf759 318 void BSP_COM_Init(COM_TypeDef COM, UART_HandleTypeDef *husart);
DL3LD 1:1556bcaaf759 319 void BSP_COM_DeInit(COM_TypeDef COM, UART_HandleTypeDef *huart);
DL3LD 1:1556bcaaf759 320
DL3LD 1:1556bcaaf759 321 /**
DL3LD 1:1556bcaaf759 322 * @}
DL3LD 1:1556bcaaf759 323 */
DL3LD 1:1556bcaaf759 324
DL3LD 1:1556bcaaf759 325 /**
DL3LD 1:1556bcaaf759 326 * @}
DL3LD 1:1556bcaaf759 327 */
DL3LD 1:1556bcaaf759 328
DL3LD 1:1556bcaaf759 329 /**
DL3LD 1:1556bcaaf759 330 * @}
DL3LD 1:1556bcaaf759 331 */
DL3LD 1:1556bcaaf759 332
DL3LD 1:1556bcaaf759 333 /**
DL3LD 1:1556bcaaf759 334 * @}
DL3LD 1:1556bcaaf759 335 */
DL3LD 1:1556bcaaf759 336
DL3LD 1:1556bcaaf759 337 #ifdef __cplusplus
DL3LD 1:1556bcaaf759 338 }
DL3LD 1:1556bcaaf759 339 #endif
DL3LD 1:1556bcaaf759 340
DL3LD 1:1556bcaaf759 341 #endif /* __STM32746G_DISCOVERY_H */
DL3LD 1:1556bcaaf759 342
DL3LD 1:1556bcaaf759 343 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
DL3LD 1:1556bcaaf759 344