1818#ifndef __MAIN_H
1919#define __MAIN_H
2020
21- /* Includes ------------------------------------------------------------------*/
2221#include "stm32f7xx_hal.h"
2322#include "cmsis_os.h"
24-
25- /* Private includes ----------------------------------------------------------*/
26- #include "stm32746g_discovery_audio.h"
23+ #include "pinconfig.h"
2724
2825void HAL_TIM_MspPostInit (TIM_HandleTypeDef * htim );
2926
30- /* Exported functions prototypes ---------------------------------------------*/
31- void Error_Handler (void );
32-
33- /* Private defines -----------------------------------------------------------*/
34- #define LCD_B0_Pin GPIO_PIN_4
35- #define LCD_B0_GPIO_Port GPIOE
36- #define OTG_HS_OverCurrent_Pin GPIO_PIN_3
37- #define OTG_HS_OverCurrent_GPIO_Port GPIOE
38- #define QSPI_D2_Pin GPIO_PIN_2
39- #define QSPI_D2_GPIO_Port GPIOE
40- #define RMII_TXD1_Pin GPIO_PIN_14
41- #define RMII_TXD1_GPIO_Port GPIOG
42- #define FMC_NBL1_Pin GPIO_PIN_1
43- #define FMC_NBL1_GPIO_Port GPIOE
44- #define FMC_NBL0_Pin GPIO_PIN_0
45- #define FMC_NBL0_GPIO_Port GPIOE
46- #define ARDUINO_SCL_D15_Pin GPIO_PIN_8
47- #define ARDUINO_SCL_D15_GPIO_Port GPIOB
48- #define ULPI_D7_Pin GPIO_PIN_5
49- #define ULPI_D7_GPIO_Port GPIOB
50- #define ARDUINO_PWM_D3_Pin GPIO_PIN_4
51- #define ARDUINO_PWM_D3_GPIO_Port GPIOB
52- #define SWO_Pin GPIO_PIN_3
53- #define SWO_GPIO_Port GPIOB
54- #define SPDIF_RX0_Pin GPIO_PIN_7
55- #define SPDIF_RX0_GPIO_Port GPIOD
56- #define SDMMC_CK_Pin GPIO_PIN_12
57- #define SDMMC_CK_GPIO_Port GPIOC
58- #define ARDUINO_PWM_D9_Pin GPIO_PIN_15
59- #define ARDUINO_PWM_D9_GPIO_Port GPIOA
60- #define SWCLK_Pin GPIO_PIN_14
61- #define SWCLK_GPIO_Port GPIOA
62- #define SWDIO_Pin GPIO_PIN_13
63- #define SWDIO_GPIO_Port GPIOA
64- #define DCMI_D6_Pin GPIO_PIN_5
65- #define DCMI_D6_GPIO_Port GPIOE
66- #define DCMI_D7_Pin GPIO_PIN_6
67- #define DCMI_D7_GPIO_Port GPIOE
68- #define RMII_TXD0_Pin GPIO_PIN_13
69- #define RMII_TXD0_GPIO_Port GPIOG
70- #define ARDUINO_SDA_D14_Pin GPIO_PIN_9
71- #define ARDUINO_SDA_D14_GPIO_Port GPIOB
72- #define VCP_RX_Pin GPIO_PIN_7
73- #define VCP_RX_GPIO_Port GPIOB
74- #define QSPI_NCS_Pin GPIO_PIN_6
75- #define QSPI_NCS_GPIO_Port GPIOB
76- #define FMC_SDNCAS_Pin GPIO_PIN_15
77- #define FMC_SDNCAS_GPIO_Port GPIOG
78- #define RMII_TX_EN_Pin GPIO_PIN_11
79- #define RMII_TX_EN_GPIO_Port GPIOG
80- #define LCD_B1_Pin GPIO_PIN_13
81- #define LCD_B1_GPIO_Port GPIOJ
82- #define OTG_FS_VBUS_Pin GPIO_PIN_12
83- #define OTG_FS_VBUS_GPIO_Port GPIOJ
84- #define FMC_D2_Pin GPIO_PIN_0
85- #define FMC_D2_GPIO_Port GPIOD
86- #define SDMMC_D3_Pin GPIO_PIN_11
87- #define SDMMC_D3_GPIO_Port GPIOC
88- #define SDMMC_D2_Pin GPIO_PIN_10
89- #define SDMMC_D2_GPIO_Port GPIOC
90- #define OTG_FS_P_Pin GPIO_PIN_12
91- #define OTG_FS_P_GPIO_Port GPIOA
92- #define NC1_Pin GPIO_PIN_8
93- #define NC1_GPIO_Port GPIOI
94- #define SAI2_MCLKA_Pin GPIO_PIN_4
95- #define SAI2_MCLKA_GPIO_Port GPIOI
96- #define LCD_DE_Pin GPIO_PIN_7
97- #define LCD_DE_GPIO_Port GPIOK
98- #define LCD_B7_Pin GPIO_PIN_6
99- #define LCD_B7_GPIO_Port GPIOK
100- #define LCD_B6_Pin GPIO_PIN_5
101- #define LCD_B6_GPIO_Port GPIOK
102- #define LCD_B4_Pin GPIO_PIN_12
103- #define LCD_B4_GPIO_Port GPIOG
104- #define SAI2_SDB_Pin GPIO_PIN_10
105- #define SAI2_SDB_GPIO_Port GPIOG
106- #define LCD_B2_Pin GPIO_PIN_14
107- #define LCD_B2_GPIO_Port GPIOJ
108- #define OTG_FS_PowerSwitchOn_Pin GPIO_PIN_5
109- #define OTG_FS_PowerSwitchOn_GPIO_Port GPIOD
110- #define DCMI_D5_Pin GPIO_PIN_3
111- #define DCMI_D5_GPIO_Port GPIOD
112- #define FMC_D3_Pin GPIO_PIN_1
113- #define FMC_D3_GPIO_Port GPIOD
114- #define ARDUINO_D7_Pin GPIO_PIN_3
115- #define ARDUINO_D7_GPIO_Port GPIOI
116- #define ARDUINO_D8_Pin GPIO_PIN_2
117- #define ARDUINO_D8_GPIO_Port GPIOI
118- #define OTG_FS_N_Pin GPIO_PIN_11
119- #define OTG_FS_N_GPIO_Port GPIOA
120- #define uSD_Detect_Pin GPIO_PIN_13
121- #define uSD_Detect_GPIO_Port GPIOC
122- #define FMC_A0_Pin GPIO_PIN_0
123- #define FMC_A0_GPIO_Port GPIOF
124- #define SAI2_SCKA_Pin GPIO_PIN_5
125- #define SAI2_SCKA_GPIO_Port GPIOI
126- #define SAI2_FSA_Pin GPIO_PIN_7
127- #define SAI2_FSA_GPIO_Port GPIOI
128- #define LCD_HSYNC_Pin GPIO_PIN_10
129- #define LCD_HSYNC_GPIO_Port GPIOI
130- #define SAI2_SDA_Pin GPIO_PIN_6
131- #define SAI2_SDA_GPIO_Port GPIOI
132- #define LCD_B5_Pin GPIO_PIN_4
133- #define LCD_B5_GPIO_Port GPIOK
134- #define LCD_BL_CTRL_Pin GPIO_PIN_3
135- #define LCD_BL_CTRL_GPIO_Port GPIOK
136- #define DCMI_VSYNC_Pin GPIO_PIN_9
137- #define DCMI_VSYNC_GPIO_Port GPIOG
138- #define LCD_B3_Pin GPIO_PIN_15
139- #define LCD_B3_GPIO_Port GPIOJ
140- #define OTG_FS_OverCurrent_Pin GPIO_PIN_4
141- #define OTG_FS_OverCurrent_GPIO_Port GPIOD
142- #define SDMMC_CMD_Pin GPIO_PIN_2
143- #define SDMMC_CMD_GPIO_Port GPIOD
144- #define TP3_Pin GPIO_PIN_15
145- #define TP3_GPIO_Port GPIOH
146- #define ARDUINO_SCK_D13_Pin GPIO_PIN_1
147- #define ARDUINO_SCK_D13_GPIO_Port GPIOI
148- #define ARDUINO_SCK_D13_EXTI_IRQn EXTI9_5_IRQn
149- #define OTG_FS_ID_Pin GPIO_PIN_10
150- #define OTG_FS_ID_GPIO_Port GPIOA
151- #define RCC_OSC32_IN_Pin GPIO_PIN_14
152- #define RCC_OSC32_IN_GPIO_Port GPIOC
153- #define FMC_A1_Pin GPIO_PIN_1
154- #define FMC_A1_GPIO_Port GPIOF
155- #define LCD_DISP_Pin GPIO_PIN_12
156- #define LCD_DISP_GPIO_Port GPIOI
157- #define LCD_VSYNC_Pin GPIO_PIN_9
158- #define LCD_VSYNC_GPIO_Port GPIOI
159- #define DCMI_PWR_EN_Pin GPIO_PIN_13
160- #define DCMI_PWR_EN_GPIO_Port GPIOH
161- #define DCMI_D4_Pin GPIO_PIN_14
162- #define DCMI_D4_GPIO_Port GPIOH
163- #define ARDUINO_PWM_CS_D5_Pin GPIO_PIN_0
164- #define ARDUINO_PWM_CS_D5_GPIO_Port GPIOI
165- #define VCP_TX_Pin GPIO_PIN_9
166- #define VCP_TX_GPIO_Port GPIOA
167- #define RCC_OSC32_OUT_Pin GPIO_PIN_15
168- #define RCC_OSC32_OUT_GPIO_Port GPIOC
169- #define LCD_G6_Pin GPIO_PIN_1
170- #define LCD_G6_GPIO_Port GPIOK
171- #define LCD_G7_Pin GPIO_PIN_2
172- #define LCD_G7_GPIO_Port GPIOK
173- #define ARDUINO_PWM_D10_Pin GPIO_PIN_8
174- #define ARDUINO_PWM_D10_GPIO_Port GPIOA
175- #define OSC_25M_Pin GPIO_PIN_0
176- #define OSC_25M_GPIO_Port GPIOH
177- #define FMC_A2_Pin GPIO_PIN_2
178- #define FMC_A2_GPIO_Port GPIOF
179- #define LCD_INT_Pin GPIO_PIN_13
180- #define LCD_INT_GPIO_Port GPIOI
181- #define LCD_R0_Pin GPIO_PIN_15
182- #define LCD_R0_GPIO_Port GPIOI
183- #define LCD_G4_Pin GPIO_PIN_11
184- #define LCD_G4_GPIO_Port GPIOJ
185- #define LCD_G5_Pin GPIO_PIN_0
186- #define LCD_G5_GPIO_Port GPIOK
187- #define ARDUINO_RX_D0_Pin GPIO_PIN_7
188- #define ARDUINO_RX_D0_GPIO_Port GPIOC
189- #define FMC_A3_Pin GPIO_PIN_3
190- #define FMC_A3_GPIO_Port GPIOF
191- #define LCD_CLK_Pin GPIO_PIN_14
192- #define LCD_CLK_GPIO_Port GPIOI
193- #define ULPI_NXT_Pin GPIO_PIN_4
194- #define ULPI_NXT_GPIO_Port GPIOH
195- #define LCD_G1_Pin GPIO_PIN_8
196- #define LCD_G1_GPIO_Port GPIOJ
197- #define LCD_G3_Pin GPIO_PIN_10
198- #define LCD_G3_GPIO_Port GPIOJ
199- #define FMC_SDCLK_Pin GPIO_PIN_8
200- #define FMC_SDCLK_GPIO_Port GPIOG
201- #define ARDUINO_TX_D1_Pin GPIO_PIN_6
202- #define ARDUINO_TX_D1_GPIO_Port GPIOC
203- #define FMC_A4_Pin GPIO_PIN_4
204- #define FMC_A4_GPIO_Port GPIOF
205- #define FMC_SDNME_Pin GPIO_PIN_5
206- #define FMC_SDNME_GPIO_Port GPIOH
207- #define FMC_SDNE0_Pin GPIO_PIN_3
208- #define FMC_SDNE0_GPIO_Port GPIOH
209- #define LCD_G0_Pin GPIO_PIN_7
210- #define LCD_G0_GPIO_Port GPIOJ
211- #define LCD_G2_Pin GPIO_PIN_9
212- #define LCD_G2_GPIO_Port GPIOJ
213- #define ARDUINO_D6_Pin GPIO_PIN_6
214- #define ARDUINO_D6_GPIO_Port GPIOH
215- #define ARDUINO_D5_Pin GPIO_PIN_0
216- #define ARDUINO_D5_GPIO_Port GPIOI
217- #define ARDUINO_D4_Pin GPIO_PIN_7
218- #define ARDUINO_D4_GPIO_Port GPIOG
219- #define ARDUINO_D3_Pin GPIO_PIN_4
220- #define ARDUINO_D3_GPIO_Port GPIOB
221- #define ARDUINO_D2_Pin GPIO_PIN_6
222- #define ARDUINO_D2_GPIO_Port GPIOG
223- #define ARDUINO_D2_EXTI_IRQn EXTI9_5_IRQn
224- #define ARDUINO_A4_Pin GPIO_PIN_7
225- #define ARDUINO_A4_GPIO_Port GPIOF
226- #define ARDUINO_A5_Pin GPIO_PIN_6
227- #define ARDUINO_A5_GPIO_Port GPIOF
228- #define FMC_A5_Pin GPIO_PIN_5
229- #define FMC_A5_GPIO_Port GPIOF
230- #define NC2_Pin GPIO_PIN_2
231- #define NC2_GPIO_Port GPIOH
232- #define LCD_R7_Pin GPIO_PIN_6
233- #define LCD_R7_GPIO_Port GPIOJ
234- #define FMC_D1_Pin GPIO_PIN_15
235- #define FMC_D1_GPIO_Port GPIOD
236- #define FMC_D15_Pin GPIO_PIN_10
237- #define FMC_D15_GPIO_Port GPIOD
238- #define ARDUINO_A1_Pin GPIO_PIN_10
239- #define ARDUINO_A1_GPIO_Port GPIOF
240- #define ARDUINO_A2_Pin GPIO_PIN_9
241- #define ARDUINO_A2_GPIO_Port GPIOF
242- #define ARDUINO_A3_Pin GPIO_PIN_8
243- #define ARDUINO_A3_GPIO_Port GPIOF
244- #define FMC_SDCKE0_Pin GPIO_PIN_3
245- #define FMC_SDCKE0_GPIO_Port GPIOC
246- #define FMC_D0_Pin GPIO_PIN_14
247- #define FMC_D0_GPIO_Port GPIOD
248- #define FMC_D14_Pin GPIO_PIN_9
249- #define FMC_D14_GPIO_Port GPIOD
250- #define FMC_D13_Pin GPIO_PIN_8
251- #define FMC_D13_GPIO_Port GPIOD
252- #define ULPI_STP_Pin GPIO_PIN_0
253- #define ULPI_STP_GPIO_Port GPIOC
254- #define RMII_MDC_Pin GPIO_PIN_1
255- #define RMII_MDC_GPIO_Port GPIOC
256- #define ULPI_DIR_Pin GPIO_PIN_2
257- #define ULPI_DIR_GPIO_Port GPIOC
258- #define FMC_A6_Pin GPIO_PIN_12
259- #define FMC_A6_GPIO_Port GPIOF
260- #define FMC_A11_Pin GPIO_PIN_1
261- #define FMC_A11_GPIO_Port GPIOG
262- #define FMC_A9_Pin GPIO_PIN_15
263- #define FMC_A9_GPIO_Port GPIOF
264- #define LCD_R5_Pin GPIO_PIN_4
265- #define LCD_R5_GPIO_Port GPIOJ
266- #define QSPI_D1_Pin GPIO_PIN_12
267- #define QSPI_D1_GPIO_Port GPIOD
268- #define QSPI_D3_Pin GPIO_PIN_13
269- #define QSPI_D3_GPIO_Port GPIOD
270- #define EXT_RST_Pin GPIO_PIN_3
271- #define EXT_RST_GPIO_Port GPIOG
272- #define RMII_RXER_Pin GPIO_PIN_2
273- #define RMII_RXER_GPIO_Port GPIOG
274- #define LCD_R6_Pin GPIO_PIN_5
275- #define LCD_R6_GPIO_Port GPIOJ
276- #define DCMI_D3_Pin GPIO_PIN_12
277- #define DCMI_D3_GPIO_Port GPIOH
278- #define RMII_REF_CLK_Pin GPIO_PIN_1
279- #define RMII_REF_CLK_GPIO_Port GPIOA
280- #define ARDUINO_A0_Pin GPIO_PIN_0
281- #define ARDUINO_A0_GPIO_Port GPIOA
282- #define RMII_RXD0_Pin GPIO_PIN_4
283- #define RMII_RXD0_GPIO_Port GPIOC
284- #define FMC_A7_Pin GPIO_PIN_13
285- #define FMC_A7_GPIO_Port GPIOF
286- #define FMC_A10_Pin GPIO_PIN_0
287- #define FMC_A10_GPIO_Port GPIOG
288- #define LCD_R4_Pin GPIO_PIN_3
289- #define LCD_R4_GPIO_Port GPIOJ
290- #define FMC_D5_Pin GPIO_PIN_8
291- #define FMC_D5_GPIO_Port GPIOE
292- #define QSPI_D0_Pin GPIO_PIN_11
293- #define QSPI_D0_GPIO_Port GPIOD
294- #define FMC_BA1_Pin GPIO_PIN_5
295- #define FMC_BA1_GPIO_Port GPIOG
296- #define FMC_BA0_Pin GPIO_PIN_4
297- #define FMC_BA0_GPIO_Port GPIOG
298- #define LCD_SCL_Pin GPIO_PIN_7
299- #define LCD_SCL_GPIO_Port GPIOH
300- #define DCMI_D0_Pin GPIO_PIN_9
301- #define DCMI_D0_GPIO_Port GPIOH
302- #define DCMI_D2_Pin GPIO_PIN_11
303- #define DCMI_D2_GPIO_Port GPIOH
304- #define RMII_MDIO_Pin GPIO_PIN_2
305- #define RMII_MDIO_GPIO_Port GPIOA
306- #define ULPI_CLK_Pin GPIO_PIN_5
307- #define ULPI_CLK_GPIO_Port GPIOA
308- #define RMII_RXD1_Pin GPIO_PIN_5
309- #define RMII_RXD1_GPIO_Port GPIOC
310- #define FMC_A8_Pin GPIO_PIN_14
311- #define FMC_A8_GPIO_Port GPIOF
312- #define LCD_R3_Pin GPIO_PIN_2
313- #define LCD_R3_GPIO_Port GPIOJ
314- #define FMC_SDNRAS_Pin GPIO_PIN_11
315- #define FMC_SDNRAS_GPIO_Port GPIOF
316- #define FMC_D6_Pin GPIO_PIN_9
317- #define FMC_D6_GPIO_Port GPIOE
318- #define FMC_D8_Pin GPIO_PIN_11
319- #define FMC_D8_GPIO_Port GPIOE
320- #define FMC_D11_Pin GPIO_PIN_14
321- #define FMC_D11_GPIO_Port GPIOE
322- #define ULPI_D3_Pin GPIO_PIN_10
323- #define ULPI_D3_GPIO_Port GPIOB
324- #define ARDUINO_PWM_D6_Pin GPIO_PIN_6
325- #define ARDUINO_PWM_D6_GPIO_Port GPIOH
326- #define LCD_SDA_Pin GPIO_PIN_8
327- #define LCD_SDA_GPIO_Port GPIOH
328- #define DCMI_D1_Pin GPIO_PIN_10
329- #define DCMI_D1_GPIO_Port GPIOH
330- #define ULPI_D0_Pin GPIO_PIN_3
331- #define ULPI_D0_GPIO_Port GPIOA
332- #define RMII_CRS_DV_Pin GPIO_PIN_7
333- #define RMII_CRS_DV_GPIO_Port GPIOA
334- #define ULPI_D2_Pin GPIO_PIN_1
335- #define ULPI_D2_GPIO_Port GPIOB
336- #define ULPI_D1_Pin GPIO_PIN_0
337- #define ULPI_D1_GPIO_Port GPIOB
338- #define LCD_R1_Pin GPIO_PIN_0
339- #define LCD_R1_GPIO_Port GPIOJ
340- #define LCD_R2_Pin GPIO_PIN_1
341- #define LCD_R2_GPIO_Port GPIOJ
342- #define FMC_D4_Pin GPIO_PIN_7
343- #define FMC_D4_GPIO_Port GPIOE
344- #define FMC_D7_Pin GPIO_PIN_10
345- #define FMC_D7_GPIO_Port GPIOE
346- #define FMC_D9_Pin GPIO_PIN_12
347- #define FMC_D9_GPIO_Port GPIOE
348- #define FMC_D12_Pin GPIO_PIN_15
349- #define FMC_D12_GPIO_Port GPIOE
350- #define FMC_D10_Pin GPIO_PIN_13
351- #define FMC_D10_GPIO_Port GPIOE
352- #define ULPI_D4_Pin GPIO_PIN_11
353- #define ULPI_D4_GPIO_Port GPIOB
354-
355- // ARD_D11 is used to auto-trigger the mouse button
356- #define ARDUINO_D11_Pin GPIO_PIN_15
357- #define ARDUINO_D11_GPIO_Port GPIOB
358-
359- // ARD_D12 is used to read the mouse button state
360- #define ARDUINO_D12_Pin GPIO_PIN_14
361- #define ARDUINO_D12_GPIO_Port GPIOB
362-
363-
36427extern UART_HandleTypeDef huart1 ;
36528extern TIM_HandleTypeDef htim2 ;
36629
@@ -373,4 +36,12 @@ extern osMessageQId msgQUsbHidEvent;
37336extern osMessageQId msgQGfxTask ;
37437extern SemaphoreHandle_t lvgl_mutex ;
37538
39+ static inline void Error_Handler (void )
40+ {
41+ /* User can add his own implementation to report the HAL error return state */
42+ __disable_irq ();
43+ while (1 ) {};
44+ }
45+
46+
37647#endif /* __MAIN_H */
0 commit comments