STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
stm32f769i_discovery.h
Go to the documentation of this file.
1 
39 /* Define to prevent recursive inclusion -------------------------------------*/
40 #ifndef __STM32F769I_DISCOVERY_H
41 #define __STM32F769I_DISCOVERY_H
42 
43 #ifdef __cplusplus
44  extern "C" {
45 #endif
46 
47 
48  /* Includes ------------------------------------------------------------------*/
49 #include "stm32f7xx_hal.h"
50 
70 #if !defined (USE_STM32F769I_DISCO)
71  #define USE_STM32F769I_DISCO
72 #endif
73 
77 typedef enum
78 {
79  LED1 = 0,
81  LED2 = 1,
83 } Led_TypeDef;
84 
88 typedef enum
89 {
92 
93 #define BUTTON_USER BUTTON_WAKEUP
94 
98 typedef enum
99 {
102 
104 
108 typedef enum
109 {
110  PB_SET = 0,
113 
114 
118 typedef enum
119 {
120  DISCO_OK = 0,
122 
124 
137 /* Always four leds for all revisions of Discovery boards */
138 #define LEDn ((uint8_t)2)
139 
140 
141 /* 2 Leds are connected to MCU directly on PJ13 and PJ5 */
142 #define LED1_GPIO_PORT ((GPIO_TypeDef*)GPIOJ)
143 #define LED2_GPIO_PORT ((GPIO_TypeDef*)GPIOJ)
144 
145 #define LEDx_GPIO_CLK_ENABLE() __HAL_RCC_GPIOJ_CLK_ENABLE()
146 #define LEDx_GPIO_CLK_DISABLE() __HAL_RCC_GPIOJ_CLK_DISABLE()
147 
148 #define LED1_PIN ((uint32_t)GPIO_PIN_13)
149 #define LED2_PIN ((uint32_t)GPIO_PIN_5)
150 
158 /* Only one User/Wakeup button */
159 #define BUTTONn ((uint8_t)1)
160 
164 #define WAKEUP_BUTTON_PIN GPIO_PIN_0
165 #define WAKEUP_BUTTON_GPIO_PORT GPIOA
166 #define WAKEUP_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
167 #define WAKEUP_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
168 #define WAKEUP_BUTTON_EXTI_IRQn EXTI0_IRQn
169 
170 /* Define the USER button as an alias of the Wakeup button */
171 #define USER_BUTTON_PIN WAKEUP_BUTTON_PIN
172 #define USER_BUTTON_GPIO_PORT WAKEUP_BUTTON_GPIO_PORT
173 #define USER_BUTTON_GPIO_CLK_ENABLE() WAKEUP_BUTTON_GPIO_CLK_ENABLE()
174 #define USER_BUTTON_GPIO_CLK_DISABLE() WAKEUP_BUTTON_GPIO_CLK_DISABLE()
175 #define USER_BUTTON_EXTI_IRQn WAKEUP_BUTTON_EXTI_IRQn
176 
177 #define BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
178 
186 #define OTG_HS_OVER_CURRENT_PIN GPIO_PIN_4
187 #define OTG_HS_OVER_CURRENT_PORT GPIOD
188 #define OTG_HS_OVER_CURRENT_PORT_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE()
189 
193 #define SD_DETECT_PIN ((uint32_t)GPIO_PIN_15)
194 #define SD_DETECT_GPIO_PORT ((GPIO_TypeDef*)GPIOI)
195 #define SD_DETECT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
196 #define SD_DETECT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
197 #define SD_DETECT_EXTI_IRQn EXTI15_10_IRQn
198 
203 #define TS_INT_PIN ((uint32_t)GPIO_PIN_13)
204 #define TS_INT_GPIO_PORT ((GPIO_TypeDef*)GPIOI)
205 #define TS_INT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOI_CLK_ENABLE()
206 #define TS_INT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOI_CLK_DISABLE()
207 #define TS_INT_EXTI_IRQn EXTI15_10_IRQn
208 
212 #define TS_I2C_ADDRESS ((uint16_t)0x54)
213 
214 
218 #define AUDIO_I2C_ADDRESS ((uint16_t)0x34)
219 
223 #define EEPROM_I2C_ADDRESS_A01 ((uint16_t)0xA0)
224 
228 #define EEPROM_I2C_ADDRESS_A02 ((uint16_t)0xA6)
229 
235 #define DISCOVERY_AUDIO_I2Cx I2C4
236 #define DISCOVERY_AUDIO_I2Cx_CLK_ENABLE() __HAL_RCC_I2C4_CLK_ENABLE()
237 #define DISCOVERY_AUDIO_I2Cx_SCL_GPIO_CLK_ENABLE() __HAL_RCC_GPIOD_CLK_ENABLE()
238 #define DISCOVERY_AUDIO_I2Cx_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
239 
240 #define DISCOVERY_AUDIO_I2Cx_FORCE_RESET() __HAL_RCC_I2C4_FORCE_RESET()
241 #define DISCOVERY_AUDIO_I2Cx_RELEASE_RESET() __HAL_RCC_I2C4_RELEASE_RESET()
242 
245 #define DISCOVERY_AUDIO_I2Cx_SCL_PIN GPIO_PIN_12
246 #define DISCOVERY_AUDIO_I2Cx_SCL_AF GPIO_AF4_I2C4
247 #define DISCOVERY_AUDIO_I2Cx_SCL_GPIO_PORT GPIOD
248 #define DISCOVERY_AUDIO_I2Cx_SDA_PIN GPIO_PIN_7
249 #define DISCOVERY_AUDIO_I2Cx_SDA_AF GPIO_AF11_I2C4
250 #define DISCOVERY_AUDIO_I2Cx_SDA_GPIO_PORT GPIOB
251 
253 #define DISCOVERY_AUDIO_I2Cx_EV_IRQn I2C4_EV_IRQn
254 #define DISCOVERY_AUDIO_I2Cx_ER_IRQn I2C4_ER_IRQn
255 
261 #define DISCOVERY_EXT_I2Cx I2C1
262 #define DISCOVERY_EXT_I2Cx_CLK_ENABLE() __HAL_RCC_I2C1_CLK_ENABLE()
263 #define DISCOVERY_DMAx_CLK_ENABLE() __HAL_RCC_DMA1_CLK_ENABLE()
264 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
265 
266 #define DISCOVERY_EXT_I2Cx_FORCE_RESET() __HAL_RCC_I2C1_FORCE_RESET()
267 #define DISCOVERY_EXT_I2Cx_RELEASE_RESET() __HAL_RCC_I2C1_RELEASE_RESET()
268 
271 #define DISCOVERY_EXT_I2Cx_SCL_PIN GPIO_PIN_8
272 #define DISCOVERY_EXT_I2Cx_SCL_SDA_GPIO_PORT GPIOB
273 #define DISCOVERY_EXT_I2Cx_SCL_SDA_AF GPIO_AF4_I2C1
274 #define DISCOVERY_EXT_I2Cx_SDA_PIN GPIO_PIN_9
278 #define DISCOVERY_EXT_I2Cx_EV_IRQn I2C1_EV_IRQn
279 #define DISCOVERY_EXT_I2Cx_ER_IRQn I2C1_ER_IRQn
280 
281 /* I2C TIMING Register define when I2C clock source is SYSCLK */
282 /* I2C TIMING is calculated from APB1 source clock = 50 MHz */
283 /* Due to the big MOFSET capacity for adapting the camera level the rising time is very large (>1us) */
284 /* 0x40912732 takes in account the big rising and aims a clock of 100khz */
285 /* this value might be adapted when next Rev Birdie board is available */
286 #ifndef DISCOVERY_I2Cx_TIMING
287 #define DISCOVERY_I2Cx_TIMING ((uint32_t)0x40912732)
288 #endif /* DISCOVERY_I2Cx_TIMING */
289 
290 
305 uint32_t BSP_GetVersion(void);
306 void BSP_LED_Init(Led_TypeDef Led);
307 void BSP_LED_DeInit(Led_TypeDef Led);
308 void BSP_LED_On(Led_TypeDef Led);
309 void BSP_LED_Off(Led_TypeDef Led);
310 void BSP_LED_Toggle(Led_TypeDef Led);
311 void BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode);
312 void BSP_PB_DeInit(Button_TypeDef Button);
313 uint32_t BSP_PB_GetState(Button_TypeDef Button);
314 
336 #ifdef __cplusplus
337 }
338 #endif
339 
340 #endif /* __STM32F769I_DISCOVERY_H */
341 
342 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
void BSP_LED_Off(Led_TypeDef Led)
Turns selected LED Off.
void BSP_LED_On(Led_TypeDef Led)
Turns selected LED On.
uint32_t BSP_GetVersion(void)
This method returns the STM32F769I Discovery BSP Driver revision.
void BSP_PB_DeInit(Button_TypeDef Button)
Push Button DeInit.
void BSP_LED_DeInit(Led_TypeDef Led)
DeInit LEDs.
uint32_t BSP_PB_GetState(Button_TypeDef Button)
Returns the selected button state.
DISCO_Status_TypeDef
DISCO_Status_TypeDef STM32F769I_DISCO board Status return possible values.
ButtonMode_TypeDef
ButtonMode_TypeDef STM32F769I_Discovery board Buttons Modes definitions.
This file contains all the functions prototypes for the HAL module driver.
Led_TypeDef
Led_TypeDef STM32F769I_Discovery board leds definitions.
Button_TypeDef
Button_TypeDef STM32F769I_Discovery board Buttons definitions.
ButtonValue_TypeDef
void BSP_LED_Toggle(Led_TypeDef Led)
Toggles the selected LED.
void BSP_PB_Init(Button_TypeDef Button, ButtonMode_TypeDef Button_Mode)
Configures button GPIO and EXTI Line.
void BSP_LED_Init(Led_TypeDef Led)
Configures LED GPIO.