Paparazzi UAS
v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
board.h
Go to the documentation of this file.
1
/*
2
ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
3
4
Licensed under the Apache License, Version 2.0 (the "License");
5
you may not use this file except in compliance with the License.
6
You may obtain a copy of the License at
7
8
http://www.apache.org/licenses/LICENSE-2.0
9
10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
*/
16
17
#pragma once
18
19
/*
20
* Board identifier.
21
*/
22
#define BOARD_KAKUTE_F7
23
#define BOARD_NAME "HOLYBRO KAKUTE F7"
24
25
/*
26
* Board oscillators-related settings.
27
*/
28
#if !defined(STM32_HSECLK)
29
#define STM32_HSECLK 8000000U
30
#endif
31
32
#if !defined(STM32_LSECLK)
33
#define STM32_LSECLK 32768U
34
#endif
35
36
#define STM32_LSEDRV (3U << 3U)
37
38
/*
39
* Board voltages.
40
* Required for performance limits calculation.
41
*/
42
#define STM32_VDD 300U
43
44
/*
45
* MCU type as defined in the ST header.
46
*/
47
#define STM32F745xx
48
49
/*
50
* IO pins assignments.
51
*/
52
#define UART4_TX 0U
53
#define UART4_RX 1U
54
#define LED1 2U
55
#define S6 3U
56
#define SDCARD_CS 4U
57
#define SPI1_SCK 5U
58
#define SPI1_MISO 6U
59
#define SPI1_MOSI 7U
60
#define PA08 8U
61
#define UART1_TX 9U
62
#define UART1_RX 10U
63
#define OTG_FS_DM 11U
64
#define OTG_FS_DP 12U
65
#define SWDIO 13U
66
#define SWCLK 14U
67
#define PA15 15U
68
69
#define S4 0U
70
#define S1 1U
71
#define PB02 2U
72
#define PB03 3U
73
#define PB04 4U
74
#define PB05 5U
75
#define I2C1_SCL 6U
76
#define I2C1_SDA 7U
77
#define PB08 8U
78
#define PB09 9U
79
#define UART3_TX 10U
80
#define UART3_RX 11U
81
#define OSD_CS 12U
82
#define SPI2_SCK 13U
83
#define SPI2_MISO 14U
84
#define SPI2_MOSI 15U
85
86
#define PC00 0U
87
#define PC01 1U
88
#define CURRENT_MEAS 2U
89
#define VBAT_MEAS 3U
90
#define PC04 4U
91
#define RSSI 5U
92
#define RC2 6U
93
#define RC1 7U
94
#define PC08 8U
95
#define S5 9U
96
#define PC10 10U
97
#define PC11 11U
98
#define PC12 12U
99
#define PC13 13U
100
#define OSC32_IN 14U
101
#define OSC32_OUT 15U
102
103
#define PD00 0U
104
#define PD01 1U
105
#define PD02 2U
106
#define PD03 3U
107
#define PD04 4U
108
#define UART2_TX 5U
109
#define UART2_RX 6U
110
#define PD07 7U
111
#define PD08 8U
112
#define PD09 9U
113
#define PD10 10U
114
#define PD11 11U
115
#define PD12 12U
116
#define PD13 13U
117
#define PD14 14U
118
#define BUZZER 15U
119
120
#define PE00 0U
121
#define PE01 1U
122
#define SPI4_CLK 2U
123
#define PE03 3U
124
#define IMU_CS 4U
125
#define SPI4_MISO 5U
126
#define SPI4_MOSI 6U
127
#define UART7_RX 7U
128
#define UART7_TX 8U
129
#define S2 9U
130
#define PE10 10U
131
#define S3 11U
132
#define PE12 12U
133
#define PE13 13U
134
#define PE14 14U
135
#define PE15 15U
136
137
#define PF00 0U
138
#define PF01 1U
139
#define PF02 2U
140
#define PF03 3U
141
#define PF04 4U
142
#define PF05 5U
143
#define PF06 6U
144
#define PF07 7U
145
#define PF08 8U
146
#define PF09 9U
147
#define PF10 10U
148
#define PF11 11U
149
#define PF12 12U
150
#define PF13 13U
151
#define PF14 14U
152
#define PF15 15U
153
154
#define PG00 0U
155
#define PG01 1U
156
#define PG02 2U
157
#define PG03 3U
158
#define PG04 4U
159
#define PG05 5U
160
#define PG06 6U
161
#define PG07 7U
162
#define PG08 8U
163
#define PG09 9U
164
#define PG10 10U
165
#define PG11 11U
166
#define PG12 12U
167
#define PG13 13U
168
#define PG14 14U
169
#define PG15 15U
170
171
#define OSC_IN 0U
172
#define OSC_OUT 1U
173
#define PH02 2U
174
#define PH03 3U
175
#define PH04 4U
176
#define PH05 5U
177
#define PH06 6U
178
#define PH07 7U
179
#define PH08 8U
180
#define PH09 9U
181
#define PH10 10U
182
#define PH11 11U
183
#define PH12 12U
184
#define PH13 13U
185
#define PH14 14U
186
#define PH15 15U
187
188
#define PI00 0U
189
#define PI01 1U
190
#define PI02 2U
191
#define PI03 3U
192
#define PI04 4U
193
#define PI05 5U
194
#define PI06 6U
195
#define PI07 7U
196
#define PI08 8U
197
#define PI09 9U
198
#define PI10 10U
199
#define PI11 11U
200
#define PI12 12U
201
#define PI13 13U
202
#define PI14 14U
203
#define PI15 15U
204
205
#define PJ00 0U
206
#define PJ01 1U
207
#define PJ02 2U
208
#define PJ03 3U
209
#define PJ04 4U
210
#define PJ05 5U
211
#define PJ06 6U
212
#define PJ07 7U
213
#define PJ08 8U
214
#define PJ09 9U
215
#define PJ10 10U
216
#define PJ11 11U
217
#define PJ12 12U
218
#define PJ13 13U
219
#define PJ14 14U
220
#define PJ15 15U
221
222
#define PK00 0U
223
#define PK01 1U
224
#define PK02 2U
225
#define PK03 3U
226
#define PK04 4U
227
#define PK05 5U
228
#define PK06 6U
229
#define PK07 7U
230
#define PK08 8U
231
#define PK09 9U
232
#define PK10 10U
233
#define PK11 11U
234
#define PK12 12U
235
#define PK13 13U
236
#define PK14 14U
237
#define PK15 15U
238
239
/*
240
* IO lines assignments.
241
*/
242
#define LINE_UART4_TX PAL_LINE(GPIOA, 0U)
243
#define LINE_UART4_RX PAL_LINE(GPIOA, 1U)
244
#define LINE_LED1 PAL_LINE(GPIOA, 2U)
245
#define LINE_S6 PAL_LINE(GPIOA, 3U)
246
#define LINE_SDCARD_CS PAL_LINE(GPIOA, 4U)
247
#define LINE_SPI1_SCK PAL_LINE(GPIOA, 5U)
248
#define LINE_SPI1_MISO PAL_LINE(GPIOA, 6U)
249
#define LINE_SPI1_MOSI PAL_LINE(GPIOA, 7U)
250
#define LINE_UART1_TX PAL_LINE(GPIOA, 9U)
251
#define LINE_UART1_RX PAL_LINE(GPIOA, 10U)
252
#define LINE_OTG_FS_DM PAL_LINE(GPIOA, 11U)
253
#define LINE_OTG_FS_DP PAL_LINE(GPIOA, 12U)
254
#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
255
#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
256
257
#define LINE_S4 PAL_LINE(GPIOB, 0U)
258
#define LINE_S1 PAL_LINE(GPIOB, 1U)
259
#define LINE_I2C1_SCL PAL_LINE(GPIOB, 6U)
260
#define LINE_I2C1_SDA PAL_LINE(GPIOB, 7U)
261
#define LINE_UART3_TX PAL_LINE(GPIOB, 10U)
262
#define LINE_UART3_RX PAL_LINE(GPIOB, 11U)
263
#define LINE_OSD_CS PAL_LINE(GPIOB, 12U)
264
#define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U)
265
#define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U)
266
#define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U)
267
268
#define LINE_CURRENT_MEAS PAL_LINE(GPIOC, 2U)
269
#define LINE_VBAT_MEAS PAL_LINE(GPIOC, 3U)
270
#define LINE_RSSI PAL_LINE(GPIOC, 5U)
271
#define LINE_RC2 PAL_LINE(GPIOC, 6U)
272
#define LINE_RC1 PAL_LINE(GPIOC, 7U)
273
#define LINE_S5 PAL_LINE(GPIOC, 9U)
274
#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U)
275
#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U)
276
277
#define LINE_UART2_TX PAL_LINE(GPIOD, 5U)
278
#define LINE_UART2_RX PAL_LINE(GPIOD, 6U)
279
#define LINE_BUZZER PAL_LINE(GPIOD, 15U)
280
281
#define LINE_SPI4_CLK PAL_LINE(GPIOE, 2U)
282
#define LINE_IMU_CS PAL_LINE(GPIOE, 4U)
283
#define LINE_SPI4_MISO PAL_LINE(GPIOE, 5U)
284
#define LINE_SPI4_MOSI PAL_LINE(GPIOE, 6U)
285
#define LINE_UART7_RX PAL_LINE(GPIOE, 7U)
286
#define LINE_UART7_TX PAL_LINE(GPIOE, 8U)
287
#define LINE_S2 PAL_LINE(GPIOE, 9U)
288
#define LINE_S3 PAL_LINE(GPIOE, 11U)
289
290
#define LINE_OSC_IN PAL_LINE(GPIOH, 0U)
291
#define LINE_OSC_OUT PAL_LINE(GPIOH, 1U)
292
293
294
/*
295
* I/O ports initial setup, this configuration is established soon after reset
296
* in the initialization code.
297
* Please refer to the STM32 Reference Manual for details.
298
*/
299
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
300
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
301
#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
302
#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
303
#define PIN_ODR_LEVEL_LOW(n) (0U << (n))
304
#define PIN_ODR_LEVEL_HIGH(n) (1U << (n))
305
#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
306
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
307
#define PIN_OSPEED_SPEED_VERYLOW(n) (0U << ((n) * 2U))
308
#define PIN_OSPEED_SPEED_LOW(n) (1U << ((n) * 2U))
309
#define PIN_OSPEED_SPEED_MEDIUM(n) (2U << ((n) * 2U))
310
#define PIN_OSPEED_SPEED_HIGH(n) (3U << ((n) * 2U))
311
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
312
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
313
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
314
#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
315
316
#define VAL_GPIOA_MODER (PIN_MODE_ALTERNATE(UART4_TX) | \
317
PIN_MODE_ALTERNATE(UART4_RX) | \
318
PIN_MODE_OUTPUT(LED1) | \
319
PIN_MODE_ALTERNATE(S6) | \
320
PIN_MODE_OUTPUT(SDCARD_CS) | \
321
PIN_MODE_ALTERNATE(SPI1_SCK) | \
322
PIN_MODE_ALTERNATE(SPI1_MISO) | \
323
PIN_MODE_ALTERNATE(SPI1_MOSI) | \
324
PIN_MODE_INPUT(PA08) | \
325
PIN_MODE_ALTERNATE(UART1_TX) | \
326
PIN_MODE_ALTERNATE(UART1_RX) | \
327
PIN_MODE_ALTERNATE(OTG_FS_DM) | \
328
PIN_MODE_ALTERNATE(OTG_FS_DP) | \
329
PIN_MODE_ALTERNATE(SWDIO) | \
330
PIN_MODE_ALTERNATE(SWCLK) | \
331
PIN_MODE_INPUT(PA15))
332
333
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(UART4_TX) | \
334
PIN_OTYPE_PUSHPULL(UART4_RX) | \
335
PIN_OTYPE_PUSHPULL(LED1) | \
336
PIN_OTYPE_PUSHPULL(S6) | \
337
PIN_OTYPE_PUSHPULL(SDCARD_CS) | \
338
PIN_OTYPE_PUSHPULL(SPI1_SCK) | \
339
PIN_OTYPE_PUSHPULL(SPI1_MISO) | \
340
PIN_OTYPE_PUSHPULL(SPI1_MOSI) | \
341
PIN_OTYPE_PUSHPULL(PA08) | \
342
PIN_OTYPE_PUSHPULL(UART1_TX) | \
343
PIN_OTYPE_PUSHPULL(UART1_RX) | \
344
PIN_OTYPE_PUSHPULL(OTG_FS_DM) | \
345
PIN_OTYPE_PUSHPULL(OTG_FS_DP) | \
346
PIN_OTYPE_PUSHPULL(SWDIO) | \
347
PIN_OTYPE_PUSHPULL(SWCLK) | \
348
PIN_OTYPE_PUSHPULL(PA15))
349
350
#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_SPEED_HIGH(UART4_TX) | \
351
PIN_OSPEED_SPEED_HIGH(UART4_RX) | \
352
PIN_OSPEED_SPEED_VERYLOW(LED1) | \
353
PIN_OSPEED_SPEED_HIGH(S6) | \
354
PIN_OSPEED_SPEED_HIGH(SDCARD_CS) | \
355
PIN_OSPEED_SPEED_HIGH(SPI1_SCK) | \
356
PIN_OSPEED_SPEED_HIGH(SPI1_MISO) | \
357
PIN_OSPEED_SPEED_HIGH(SPI1_MOSI) | \
358
PIN_OSPEED_SPEED_VERYLOW(PA08) | \
359
PIN_OSPEED_SPEED_HIGH(UART1_TX) | \
360
PIN_OSPEED_SPEED_HIGH(UART1_RX) | \
361
PIN_OSPEED_SPEED_HIGH(OTG_FS_DM) | \
362
PIN_OSPEED_SPEED_HIGH(OTG_FS_DP) | \
363
PIN_OSPEED_SPEED_HIGH(SWDIO) | \
364
PIN_OSPEED_SPEED_HIGH(SWCLK) | \
365
PIN_OSPEED_SPEED_VERYLOW(PA15))
366
367
#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(UART4_TX) | \
368
PIN_PUPDR_FLOATING(UART4_RX) | \
369
PIN_PUPDR_FLOATING(LED1) | \
370
PIN_PUPDR_FLOATING(S6) | \
371
PIN_PUPDR_FLOATING(SDCARD_CS) | \
372
PIN_PUPDR_FLOATING(SPI1_SCK) | \
373
PIN_PUPDR_FLOATING(SPI1_MISO) | \
374
PIN_PUPDR_FLOATING(SPI1_MOSI) | \
375
PIN_PUPDR_PULLDOWN(PA08) | \
376
PIN_PUPDR_FLOATING(UART1_TX) | \
377
PIN_PUPDR_FLOATING(UART1_RX) | \
378
PIN_PUPDR_FLOATING(OTG_FS_DM) | \
379
PIN_PUPDR_FLOATING(OTG_FS_DP) | \
380
PIN_PUPDR_FLOATING(SWDIO) | \
381
PIN_PUPDR_FLOATING(SWCLK) | \
382
PIN_PUPDR_PULLDOWN(PA15))
383
384
#define VAL_GPIOA_ODR (PIN_ODR_LEVEL_HIGH(UART4_TX) | \
385
PIN_ODR_LEVEL_HIGH(UART4_RX) | \
386
PIN_ODR_LEVEL_LOW(LED1) | \
387
PIN_ODR_LEVEL_LOW(S6) | \
388
PIN_ODR_LEVEL_HIGH(SDCARD_CS) | \
389
PIN_ODR_LEVEL_HIGH(SPI1_SCK) | \
390
PIN_ODR_LEVEL_HIGH(SPI1_MISO) | \
391
PIN_ODR_LEVEL_HIGH(SPI1_MOSI) | \
392
PIN_ODR_LEVEL_LOW(PA08) | \
393
PIN_ODR_LEVEL_HIGH(UART1_TX) | \
394
PIN_ODR_LEVEL_HIGH(UART1_RX) | \
395
PIN_ODR_LEVEL_HIGH(OTG_FS_DM) | \
396
PIN_ODR_LEVEL_HIGH(OTG_FS_DP) | \
397
PIN_ODR_LEVEL_HIGH(SWDIO) | \
398
PIN_ODR_LEVEL_HIGH(SWCLK) | \
399
PIN_ODR_LEVEL_LOW(PA15))
400
401
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(UART4_TX, 8) | \
402
PIN_AFIO_AF(UART4_RX, 8) | \
403
PIN_AFIO_AF(LED1, 0) | \
404
PIN_AFIO_AF(S6, 2) | \
405
PIN_AFIO_AF(SDCARD_CS, 0) | \
406
PIN_AFIO_AF(SPI1_SCK, 5) | \
407
PIN_AFIO_AF(SPI1_MISO, 5) | \
408
PIN_AFIO_AF(SPI1_MOSI, 5))
409
410
#define VAL_GPIOA_AFRH (PIN_AFIO_AF(PA08, 0) | \
411
PIN_AFIO_AF(UART1_TX, 7) | \
412
PIN_AFIO_AF(UART1_RX, 7) | \
413
PIN_AFIO_AF(OTG_FS_DM, 10) | \
414
PIN_AFIO_AF(OTG_FS_DP, 10) | \
415
PIN_AFIO_AF(SWDIO, 0) | \
416
PIN_AFIO_AF(SWCLK, 0) | \
417
PIN_AFIO_AF(PA15, 0))
418
419
#define VAL_GPIOB_MODER (PIN_MODE_ALTERNATE(S4) | \
420
PIN_MODE_ALTERNATE(S1) | \
421
PIN_MODE_INPUT(PB02) | \
422
PIN_MODE_INPUT(PB03) | \
423
PIN_MODE_INPUT(PB04) | \
424
PIN_MODE_INPUT(PB05) | \
425
PIN_MODE_ALTERNATE(I2C1_SCL) | \
426
PIN_MODE_ALTERNATE(I2C1_SDA) | \
427
PIN_MODE_INPUT(PB08) | \
428
PIN_MODE_INPUT(PB09) | \
429
PIN_MODE_ALTERNATE(UART3_TX) | \
430
PIN_MODE_ALTERNATE(UART3_RX) | \
431
PIN_MODE_OUTPUT(OSD_CS) | \
432
PIN_MODE_ALTERNATE(SPI2_SCK) | \
433
PIN_MODE_ALTERNATE(SPI2_MISO) | \
434
PIN_MODE_ALTERNATE(SPI2_MOSI))
435
436
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(S4) | \
437
PIN_OTYPE_PUSHPULL(S1) | \
438
PIN_OTYPE_PUSHPULL(PB02) | \
439
PIN_OTYPE_PUSHPULL(PB03) | \
440
PIN_OTYPE_PUSHPULL(PB04) | \
441
PIN_OTYPE_PUSHPULL(PB05) | \
442
PIN_OTYPE_OPENDRAIN(I2C1_SCL) | \
443
PIN_OTYPE_OPENDRAIN(I2C1_SDA) | \
444
PIN_OTYPE_PUSHPULL(PB08) | \
445
PIN_OTYPE_PUSHPULL(PB09) | \
446
PIN_OTYPE_PUSHPULL(UART3_TX) | \
447
PIN_OTYPE_PUSHPULL(UART3_RX) | \
448
PIN_OTYPE_PUSHPULL(OSD_CS) | \
449
PIN_OTYPE_PUSHPULL(SPI2_SCK) | \
450
PIN_OTYPE_PUSHPULL(SPI2_MISO) | \
451
PIN_OTYPE_PUSHPULL(SPI2_MOSI))
452
453
#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_SPEED_HIGH(S4) | \
454
PIN_OSPEED_SPEED_HIGH(S1) | \
455
PIN_OSPEED_SPEED_VERYLOW(PB02) | \
456
PIN_OSPEED_SPEED_VERYLOW(PB03) | \
457
PIN_OSPEED_SPEED_VERYLOW(PB04) | \
458
PIN_OSPEED_SPEED_VERYLOW(PB05) | \
459
PIN_OSPEED_SPEED_HIGH(I2C1_SCL) | \
460
PIN_OSPEED_SPEED_HIGH(I2C1_SDA) | \
461
PIN_OSPEED_SPEED_VERYLOW(PB08) | \
462
PIN_OSPEED_SPEED_VERYLOW(PB09) | \
463
PIN_OSPEED_SPEED_HIGH(UART3_TX) | \
464
PIN_OSPEED_SPEED_HIGH(UART3_RX) | \
465
PIN_OSPEED_SPEED_HIGH(OSD_CS) | \
466
PIN_OSPEED_SPEED_HIGH(SPI2_SCK) | \
467
PIN_OSPEED_SPEED_HIGH(SPI2_MISO) | \
468
PIN_OSPEED_SPEED_HIGH(SPI2_MOSI))
469
470
#define VAL_GPIOB_PUPDR (PIN_PUPDR_FLOATING(S4) | \
471
PIN_PUPDR_FLOATING(S1) | \
472
PIN_PUPDR_PULLDOWN(PB02) | \
473
PIN_PUPDR_PULLDOWN(PB03) | \
474
PIN_PUPDR_PULLDOWN(PB04) | \
475
PIN_PUPDR_PULLDOWN(PB05) | \
476
PIN_PUPDR_PULLUP(I2C1_SCL) | \
477
PIN_PUPDR_PULLUP(I2C1_SDA) | \
478
PIN_PUPDR_PULLDOWN(PB08) | \
479
PIN_PUPDR_PULLDOWN(PB09) | \
480
PIN_PUPDR_FLOATING(UART3_TX) | \
481
PIN_PUPDR_FLOATING(UART3_RX) | \
482
PIN_PUPDR_FLOATING(OSD_CS) | \
483
PIN_PUPDR_FLOATING(SPI2_SCK) | \
484
PIN_PUPDR_FLOATING(SPI2_MISO) | \
485
PIN_PUPDR_FLOATING(SPI2_MOSI))
486
487
#define VAL_GPIOB_ODR (PIN_ODR_LEVEL_LOW(S4) | \
488
PIN_ODR_LEVEL_LOW(S1) | \
489
PIN_ODR_LEVEL_LOW(PB02) | \
490
PIN_ODR_LEVEL_LOW(PB03) | \
491
PIN_ODR_LEVEL_LOW(PB04) | \
492
PIN_ODR_LEVEL_LOW(PB05) | \
493
PIN_ODR_LEVEL_HIGH(I2C1_SCL) | \
494
PIN_ODR_LEVEL_HIGH(I2C1_SDA) | \
495
PIN_ODR_LEVEL_LOW(PB08) | \
496
PIN_ODR_LEVEL_LOW(PB09) | \
497
PIN_ODR_LEVEL_HIGH(UART3_TX) | \
498
PIN_ODR_LEVEL_HIGH(UART3_RX) | \
499
PIN_ODR_LEVEL_HIGH(OSD_CS) | \
500
PIN_ODR_LEVEL_HIGH(SPI2_SCK) | \
501
PIN_ODR_LEVEL_HIGH(SPI2_MISO) | \
502
PIN_ODR_LEVEL_HIGH(SPI2_MOSI))
503
504
#define VAL_GPIOB_AFRL (PIN_AFIO_AF(S4, 2) | \
505
PIN_AFIO_AF(S1, 1) | \
506
PIN_AFIO_AF(PB02, 0) | \
507
PIN_AFIO_AF(PB03, 0) | \
508
PIN_AFIO_AF(PB04, 0) | \
509
PIN_AFIO_AF(PB05, 0) | \
510
PIN_AFIO_AF(I2C1_SCL, 4) | \
511
PIN_AFIO_AF(I2C1_SDA, 4))
512
513
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(PB08, 0) | \
514
PIN_AFIO_AF(PB09, 0) | \
515
PIN_AFIO_AF(UART3_TX, 7) | \
516
PIN_AFIO_AF(UART3_RX, 7) | \
517
PIN_AFIO_AF(OSD_CS, 0) | \
518
PIN_AFIO_AF(SPI2_SCK, 5) | \
519
PIN_AFIO_AF(SPI2_MISO, 5) | \
520
PIN_AFIO_AF(SPI2_MOSI, 5))
521
522
#define VAL_GPIOC_MODER (PIN_MODE_INPUT(PC00) | \
523
PIN_MODE_INPUT(PC01) | \
524
PIN_MODE_ANALOG(CURRENT_MEAS) | \
525
PIN_MODE_ANALOG(VBAT_MEAS) | \
526
PIN_MODE_INPUT(PC04) | \
527
PIN_MODE_ANALOG(RSSI) | \
528
PIN_MODE_INPUT(RC2) | \
529
PIN_MODE_INPUT(RC1) | \
530
PIN_MODE_INPUT(PC08) | \
531
PIN_MODE_ALTERNATE(S5) | \
532
PIN_MODE_INPUT(PC10) | \
533
PIN_MODE_INPUT(PC11) | \
534
PIN_MODE_INPUT(PC12) | \
535
PIN_MODE_INPUT(PC13) | \
536
PIN_MODE_ALTERNATE(OSC32_IN) | \
537
PIN_MODE_ALTERNATE(OSC32_OUT))
538
539
#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(PC00) | \
540
PIN_OTYPE_PUSHPULL(PC01) | \
541
PIN_OTYPE_PUSHPULL(CURRENT_MEAS) | \
542
PIN_OTYPE_PUSHPULL(VBAT_MEAS) | \
543
PIN_OTYPE_PUSHPULL(PC04) | \
544
PIN_OTYPE_PUSHPULL(RSSI) | \
545
PIN_OTYPE_OPENDRAIN(RC2) | \
546
PIN_OTYPE_OPENDRAIN(RC1) | \
547
PIN_OTYPE_PUSHPULL(PC08) | \
548
PIN_OTYPE_PUSHPULL(S5) | \
549
PIN_OTYPE_PUSHPULL(PC10) | \
550
PIN_OTYPE_PUSHPULL(PC11) | \
551
PIN_OTYPE_PUSHPULL(PC12) | \
552
PIN_OTYPE_PUSHPULL(PC13) | \
553
PIN_OTYPE_PUSHPULL(OSC32_IN) | \
554
PIN_OTYPE_PUSHPULL(OSC32_OUT))
555
556
#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PC00) | \
557
PIN_OSPEED_SPEED_VERYLOW(PC01) | \
558
PIN_OSPEED_SPEED_VERYLOW(CURRENT_MEAS) | \
559
PIN_OSPEED_SPEED_VERYLOW(VBAT_MEAS) | \
560
PIN_OSPEED_SPEED_VERYLOW(PC04) | \
561
PIN_OSPEED_SPEED_VERYLOW(RSSI) | \
562
PIN_OSPEED_SPEED_VERYLOW(RC2) | \
563
PIN_OSPEED_SPEED_VERYLOW(RC1) | \
564
PIN_OSPEED_SPEED_VERYLOW(PC08) | \
565
PIN_OSPEED_SPEED_HIGH(S5) | \
566
PIN_OSPEED_SPEED_VERYLOW(PC10) | \
567
PIN_OSPEED_SPEED_VERYLOW(PC11) | \
568
PIN_OSPEED_SPEED_VERYLOW(PC12) | \
569
PIN_OSPEED_SPEED_VERYLOW(PC13) | \
570
PIN_OSPEED_SPEED_HIGH(OSC32_IN) | \
571
PIN_OSPEED_SPEED_HIGH(OSC32_OUT))
572
573
#define VAL_GPIOC_PUPDR (PIN_PUPDR_PULLDOWN(PC00) | \
574
PIN_PUPDR_PULLDOWN(PC01) | \
575
PIN_PUPDR_FLOATING(CURRENT_MEAS) | \
576
PIN_PUPDR_FLOATING(VBAT_MEAS) | \
577
PIN_PUPDR_PULLDOWN(PC04) | \
578
PIN_PUPDR_FLOATING(RSSI) | \
579
PIN_PUPDR_PULLDOWN(RC2) | \
580
PIN_PUPDR_PULLDOWN(RC1) | \
581
PIN_PUPDR_PULLDOWN(PC08) | \
582
PIN_PUPDR_FLOATING(S5) | \
583
PIN_PUPDR_PULLDOWN(PC10) | \
584
PIN_PUPDR_PULLDOWN(PC11) | \
585
PIN_PUPDR_PULLDOWN(PC12) | \
586
PIN_PUPDR_PULLDOWN(PC13) | \
587
PIN_PUPDR_FLOATING(OSC32_IN) | \
588
PIN_PUPDR_FLOATING(OSC32_OUT))
589
590
#define VAL_GPIOC_ODR (PIN_ODR_LEVEL_LOW(PC00) | \
591
PIN_ODR_LEVEL_LOW(PC01) | \
592
PIN_ODR_LEVEL_LOW(CURRENT_MEAS) | \
593
PIN_ODR_LEVEL_LOW(VBAT_MEAS) | \
594
PIN_ODR_LEVEL_LOW(PC04) | \
595
PIN_ODR_LEVEL_LOW(RSSI) | \
596
PIN_ODR_LEVEL_HIGH(RC2) | \
597
PIN_ODR_LEVEL_HIGH(RC1) | \
598
PIN_ODR_LEVEL_LOW(PC08) | \
599
PIN_ODR_LEVEL_LOW(S5) | \
600
PIN_ODR_LEVEL_LOW(PC10) | \
601
PIN_ODR_LEVEL_LOW(PC11) | \
602
PIN_ODR_LEVEL_LOW(PC12) | \
603
PIN_ODR_LEVEL_LOW(PC13) | \
604
PIN_ODR_LEVEL_HIGH(OSC32_IN) | \
605
PIN_ODR_LEVEL_HIGH(OSC32_OUT))
606
607
#define VAL_GPIOC_AFRL (PIN_AFIO_AF(PC00, 0) | \
608
PIN_AFIO_AF(PC01, 0) | \
609
PIN_AFIO_AF(CURRENT_MEAS, 0) | \
610
PIN_AFIO_AF(VBAT_MEAS, 0) | \
611
PIN_AFIO_AF(PC04, 0) | \
612
PIN_AFIO_AF(RSSI, 0) | \
613
PIN_AFIO_AF(RC2, 0) | \
614
PIN_AFIO_AF(RC1, 0))
615
616
#define VAL_GPIOC_AFRH (PIN_AFIO_AF(PC08, 0) | \
617
PIN_AFIO_AF(S5, 2) | \
618
PIN_AFIO_AF(PC10, 0) | \
619
PIN_AFIO_AF(PC11, 0) | \
620
PIN_AFIO_AF(PC12, 0) | \
621
PIN_AFIO_AF(PC13, 0) | \
622
PIN_AFIO_AF(OSC32_IN, 0) | \
623
PIN_AFIO_AF(OSC32_OUT, 0))
624
625
#define VAL_GPIOD_MODER (PIN_MODE_INPUT(PD00) | \
626
PIN_MODE_INPUT(PD01) | \
627
PIN_MODE_INPUT(PD02) | \
628
PIN_MODE_INPUT(PD03) | \
629
PIN_MODE_INPUT(PD04) | \
630
PIN_MODE_ALTERNATE(UART2_TX) | \
631
PIN_MODE_ALTERNATE(UART2_RX) | \
632
PIN_MODE_INPUT(PD07) | \
633
PIN_MODE_INPUT(PD08) | \
634
PIN_MODE_INPUT(PD09) | \
635
PIN_MODE_INPUT(PD10) | \
636
PIN_MODE_INPUT(PD11) | \
637
PIN_MODE_INPUT(PD12) | \
638
PIN_MODE_INPUT(PD13) | \
639
PIN_MODE_INPUT(PD14) | \
640
PIN_MODE_ALTERNATE(BUZZER))
641
642
#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(PD00) | \
643
PIN_OTYPE_PUSHPULL(PD01) | \
644
PIN_OTYPE_PUSHPULL(PD02) | \
645
PIN_OTYPE_PUSHPULL(PD03) | \
646
PIN_OTYPE_PUSHPULL(PD04) | \
647
PIN_OTYPE_PUSHPULL(UART2_TX) | \
648
PIN_OTYPE_PUSHPULL(UART2_RX) | \
649
PIN_OTYPE_PUSHPULL(PD07) | \
650
PIN_OTYPE_PUSHPULL(PD08) | \
651
PIN_OTYPE_PUSHPULL(PD09) | \
652
PIN_OTYPE_PUSHPULL(PD10) | \
653
PIN_OTYPE_PUSHPULL(PD11) | \
654
PIN_OTYPE_PUSHPULL(PD12) | \
655
PIN_OTYPE_PUSHPULL(PD13) | \
656
PIN_OTYPE_PUSHPULL(PD14) | \
657
PIN_OTYPE_PUSHPULL(BUZZER))
658
659
#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PD00) | \
660
PIN_OSPEED_SPEED_VERYLOW(PD01) | \
661
PIN_OSPEED_SPEED_VERYLOW(PD02) | \
662
PIN_OSPEED_SPEED_VERYLOW(PD03) | \
663
PIN_OSPEED_SPEED_VERYLOW(PD04) | \
664
PIN_OSPEED_SPEED_HIGH(UART2_TX) | \
665
PIN_OSPEED_SPEED_HIGH(UART2_RX) | \
666
PIN_OSPEED_SPEED_VERYLOW(PD07) | \
667
PIN_OSPEED_SPEED_VERYLOW(PD08) | \
668
PIN_OSPEED_SPEED_VERYLOW(PD09) | \
669
PIN_OSPEED_SPEED_VERYLOW(PD10) | \
670
PIN_OSPEED_SPEED_VERYLOW(PD11) | \
671
PIN_OSPEED_SPEED_VERYLOW(PD12) | \
672
PIN_OSPEED_SPEED_VERYLOW(PD13) | \
673
PIN_OSPEED_SPEED_VERYLOW(PD14) | \
674
PIN_OSPEED_SPEED_HIGH(BUZZER))
675
676
#define VAL_GPIOD_PUPDR (PIN_PUPDR_PULLDOWN(PD00) | \
677
PIN_PUPDR_PULLDOWN(PD01) | \
678
PIN_PUPDR_PULLDOWN(PD02) | \
679
PIN_PUPDR_PULLDOWN(PD03) | \
680
PIN_PUPDR_PULLDOWN(PD04) | \
681
PIN_PUPDR_FLOATING(UART2_TX) | \
682
PIN_PUPDR_FLOATING(UART2_RX) | \
683
PIN_PUPDR_PULLDOWN(PD07) | \
684
PIN_PUPDR_PULLDOWN(PD08) | \
685
PIN_PUPDR_PULLDOWN(PD09) | \
686
PIN_PUPDR_PULLDOWN(PD10) | \
687
PIN_PUPDR_PULLDOWN(PD11) | \
688
PIN_PUPDR_PULLDOWN(PD12) | \
689
PIN_PUPDR_PULLDOWN(PD13) | \
690
PIN_PUPDR_PULLDOWN(PD14) | \
691
PIN_PUPDR_FLOATING(BUZZER))
692
693
#define VAL_GPIOD_ODR (PIN_ODR_LEVEL_LOW(PD00) | \
694
PIN_ODR_LEVEL_LOW(PD01) | \
695
PIN_ODR_LEVEL_LOW(PD02) | \
696
PIN_ODR_LEVEL_LOW(PD03) | \
697
PIN_ODR_LEVEL_LOW(PD04) | \
698
PIN_ODR_LEVEL_HIGH(UART2_TX) | \
699
PIN_ODR_LEVEL_HIGH(UART2_RX) | \
700
PIN_ODR_LEVEL_LOW(PD07) | \
701
PIN_ODR_LEVEL_LOW(PD08) | \
702
PIN_ODR_LEVEL_LOW(PD09) | \
703
PIN_ODR_LEVEL_LOW(PD10) | \
704
PIN_ODR_LEVEL_LOW(PD11) | \
705
PIN_ODR_LEVEL_LOW(PD12) | \
706
PIN_ODR_LEVEL_LOW(PD13) | \
707
PIN_ODR_LEVEL_LOW(PD14) | \
708
PIN_ODR_LEVEL_LOW(BUZZER))
709
710
#define VAL_GPIOD_AFRL (PIN_AFIO_AF(PD00, 0) | \
711
PIN_AFIO_AF(PD01, 0) | \
712
PIN_AFIO_AF(PD02, 0) | \
713
PIN_AFIO_AF(PD03, 0) | \
714
PIN_AFIO_AF(PD04, 0) | \
715
PIN_AFIO_AF(UART2_TX, 7) | \
716
PIN_AFIO_AF(UART2_RX, 7) | \
717
PIN_AFIO_AF(PD07, 0))
718
719
#define VAL_GPIOD_AFRH (PIN_AFIO_AF(PD08, 0) | \
720
PIN_AFIO_AF(PD09, 0) | \
721
PIN_AFIO_AF(PD10, 0) | \
722
PIN_AFIO_AF(PD11, 0) | \
723
PIN_AFIO_AF(PD12, 0) | \
724
PIN_AFIO_AF(PD13, 0) | \
725
PIN_AFIO_AF(PD14, 0) | \
726
PIN_AFIO_AF(BUZZER, 2))
727
728
#define VAL_GPIOE_MODER (PIN_MODE_INPUT(PE00) | \
729
PIN_MODE_INPUT(PE01) | \
730
PIN_MODE_ALTERNATE(SPI4_CLK) | \
731
PIN_MODE_INPUT(PE03) | \
732
PIN_MODE_OUTPUT(IMU_CS) | \
733
PIN_MODE_ALTERNATE(SPI4_MISO) | \
734
PIN_MODE_ALTERNATE(SPI4_MOSI) | \
735
PIN_MODE_ALTERNATE(UART7_RX) | \
736
PIN_MODE_ALTERNATE(UART7_TX) | \
737
PIN_MODE_ALTERNATE(S2) | \
738
PIN_MODE_INPUT(PE10) | \
739
PIN_MODE_ALTERNATE(S3) | \
740
PIN_MODE_INPUT(PE12) | \
741
PIN_MODE_INPUT(PE13) | \
742
PIN_MODE_INPUT(PE14) | \
743
PIN_MODE_INPUT(PE15))
744
745
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(PE00) | \
746
PIN_OTYPE_PUSHPULL(PE01) | \
747
PIN_OTYPE_PUSHPULL(SPI4_CLK) | \
748
PIN_OTYPE_PUSHPULL(PE03) | \
749
PIN_OTYPE_PUSHPULL(IMU_CS) | \
750
PIN_OTYPE_PUSHPULL(SPI4_MISO) | \
751
PIN_OTYPE_PUSHPULL(SPI4_MOSI) | \
752
PIN_OTYPE_PUSHPULL(UART7_RX) | \
753
PIN_OTYPE_PUSHPULL(UART7_TX) | \
754
PIN_OTYPE_PUSHPULL(S2) | \
755
PIN_OTYPE_PUSHPULL(PE10) | \
756
PIN_OTYPE_PUSHPULL(S3) | \
757
PIN_OTYPE_PUSHPULL(PE12) | \
758
PIN_OTYPE_PUSHPULL(PE13) | \
759
PIN_OTYPE_PUSHPULL(PE14) | \
760
PIN_OTYPE_PUSHPULL(PE15))
761
762
#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PE00) | \
763
PIN_OSPEED_SPEED_VERYLOW(PE01) | \
764
PIN_OSPEED_SPEED_HIGH(SPI4_CLK) | \
765
PIN_OSPEED_SPEED_VERYLOW(PE03) | \
766
PIN_OSPEED_SPEED_HIGH(IMU_CS) | \
767
PIN_OSPEED_SPEED_HIGH(SPI4_MISO) | \
768
PIN_OSPEED_SPEED_HIGH(SPI4_MOSI) | \
769
PIN_OSPEED_SPEED_HIGH(UART7_RX) | \
770
PIN_OSPEED_SPEED_HIGH(UART7_TX) | \
771
PIN_OSPEED_SPEED_HIGH(S2) | \
772
PIN_OSPEED_SPEED_VERYLOW(PE10) | \
773
PIN_OSPEED_SPEED_HIGH(S3) | \
774
PIN_OSPEED_SPEED_VERYLOW(PE12) | \
775
PIN_OSPEED_SPEED_VERYLOW(PE13) | \
776
PIN_OSPEED_SPEED_VERYLOW(PE14) | \
777
PIN_OSPEED_SPEED_VERYLOW(PE15))
778
779
#define VAL_GPIOE_PUPDR (PIN_PUPDR_PULLDOWN(PE00) | \
780
PIN_PUPDR_PULLDOWN(PE01) | \
781
PIN_PUPDR_FLOATING(SPI4_CLK) | \
782
PIN_PUPDR_PULLDOWN(PE03) | \
783
PIN_PUPDR_FLOATING(IMU_CS) | \
784
PIN_PUPDR_FLOATING(SPI4_MISO) | \
785
PIN_PUPDR_FLOATING(SPI4_MOSI) | \
786
PIN_PUPDR_FLOATING(UART7_RX) | \
787
PIN_PUPDR_FLOATING(UART7_TX) | \
788
PIN_PUPDR_FLOATING(S2) | \
789
PIN_PUPDR_PULLDOWN(PE10) | \
790
PIN_PUPDR_FLOATING(S3) | \
791
PIN_PUPDR_PULLDOWN(PE12) | \
792
PIN_PUPDR_PULLDOWN(PE13) | \
793
PIN_PUPDR_PULLDOWN(PE14) | \
794
PIN_PUPDR_PULLDOWN(PE15))
795
796
#define VAL_GPIOE_ODR (PIN_ODR_LEVEL_LOW(PE00) | \
797
PIN_ODR_LEVEL_LOW(PE01) | \
798
PIN_ODR_LEVEL_HIGH(SPI4_CLK) | \
799
PIN_ODR_LEVEL_LOW(PE03) | \
800
PIN_ODR_LEVEL_HIGH(IMU_CS) | \
801
PIN_ODR_LEVEL_HIGH(SPI4_MISO) | \
802
PIN_ODR_LEVEL_HIGH(SPI4_MOSI) | \
803
PIN_ODR_LEVEL_HIGH(UART7_RX) | \
804
PIN_ODR_LEVEL_HIGH(UART7_TX) | \
805
PIN_ODR_LEVEL_LOW(S2) | \
806
PIN_ODR_LEVEL_LOW(PE10) | \
807
PIN_ODR_LEVEL_LOW(S3) | \
808
PIN_ODR_LEVEL_LOW(PE12) | \
809
PIN_ODR_LEVEL_LOW(PE13) | \
810
PIN_ODR_LEVEL_LOW(PE14) | \
811
PIN_ODR_LEVEL_LOW(PE15))
812
813
#define VAL_GPIOE_AFRL (PIN_AFIO_AF(PE00, 0) | \
814
PIN_AFIO_AF(PE01, 0) | \
815
PIN_AFIO_AF(SPI4_CLK, 5) | \
816
PIN_AFIO_AF(PE03, 0) | \
817
PIN_AFIO_AF(IMU_CS, 0) | \
818
PIN_AFIO_AF(SPI4_MISO, 5) | \
819
PIN_AFIO_AF(SPI4_MOSI, 5) | \
820
PIN_AFIO_AF(UART7_RX, 8))
821
822
#define VAL_GPIOE_AFRH (PIN_AFIO_AF(UART7_TX, 8) | \
823
PIN_AFIO_AF(S2, 1) | \
824
PIN_AFIO_AF(PE10, 0) | \
825
PIN_AFIO_AF(S3, 1) | \
826
PIN_AFIO_AF(PE12, 0) | \
827
PIN_AFIO_AF(PE13, 0) | \
828
PIN_AFIO_AF(PE14, 0) | \
829
PIN_AFIO_AF(PE15, 0))
830
831
#define VAL_GPIOF_MODER (PIN_MODE_INPUT(PF00) | \
832
PIN_MODE_INPUT(PF01) | \
833
PIN_MODE_INPUT(PF02) | \
834
PIN_MODE_INPUT(PF03) | \
835
PIN_MODE_INPUT(PF04) | \
836
PIN_MODE_INPUT(PF05) | \
837
PIN_MODE_INPUT(PF06) | \
838
PIN_MODE_INPUT(PF07) | \
839
PIN_MODE_INPUT(PF08) | \
840
PIN_MODE_INPUT(PF09) | \
841
PIN_MODE_INPUT(PF10) | \
842
PIN_MODE_INPUT(PF11) | \
843
PIN_MODE_INPUT(PF12) | \
844
PIN_MODE_INPUT(PF13) | \
845
PIN_MODE_INPUT(PF14) | \
846
PIN_MODE_INPUT(PF15))
847
848
#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(PF00) | \
849
PIN_OTYPE_PUSHPULL(PF01) | \
850
PIN_OTYPE_PUSHPULL(PF02) | \
851
PIN_OTYPE_PUSHPULL(PF03) | \
852
PIN_OTYPE_PUSHPULL(PF04) | \
853
PIN_OTYPE_PUSHPULL(PF05) | \
854
PIN_OTYPE_PUSHPULL(PF06) | \
855
PIN_OTYPE_PUSHPULL(PF07) | \
856
PIN_OTYPE_PUSHPULL(PF08) | \
857
PIN_OTYPE_PUSHPULL(PF09) | \
858
PIN_OTYPE_PUSHPULL(PF10) | \
859
PIN_OTYPE_PUSHPULL(PF11) | \
860
PIN_OTYPE_PUSHPULL(PF12) | \
861
PIN_OTYPE_PUSHPULL(PF13) | \
862
PIN_OTYPE_PUSHPULL(PF14) | \
863
PIN_OTYPE_PUSHPULL(PF15))
864
865
#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PF00) | \
866
PIN_OSPEED_SPEED_VERYLOW(PF01) | \
867
PIN_OSPEED_SPEED_VERYLOW(PF02) | \
868
PIN_OSPEED_SPEED_VERYLOW(PF03) | \
869
PIN_OSPEED_SPEED_VERYLOW(PF04) | \
870
PIN_OSPEED_SPEED_VERYLOW(PF05) | \
871
PIN_OSPEED_SPEED_VERYLOW(PF06) | \
872
PIN_OSPEED_SPEED_VERYLOW(PF07) | \
873
PIN_OSPEED_SPEED_VERYLOW(PF08) | \
874
PIN_OSPEED_SPEED_VERYLOW(PF09) | \
875
PIN_OSPEED_SPEED_VERYLOW(PF10) | \
876
PIN_OSPEED_SPEED_VERYLOW(PF11) | \
877
PIN_OSPEED_SPEED_VERYLOW(PF12) | \
878
PIN_OSPEED_SPEED_VERYLOW(PF13) | \
879
PIN_OSPEED_SPEED_VERYLOW(PF14) | \
880
PIN_OSPEED_SPEED_VERYLOW(PF15))
881
882
#define VAL_GPIOF_PUPDR (PIN_PUPDR_PULLDOWN(PF00) | \
883
PIN_PUPDR_PULLDOWN(PF01) | \
884
PIN_PUPDR_PULLDOWN(PF02) | \
885
PIN_PUPDR_PULLDOWN(PF03) | \
886
PIN_PUPDR_PULLDOWN(PF04) | \
887
PIN_PUPDR_PULLDOWN(PF05) | \
888
PIN_PUPDR_PULLDOWN(PF06) | \
889
PIN_PUPDR_PULLDOWN(PF07) | \
890
PIN_PUPDR_PULLDOWN(PF08) | \
891
PIN_PUPDR_PULLDOWN(PF09) | \
892
PIN_PUPDR_PULLDOWN(PF10) | \
893
PIN_PUPDR_PULLDOWN(PF11) | \
894
PIN_PUPDR_PULLDOWN(PF12) | \
895
PIN_PUPDR_PULLDOWN(PF13) | \
896
PIN_PUPDR_PULLDOWN(PF14) | \
897
PIN_PUPDR_PULLDOWN(PF15))
898
899
#define VAL_GPIOF_ODR (PIN_ODR_LEVEL_LOW(PF00) | \
900
PIN_ODR_LEVEL_LOW(PF01) | \
901
PIN_ODR_LEVEL_LOW(PF02) | \
902
PIN_ODR_LEVEL_LOW(PF03) | \
903
PIN_ODR_LEVEL_LOW(PF04) | \
904
PIN_ODR_LEVEL_LOW(PF05) | \
905
PIN_ODR_LEVEL_LOW(PF06) | \
906
PIN_ODR_LEVEL_LOW(PF07) | \
907
PIN_ODR_LEVEL_LOW(PF08) | \
908
PIN_ODR_LEVEL_LOW(PF09) | \
909
PIN_ODR_LEVEL_LOW(PF10) | \
910
PIN_ODR_LEVEL_LOW(PF11) | \
911
PIN_ODR_LEVEL_LOW(PF12) | \
912
PIN_ODR_LEVEL_LOW(PF13) | \
913
PIN_ODR_LEVEL_LOW(PF14) | \
914
PIN_ODR_LEVEL_LOW(PF15))
915
916
#define VAL_GPIOF_AFRL (PIN_AFIO_AF(PF00, 0) | \
917
PIN_AFIO_AF(PF01, 0) | \
918
PIN_AFIO_AF(PF02, 0) | \
919
PIN_AFIO_AF(PF03, 0) | \
920
PIN_AFIO_AF(PF04, 0) | \
921
PIN_AFIO_AF(PF05, 0) | \
922
PIN_AFIO_AF(PF06, 0) | \
923
PIN_AFIO_AF(PF07, 0))
924
925
#define VAL_GPIOF_AFRH (PIN_AFIO_AF(PF08, 0) | \
926
PIN_AFIO_AF(PF09, 0) | \
927
PIN_AFIO_AF(PF10, 0) | \
928
PIN_AFIO_AF(PF11, 0) | \
929
PIN_AFIO_AF(PF12, 0) | \
930
PIN_AFIO_AF(PF13, 0) | \
931
PIN_AFIO_AF(PF14, 0) | \
932
PIN_AFIO_AF(PF15, 0))
933
934
#define VAL_GPIOG_MODER (PIN_MODE_INPUT(PG00) | \
935
PIN_MODE_INPUT(PG01) | \
936
PIN_MODE_INPUT(PG02) | \
937
PIN_MODE_INPUT(PG03) | \
938
PIN_MODE_INPUT(PG04) | \
939
PIN_MODE_INPUT(PG05) | \
940
PIN_MODE_INPUT(PG06) | \
941
PIN_MODE_INPUT(PG07) | \
942
PIN_MODE_INPUT(PG08) | \
943
PIN_MODE_INPUT(PG09) | \
944
PIN_MODE_INPUT(PG10) | \
945
PIN_MODE_INPUT(PG11) | \
946
PIN_MODE_INPUT(PG12) | \
947
PIN_MODE_INPUT(PG13) | \
948
PIN_MODE_INPUT(PG14) | \
949
PIN_MODE_INPUT(PG15))
950
951
#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(PG00) | \
952
PIN_OTYPE_PUSHPULL(PG01) | \
953
PIN_OTYPE_PUSHPULL(PG02) | \
954
PIN_OTYPE_PUSHPULL(PG03) | \
955
PIN_OTYPE_PUSHPULL(PG04) | \
956
PIN_OTYPE_PUSHPULL(PG05) | \
957
PIN_OTYPE_PUSHPULL(PG06) | \
958
PIN_OTYPE_PUSHPULL(PG07) | \
959
PIN_OTYPE_PUSHPULL(PG08) | \
960
PIN_OTYPE_PUSHPULL(PG09) | \
961
PIN_OTYPE_PUSHPULL(PG10) | \
962
PIN_OTYPE_PUSHPULL(PG11) | \
963
PIN_OTYPE_PUSHPULL(PG12) | \
964
PIN_OTYPE_PUSHPULL(PG13) | \
965
PIN_OTYPE_PUSHPULL(PG14) | \
966
PIN_OTYPE_PUSHPULL(PG15))
967
968
#define VAL_GPIOG_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PG00) | \
969
PIN_OSPEED_SPEED_VERYLOW(PG01) | \
970
PIN_OSPEED_SPEED_VERYLOW(PG02) | \
971
PIN_OSPEED_SPEED_VERYLOW(PG03) | \
972
PIN_OSPEED_SPEED_VERYLOW(PG04) | \
973
PIN_OSPEED_SPEED_VERYLOW(PG05) | \
974
PIN_OSPEED_SPEED_VERYLOW(PG06) | \
975
PIN_OSPEED_SPEED_VERYLOW(PG07) | \
976
PIN_OSPEED_SPEED_VERYLOW(PG08) | \
977
PIN_OSPEED_SPEED_VERYLOW(PG09) | \
978
PIN_OSPEED_SPEED_VERYLOW(PG10) | \
979
PIN_OSPEED_SPEED_VERYLOW(PG11) | \
980
PIN_OSPEED_SPEED_VERYLOW(PG12) | \
981
PIN_OSPEED_SPEED_VERYLOW(PG13) | \
982
PIN_OSPEED_SPEED_VERYLOW(PG14) | \
983
PIN_OSPEED_SPEED_VERYLOW(PG15))
984
985
#define VAL_GPIOG_PUPDR (PIN_PUPDR_PULLDOWN(PG00) | \
986
PIN_PUPDR_PULLDOWN(PG01) | \
987
PIN_PUPDR_PULLDOWN(PG02) | \
988
PIN_PUPDR_PULLDOWN(PG03) | \
989
PIN_PUPDR_PULLDOWN(PG04) | \
990
PIN_PUPDR_PULLDOWN(PG05) | \
991
PIN_PUPDR_PULLDOWN(PG06) | \
992
PIN_PUPDR_PULLDOWN(PG07) | \
993
PIN_PUPDR_PULLDOWN(PG08) | \
994
PIN_PUPDR_PULLDOWN(PG09) | \
995
PIN_PUPDR_PULLDOWN(PG10) | \
996
PIN_PUPDR_PULLDOWN(PG11) | \
997
PIN_PUPDR_PULLDOWN(PG12) | \
998
PIN_PUPDR_PULLDOWN(PG13) | \
999
PIN_PUPDR_PULLDOWN(PG14) | \
1000
PIN_PUPDR_PULLDOWN(PG15))
1001
1002
#define VAL_GPIOG_ODR (PIN_ODR_LEVEL_LOW(PG00) | \
1003
PIN_ODR_LEVEL_LOW(PG01) | \
1004
PIN_ODR_LEVEL_LOW(PG02) | \
1005
PIN_ODR_LEVEL_LOW(PG03) | \
1006
PIN_ODR_LEVEL_LOW(PG04) | \
1007
PIN_ODR_LEVEL_LOW(PG05) | \
1008
PIN_ODR_LEVEL_LOW(PG06) | \
1009
PIN_ODR_LEVEL_LOW(PG07) | \
1010
PIN_ODR_LEVEL_LOW(PG08) | \
1011
PIN_ODR_LEVEL_LOW(PG09) | \
1012
PIN_ODR_LEVEL_LOW(PG10) | \
1013
PIN_ODR_LEVEL_LOW(PG11) | \
1014
PIN_ODR_LEVEL_LOW(PG12) | \
1015
PIN_ODR_LEVEL_LOW(PG13) | \
1016
PIN_ODR_LEVEL_LOW(PG14) | \
1017
PIN_ODR_LEVEL_LOW(PG15))
1018
1019
#define VAL_GPIOG_AFRL (PIN_AFIO_AF(PG00, 0) | \
1020
PIN_AFIO_AF(PG01, 0) | \
1021
PIN_AFIO_AF(PG02, 0) | \
1022
PIN_AFIO_AF(PG03, 0) | \
1023
PIN_AFIO_AF(PG04, 0) | \
1024
PIN_AFIO_AF(PG05, 0) | \
1025
PIN_AFIO_AF(PG06, 0) | \
1026
PIN_AFIO_AF(PG07, 0))
1027
1028
#define VAL_GPIOG_AFRH (PIN_AFIO_AF(PG08, 0) | \
1029
PIN_AFIO_AF(PG09, 0) | \
1030
PIN_AFIO_AF(PG10, 0) | \
1031
PIN_AFIO_AF(PG11, 0) | \
1032
PIN_AFIO_AF(PG12, 0) | \
1033
PIN_AFIO_AF(PG13, 0) | \
1034
PIN_AFIO_AF(PG14, 0) | \
1035
PIN_AFIO_AF(PG15, 0))
1036
1037
#define VAL_GPIOH_MODER (PIN_MODE_ALTERNATE(OSC_IN) | \
1038
PIN_MODE_ALTERNATE(OSC_OUT) | \
1039
PIN_MODE_INPUT(PH02) | \
1040
PIN_MODE_INPUT(PH03) | \
1041
PIN_MODE_INPUT(PH04) | \
1042
PIN_MODE_INPUT(PH05) | \
1043
PIN_MODE_INPUT(PH06) | \
1044
PIN_MODE_INPUT(PH07) | \
1045
PIN_MODE_INPUT(PH08) | \
1046
PIN_MODE_INPUT(PH09) | \
1047
PIN_MODE_INPUT(PH10) | \
1048
PIN_MODE_INPUT(PH11) | \
1049
PIN_MODE_INPUT(PH12) | \
1050
PIN_MODE_INPUT(PH13) | \
1051
PIN_MODE_INPUT(PH14) | \
1052
PIN_MODE_INPUT(PH15))
1053
1054
#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(OSC_IN) | \
1055
PIN_OTYPE_PUSHPULL(OSC_OUT) | \
1056
PIN_OTYPE_PUSHPULL(PH02) | \
1057
PIN_OTYPE_PUSHPULL(PH03) | \
1058
PIN_OTYPE_PUSHPULL(PH04) | \
1059
PIN_OTYPE_PUSHPULL(PH05) | \
1060
PIN_OTYPE_PUSHPULL(PH06) | \
1061
PIN_OTYPE_PUSHPULL(PH07) | \
1062
PIN_OTYPE_PUSHPULL(PH08) | \
1063
PIN_OTYPE_PUSHPULL(PH09) | \
1064
PIN_OTYPE_PUSHPULL(PH10) | \
1065
PIN_OTYPE_PUSHPULL(PH11) | \
1066
PIN_OTYPE_PUSHPULL(PH12) | \
1067
PIN_OTYPE_PUSHPULL(PH13) | \
1068
PIN_OTYPE_PUSHPULL(PH14) | \
1069
PIN_OTYPE_PUSHPULL(PH15))
1070
1071
#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_SPEED_HIGH(OSC_IN) | \
1072
PIN_OSPEED_SPEED_HIGH(OSC_OUT) | \
1073
PIN_OSPEED_SPEED_VERYLOW(PH02) | \
1074
PIN_OSPEED_SPEED_VERYLOW(PH03) | \
1075
PIN_OSPEED_SPEED_VERYLOW(PH04) | \
1076
PIN_OSPEED_SPEED_VERYLOW(PH05) | \
1077
PIN_OSPEED_SPEED_VERYLOW(PH06) | \
1078
PIN_OSPEED_SPEED_VERYLOW(PH07) | \
1079
PIN_OSPEED_SPEED_VERYLOW(PH08) | \
1080
PIN_OSPEED_SPEED_VERYLOW(PH09) | \
1081
PIN_OSPEED_SPEED_VERYLOW(PH10) | \
1082
PIN_OSPEED_SPEED_VERYLOW(PH11) | \
1083
PIN_OSPEED_SPEED_VERYLOW(PH12) | \
1084
PIN_OSPEED_SPEED_VERYLOW(PH13) | \
1085
PIN_OSPEED_SPEED_VERYLOW(PH14) | \
1086
PIN_OSPEED_SPEED_VERYLOW(PH15))
1087
1088
#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING(OSC_IN) | \
1089
PIN_PUPDR_FLOATING(OSC_OUT) | \
1090
PIN_PUPDR_PULLDOWN(PH02) | \
1091
PIN_PUPDR_PULLDOWN(PH03) | \
1092
PIN_PUPDR_PULLDOWN(PH04) | \
1093
PIN_PUPDR_PULLDOWN(PH05) | \
1094
PIN_PUPDR_PULLDOWN(PH06) | \
1095
PIN_PUPDR_PULLDOWN(PH07) | \
1096
PIN_PUPDR_PULLDOWN(PH08) | \
1097
PIN_PUPDR_PULLDOWN(PH09) | \
1098
PIN_PUPDR_PULLDOWN(PH10) | \
1099
PIN_PUPDR_PULLDOWN(PH11) | \
1100
PIN_PUPDR_PULLDOWN(PH12) | \
1101
PIN_PUPDR_PULLDOWN(PH13) | \
1102
PIN_PUPDR_PULLDOWN(PH14) | \
1103
PIN_PUPDR_PULLDOWN(PH15))
1104
1105
#define VAL_GPIOH_ODR (PIN_ODR_LEVEL_HIGH(OSC_IN) | \
1106
PIN_ODR_LEVEL_HIGH(OSC_OUT) | \
1107
PIN_ODR_LEVEL_LOW(PH02) | \
1108
PIN_ODR_LEVEL_LOW(PH03) | \
1109
PIN_ODR_LEVEL_LOW(PH04) | \
1110
PIN_ODR_LEVEL_LOW(PH05) | \
1111
PIN_ODR_LEVEL_LOW(PH06) | \
1112
PIN_ODR_LEVEL_LOW(PH07) | \
1113
PIN_ODR_LEVEL_LOW(PH08) | \
1114
PIN_ODR_LEVEL_LOW(PH09) | \
1115
PIN_ODR_LEVEL_LOW(PH10) | \
1116
PIN_ODR_LEVEL_LOW(PH11) | \
1117
PIN_ODR_LEVEL_LOW(PH12) | \
1118
PIN_ODR_LEVEL_LOW(PH13) | \
1119
PIN_ODR_LEVEL_LOW(PH14) | \
1120
PIN_ODR_LEVEL_LOW(PH15))
1121
1122
#define VAL_GPIOH_AFRL (PIN_AFIO_AF(OSC_IN, 0) | \
1123
PIN_AFIO_AF(OSC_OUT, 0) | \
1124
PIN_AFIO_AF(PH02, 0) | \
1125
PIN_AFIO_AF(PH03, 0) | \
1126
PIN_AFIO_AF(PH04, 0) | \
1127
PIN_AFIO_AF(PH05, 0) | \
1128
PIN_AFIO_AF(PH06, 0) | \
1129
PIN_AFIO_AF(PH07, 0))
1130
1131
#define VAL_GPIOH_AFRH (PIN_AFIO_AF(PH08, 0) | \
1132
PIN_AFIO_AF(PH09, 0) | \
1133
PIN_AFIO_AF(PH10, 0) | \
1134
PIN_AFIO_AF(PH11, 0) | \
1135
PIN_AFIO_AF(PH12, 0) | \
1136
PIN_AFIO_AF(PH13, 0) | \
1137
PIN_AFIO_AF(PH14, 0) | \
1138
PIN_AFIO_AF(PH15, 0))
1139
1140
#define VAL_GPIOI_MODER (PIN_MODE_INPUT(PI00) | \
1141
PIN_MODE_INPUT(PI01) | \
1142
PIN_MODE_INPUT(PI02) | \
1143
PIN_MODE_INPUT(PI03) | \
1144
PIN_MODE_INPUT(PI04) | \
1145
PIN_MODE_INPUT(PI05) | \
1146
PIN_MODE_INPUT(PI06) | \
1147
PIN_MODE_INPUT(PI07) | \
1148
PIN_MODE_INPUT(PI08) | \
1149
PIN_MODE_INPUT(PI09) | \
1150
PIN_MODE_INPUT(PI10) | \
1151
PIN_MODE_INPUT(PI11) | \
1152
PIN_MODE_INPUT(PI12) | \
1153
PIN_MODE_INPUT(PI13) | \
1154
PIN_MODE_INPUT(PI14) | \
1155
PIN_MODE_INPUT(PI15))
1156
1157
#define VAL_GPIOI_OTYPER (PIN_OTYPE_PUSHPULL(PI00) | \
1158
PIN_OTYPE_PUSHPULL(PI01) | \
1159
PIN_OTYPE_PUSHPULL(PI02) | \
1160
PIN_OTYPE_PUSHPULL(PI03) | \
1161
PIN_OTYPE_PUSHPULL(PI04) | \
1162
PIN_OTYPE_PUSHPULL(PI05) | \
1163
PIN_OTYPE_PUSHPULL(PI06) | \
1164
PIN_OTYPE_PUSHPULL(PI07) | \
1165
PIN_OTYPE_PUSHPULL(PI08) | \
1166
PIN_OTYPE_PUSHPULL(PI09) | \
1167
PIN_OTYPE_PUSHPULL(PI10) | \
1168
PIN_OTYPE_PUSHPULL(PI11) | \
1169
PIN_OTYPE_PUSHPULL(PI12) | \
1170
PIN_OTYPE_PUSHPULL(PI13) | \
1171
PIN_OTYPE_PUSHPULL(PI14) | \
1172
PIN_OTYPE_PUSHPULL(PI15))
1173
1174
#define VAL_GPIOI_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PI00) | \
1175
PIN_OSPEED_SPEED_VERYLOW(PI01) | \
1176
PIN_OSPEED_SPEED_VERYLOW(PI02) | \
1177
PIN_OSPEED_SPEED_VERYLOW(PI03) | \
1178
PIN_OSPEED_SPEED_VERYLOW(PI04) | \
1179
PIN_OSPEED_SPEED_VERYLOW(PI05) | \
1180
PIN_OSPEED_SPEED_VERYLOW(PI06) | \
1181
PIN_OSPEED_SPEED_VERYLOW(PI07) | \
1182
PIN_OSPEED_SPEED_VERYLOW(PI08) | \
1183
PIN_OSPEED_SPEED_VERYLOW(PI09) | \
1184
PIN_OSPEED_SPEED_VERYLOW(PI10) | \
1185
PIN_OSPEED_SPEED_VERYLOW(PI11) | \
1186
PIN_OSPEED_SPEED_VERYLOW(PI12) | \
1187
PIN_OSPEED_SPEED_VERYLOW(PI13) | \
1188
PIN_OSPEED_SPEED_VERYLOW(PI14) | \
1189
PIN_OSPEED_SPEED_VERYLOW(PI15))
1190
1191
#define VAL_GPIOI_PUPDR (PIN_PUPDR_PULLDOWN(PI00) | \
1192
PIN_PUPDR_PULLDOWN(PI01) | \
1193
PIN_PUPDR_PULLDOWN(PI02) | \
1194
PIN_PUPDR_PULLDOWN(PI03) | \
1195
PIN_PUPDR_PULLDOWN(PI04) | \
1196
PIN_PUPDR_PULLDOWN(PI05) | \
1197
PIN_PUPDR_PULLDOWN(PI06) | \
1198
PIN_PUPDR_PULLDOWN(PI07) | \
1199
PIN_PUPDR_PULLDOWN(PI08) | \
1200
PIN_PUPDR_PULLDOWN(PI09) | \
1201
PIN_PUPDR_PULLDOWN(PI10) | \
1202
PIN_PUPDR_PULLDOWN(PI11) | \
1203
PIN_PUPDR_PULLDOWN(PI12) | \
1204
PIN_PUPDR_PULLDOWN(PI13) | \
1205
PIN_PUPDR_PULLDOWN(PI14) | \
1206
PIN_PUPDR_PULLDOWN(PI15))
1207
1208
#define VAL_GPIOI_ODR (PIN_ODR_LEVEL_LOW(PI00) | \
1209
PIN_ODR_LEVEL_LOW(PI01) | \
1210
PIN_ODR_LEVEL_LOW(PI02) | \
1211
PIN_ODR_LEVEL_LOW(PI03) | \
1212
PIN_ODR_LEVEL_LOW(PI04) | \
1213
PIN_ODR_LEVEL_LOW(PI05) | \
1214
PIN_ODR_LEVEL_LOW(PI06) | \
1215
PIN_ODR_LEVEL_LOW(PI07) | \
1216
PIN_ODR_LEVEL_LOW(PI08) | \
1217
PIN_ODR_LEVEL_LOW(PI09) | \
1218
PIN_ODR_LEVEL_LOW(PI10) | \
1219
PIN_ODR_LEVEL_LOW(PI11) | \
1220
PIN_ODR_LEVEL_LOW(PI12) | \
1221
PIN_ODR_LEVEL_LOW(PI13) | \
1222
PIN_ODR_LEVEL_LOW(PI14) | \
1223
PIN_ODR_LEVEL_LOW(PI15))
1224
1225
#define VAL_GPIOI_AFRL (PIN_AFIO_AF(PI00, 0) | \
1226
PIN_AFIO_AF(PI01, 0) | \
1227
PIN_AFIO_AF(PI02, 0) | \
1228
PIN_AFIO_AF(PI03, 0) | \
1229
PIN_AFIO_AF(PI04, 0) | \
1230
PIN_AFIO_AF(PI05, 0) | \
1231
PIN_AFIO_AF(PI06, 0) | \
1232
PIN_AFIO_AF(PI07, 0))
1233
1234
#define VAL_GPIOI_AFRH (PIN_AFIO_AF(PI08, 0) | \
1235
PIN_AFIO_AF(PI09, 0) | \
1236
PIN_AFIO_AF(PI10, 0) | \
1237
PIN_AFIO_AF(PI11, 0) | \
1238
PIN_AFIO_AF(PI12, 0) | \
1239
PIN_AFIO_AF(PI13, 0) | \
1240
PIN_AFIO_AF(PI14, 0) | \
1241
PIN_AFIO_AF(PI15, 0))
1242
1243
#define VAL_GPIOJ_MODER (PIN_MODE_INPUT(PJ00) | \
1244
PIN_MODE_INPUT(PJ01) | \
1245
PIN_MODE_INPUT(PJ02) | \
1246
PIN_MODE_INPUT(PJ03) | \
1247
PIN_MODE_INPUT(PJ04) | \
1248
PIN_MODE_INPUT(PJ05) | \
1249
PIN_MODE_INPUT(PJ06) | \
1250
PIN_MODE_INPUT(PJ07) | \
1251
PIN_MODE_INPUT(PJ08) | \
1252
PIN_MODE_INPUT(PJ09) | \
1253
PIN_MODE_INPUT(PJ10) | \
1254
PIN_MODE_INPUT(PJ11) | \
1255
PIN_MODE_INPUT(PJ12) | \
1256
PIN_MODE_INPUT(PJ13) | \
1257
PIN_MODE_INPUT(PJ14) | \
1258
PIN_MODE_INPUT(PJ15))
1259
1260
#define VAL_GPIOJ_OTYPER (PIN_OTYPE_PUSHPULL(PJ00) | \
1261
PIN_OTYPE_PUSHPULL(PJ01) | \
1262
PIN_OTYPE_PUSHPULL(PJ02) | \
1263
PIN_OTYPE_PUSHPULL(PJ03) | \
1264
PIN_OTYPE_PUSHPULL(PJ04) | \
1265
PIN_OTYPE_PUSHPULL(PJ05) | \
1266
PIN_OTYPE_PUSHPULL(PJ06) | \
1267
PIN_OTYPE_PUSHPULL(PJ07) | \
1268
PIN_OTYPE_PUSHPULL(PJ08) | \
1269
PIN_OTYPE_PUSHPULL(PJ09) | \
1270
PIN_OTYPE_PUSHPULL(PJ10) | \
1271
PIN_OTYPE_PUSHPULL(PJ11) | \
1272
PIN_OTYPE_PUSHPULL(PJ12) | \
1273
PIN_OTYPE_PUSHPULL(PJ13) | \
1274
PIN_OTYPE_PUSHPULL(PJ14) | \
1275
PIN_OTYPE_PUSHPULL(PJ15))
1276
1277
#define VAL_GPIOJ_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PJ00) | \
1278
PIN_OSPEED_SPEED_VERYLOW(PJ01) | \
1279
PIN_OSPEED_SPEED_VERYLOW(PJ02) | \
1280
PIN_OSPEED_SPEED_VERYLOW(PJ03) | \
1281
PIN_OSPEED_SPEED_VERYLOW(PJ04) | \
1282
PIN_OSPEED_SPEED_VERYLOW(PJ05) | \
1283
PIN_OSPEED_SPEED_VERYLOW(PJ06) | \
1284
PIN_OSPEED_SPEED_VERYLOW(PJ07) | \
1285
PIN_OSPEED_SPEED_VERYLOW(PJ08) | \
1286
PIN_OSPEED_SPEED_VERYLOW(PJ09) | \
1287
PIN_OSPEED_SPEED_VERYLOW(PJ10) | \
1288
PIN_OSPEED_SPEED_VERYLOW(PJ11) | \
1289
PIN_OSPEED_SPEED_VERYLOW(PJ12) | \
1290
PIN_OSPEED_SPEED_VERYLOW(PJ13) | \
1291
PIN_OSPEED_SPEED_VERYLOW(PJ14) | \
1292
PIN_OSPEED_SPEED_VERYLOW(PJ15))
1293
1294
#define VAL_GPIOJ_PUPDR (PIN_PUPDR_PULLDOWN(PJ00) | \
1295
PIN_PUPDR_PULLDOWN(PJ01) | \
1296
PIN_PUPDR_PULLDOWN(PJ02) | \
1297
PIN_PUPDR_PULLDOWN(PJ03) | \
1298
PIN_PUPDR_PULLDOWN(PJ04) | \
1299
PIN_PUPDR_PULLDOWN(PJ05) | \
1300
PIN_PUPDR_PULLDOWN(PJ06) | \
1301
PIN_PUPDR_PULLDOWN(PJ07) | \
1302
PIN_PUPDR_PULLDOWN(PJ08) | \
1303
PIN_PUPDR_PULLDOWN(PJ09) | \
1304
PIN_PUPDR_PULLDOWN(PJ10) | \
1305
PIN_PUPDR_PULLDOWN(PJ11) | \
1306
PIN_PUPDR_PULLDOWN(PJ12) | \
1307
PIN_PUPDR_PULLDOWN(PJ13) | \
1308
PIN_PUPDR_PULLDOWN(PJ14) | \
1309
PIN_PUPDR_PULLDOWN(PJ15))
1310
1311
#define VAL_GPIOJ_ODR (PIN_ODR_LEVEL_LOW(PJ00) | \
1312
PIN_ODR_LEVEL_LOW(PJ01) | \
1313
PIN_ODR_LEVEL_LOW(PJ02) | \
1314
PIN_ODR_LEVEL_LOW(PJ03) | \
1315
PIN_ODR_LEVEL_LOW(PJ04) | \
1316
PIN_ODR_LEVEL_LOW(PJ05) | \
1317
PIN_ODR_LEVEL_LOW(PJ06) | \
1318
PIN_ODR_LEVEL_LOW(PJ07) | \
1319
PIN_ODR_LEVEL_LOW(PJ08) | \
1320
PIN_ODR_LEVEL_LOW(PJ09) | \
1321
PIN_ODR_LEVEL_LOW(PJ10) | \
1322
PIN_ODR_LEVEL_LOW(PJ11) | \
1323
PIN_ODR_LEVEL_LOW(PJ12) | \
1324
PIN_ODR_LEVEL_LOW(PJ13) | \
1325
PIN_ODR_LEVEL_LOW(PJ14) | \
1326
PIN_ODR_LEVEL_LOW(PJ15))
1327
1328
#define VAL_GPIOJ_AFRL (PIN_AFIO_AF(PJ00, 0) | \
1329
PIN_AFIO_AF(PJ01, 0) | \
1330
PIN_AFIO_AF(PJ02, 0) | \
1331
PIN_AFIO_AF(PJ03, 0) | \
1332
PIN_AFIO_AF(PJ04, 0) | \
1333
PIN_AFIO_AF(PJ05, 0) | \
1334
PIN_AFIO_AF(PJ06, 0) | \
1335
PIN_AFIO_AF(PJ07, 0))
1336
1337
#define VAL_GPIOJ_AFRH (PIN_AFIO_AF(PJ08, 0) | \
1338
PIN_AFIO_AF(PJ09, 0) | \
1339
PIN_AFIO_AF(PJ10, 0) | \
1340
PIN_AFIO_AF(PJ11, 0) | \
1341
PIN_AFIO_AF(PJ12, 0) | \
1342
PIN_AFIO_AF(PJ13, 0) | \
1343
PIN_AFIO_AF(PJ14, 0) | \
1344
PIN_AFIO_AF(PJ15, 0))
1345
1346
#define VAL_GPIOK_MODER (PIN_MODE_INPUT(PK00) | \
1347
PIN_MODE_INPUT(PK01) | \
1348
PIN_MODE_INPUT(PK02) | \
1349
PIN_MODE_INPUT(PK03) | \
1350
PIN_MODE_INPUT(PK04) | \
1351
PIN_MODE_INPUT(PK05) | \
1352
PIN_MODE_INPUT(PK06) | \
1353
PIN_MODE_INPUT(PK07) | \
1354
PIN_MODE_INPUT(PK08) | \
1355
PIN_MODE_INPUT(PK09) | \
1356
PIN_MODE_INPUT(PK10) | \
1357
PIN_MODE_INPUT(PK11) | \
1358
PIN_MODE_INPUT(PK12) | \
1359
PIN_MODE_INPUT(PK13) | \
1360
PIN_MODE_INPUT(PK14) | \
1361
PIN_MODE_INPUT(PK15))
1362
1363
#define VAL_GPIOK_OTYPER (PIN_OTYPE_PUSHPULL(PK00) | \
1364
PIN_OTYPE_PUSHPULL(PK01) | \
1365
PIN_OTYPE_PUSHPULL(PK02) | \
1366
PIN_OTYPE_PUSHPULL(PK03) | \
1367
PIN_OTYPE_PUSHPULL(PK04) | \
1368
PIN_OTYPE_PUSHPULL(PK05) | \
1369
PIN_OTYPE_PUSHPULL(PK06) | \
1370
PIN_OTYPE_PUSHPULL(PK07) | \
1371
PIN_OTYPE_PUSHPULL(PK08) | \
1372
PIN_OTYPE_PUSHPULL(PK09) | \
1373
PIN_OTYPE_PUSHPULL(PK10) | \
1374
PIN_OTYPE_PUSHPULL(PK11) | \
1375
PIN_OTYPE_PUSHPULL(PK12) | \
1376
PIN_OTYPE_PUSHPULL(PK13) | \
1377
PIN_OTYPE_PUSHPULL(PK14) | \
1378
PIN_OTYPE_PUSHPULL(PK15))
1379
1380
#define VAL_GPIOK_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PK00) | \
1381
PIN_OSPEED_SPEED_VERYLOW(PK01) | \
1382
PIN_OSPEED_SPEED_VERYLOW(PK02) | \
1383
PIN_OSPEED_SPEED_VERYLOW(PK03) | \
1384
PIN_OSPEED_SPEED_VERYLOW(PK04) | \
1385
PIN_OSPEED_SPEED_VERYLOW(PK05) | \
1386
PIN_OSPEED_SPEED_VERYLOW(PK06) | \
1387
PIN_OSPEED_SPEED_VERYLOW(PK07) | \
1388
PIN_OSPEED_SPEED_VERYLOW(PK08) | \
1389
PIN_OSPEED_SPEED_VERYLOW(PK09) | \
1390
PIN_OSPEED_SPEED_VERYLOW(PK10) | \
1391
PIN_OSPEED_SPEED_VERYLOW(PK11) | \
1392
PIN_OSPEED_SPEED_VERYLOW(PK12) | \
1393
PIN_OSPEED_SPEED_VERYLOW(PK13) | \
1394
PIN_OSPEED_SPEED_VERYLOW(PK14) | \
1395
PIN_OSPEED_SPEED_VERYLOW(PK15))
1396
1397
#define VAL_GPIOK_PUPDR (PIN_PUPDR_PULLDOWN(PK00) | \
1398
PIN_PUPDR_PULLDOWN(PK01) | \
1399
PIN_PUPDR_PULLDOWN(PK02) | \
1400
PIN_PUPDR_PULLDOWN(PK03) | \
1401
PIN_PUPDR_PULLDOWN(PK04) | \
1402
PIN_PUPDR_PULLDOWN(PK05) | \
1403
PIN_PUPDR_PULLDOWN(PK06) | \
1404
PIN_PUPDR_PULLDOWN(PK07) | \
1405
PIN_PUPDR_PULLDOWN(PK08) | \
1406
PIN_PUPDR_PULLDOWN(PK09) | \
1407
PIN_PUPDR_PULLDOWN(PK10) | \
1408
PIN_PUPDR_PULLDOWN(PK11) | \
1409
PIN_PUPDR_PULLDOWN(PK12) | \
1410
PIN_PUPDR_PULLDOWN(PK13) | \
1411
PIN_PUPDR_PULLDOWN(PK14) | \
1412
PIN_PUPDR_PULLDOWN(PK15))
1413
1414
#define VAL_GPIOK_ODR (PIN_ODR_LEVEL_LOW(PK00) | \
1415
PIN_ODR_LEVEL_LOW(PK01) | \
1416
PIN_ODR_LEVEL_LOW(PK02) | \
1417
PIN_ODR_LEVEL_LOW(PK03) | \
1418
PIN_ODR_LEVEL_LOW(PK04) | \
1419
PIN_ODR_LEVEL_LOW(PK05) | \
1420
PIN_ODR_LEVEL_LOW(PK06) | \
1421
PIN_ODR_LEVEL_LOW(PK07) | \
1422
PIN_ODR_LEVEL_LOW(PK08) | \
1423
PIN_ODR_LEVEL_LOW(PK09) | \
1424
PIN_ODR_LEVEL_LOW(PK10) | \
1425
PIN_ODR_LEVEL_LOW(PK11) | \
1426
PIN_ODR_LEVEL_LOW(PK12) | \
1427
PIN_ODR_LEVEL_LOW(PK13) | \
1428
PIN_ODR_LEVEL_LOW(PK14) | \
1429
PIN_ODR_LEVEL_LOW(PK15))
1430
1431
#define VAL_GPIOK_AFRL (PIN_AFIO_AF(PK00, 0) | \
1432
PIN_AFIO_AF(PK01, 0) | \
1433
PIN_AFIO_AF(PK02, 0) | \
1434
PIN_AFIO_AF(PK03, 0) | \
1435
PIN_AFIO_AF(PK04, 0) | \
1436
PIN_AFIO_AF(PK05, 0) | \
1437
PIN_AFIO_AF(PK06, 0) | \
1438
PIN_AFIO_AF(PK07, 0))
1439
1440
#define VAL_GPIOK_AFRH (PIN_AFIO_AF(PK08, 0) | \
1441
PIN_AFIO_AF(PK09, 0) | \
1442
PIN_AFIO_AF(PK10, 0) | \
1443
PIN_AFIO_AF(PK11, 0) | \
1444
PIN_AFIO_AF(PK12, 0) | \
1445
PIN_AFIO_AF(PK13, 0) | \
1446
PIN_AFIO_AF(PK14, 0) | \
1447
PIN_AFIO_AF(PK15, 0))
1448
1449
#define AF_UART4_TX 8U
1450
#define AF_LINE_UART4_TX 8U
1451
#define AF_UART4_RX 8U
1452
#define AF_LINE_UART4_RX 8U
1453
#define AF_S6 2U
1454
#define AF_LINE_S6 2U
1455
#define AF_SPI1_SCK 5U
1456
#define AF_LINE_SPI1_SCK 5U
1457
#define AF_SPI1_MISO 5U
1458
#define AF_LINE_SPI1_MISO 5U
1459
#define AF_SPI1_MOSI 5U
1460
#define AF_LINE_SPI1_MOSI 5U
1461
#define AF_UART1_TX 7U
1462
#define AF_LINE_UART1_TX 7U
1463
#define AF_UART1_RX 7U
1464
#define AF_LINE_UART1_RX 7U
1465
#define AF_OTG_FS_DM 10U
1466
#define AF_LINE_OTG_FS_DM 10U
1467
#define AF_OTG_FS_DP 10U
1468
#define AF_LINE_OTG_FS_DP 10U
1469
#define AF_SWDIO 0U
1470
#define AF_LINE_SWDIO 0U
1471
#define AF_SWCLK 0U
1472
#define AF_LINE_SWCLK 0U
1473
#define AF_S4 2U
1474
#define AF_LINE_S4 2U
1475
#define AF_S1 1U
1476
#define AF_LINE_S1 1U
1477
#define AF_I2C1_SCL 4U
1478
#define AF_LINE_I2C1_SCL 4U
1479
#define AF_I2C1_SDA 4U
1480
#define AF_LINE_I2C1_SDA 4U
1481
#define AF_UART3_TX 7U
1482
#define AF_LINE_UART3_TX 7U
1483
#define AF_UART3_RX 7U
1484
#define AF_LINE_UART3_RX 7U
1485
#define AF_SPI2_SCK 5U
1486
#define AF_LINE_SPI2_SCK 5U
1487
#define AF_SPI2_MISO 5U
1488
#define AF_LINE_SPI2_MISO 5U
1489
#define AF_SPI2_MOSI 5U
1490
#define AF_LINE_SPI2_MOSI 5U
1491
#define AF_S5 2U
1492
#define AF_LINE_S5 2U
1493
#define AF_OSC32_IN 0U
1494
#define AF_LINE_OSC32_IN 0U
1495
#define AF_OSC32_OUT 0U
1496
#define AF_LINE_OSC32_OUT 0U
1497
#define AF_UART2_TX 7U
1498
#define AF_LINE_UART2_TX 7U
1499
#define AF_UART2_RX 7U
1500
#define AF_LINE_UART2_RX 7U
1501
#define AF_BUZZER 2U
1502
#define AF_LINE_BUZZER 2U
1503
#define AF_SPI4_CLK 5U
1504
#define AF_LINE_SPI4_CLK 5U
1505
#define AF_SPI4_MISO 5U
1506
#define AF_LINE_SPI4_MISO 5U
1507
#define AF_SPI4_MOSI 5U
1508
#define AF_LINE_SPI4_MOSI 5U
1509
#define AF_UART7_RX 8U
1510
#define AF_LINE_UART7_RX 8U
1511
#define AF_UART7_TX 8U
1512
#define AF_LINE_UART7_TX 8U
1513
#define AF_S2 1U
1514
#define AF_LINE_S2 1U
1515
#define AF_S3 1U
1516
#define AF_LINE_S3 1U
1517
#define AF_OSC_IN 0U
1518
#define AF_LINE_OSC_IN 0U
1519
#define AF_OSC_OUT 0U
1520
#define AF_LINE_OSC_OUT 0U
1521
1522
1523
#define S6_TIM 5
1524
#define S6_TIM_FN CH
1525
#define S6_TIM_CH 4
1526
#define S6_TIM_AF 2
1527
#define S4_TIM 3
1528
#define S4_TIM_FN CH
1529
#define S4_TIM_CH 3
1530
#define S4_TIM_AF 2
1531
#define S1_TIM 1
1532
#define S1_TIM_FN CH
1533
#define S1_TIM_CH 3
1534
#define S1_TIM_AF 1
1535
#define CURRENT_MEAS_ADC 1
1536
#define CURRENT_MEAS_ADC_FN IN
1537
#define CURRENT_MEAS_ADC_IN 12
1538
#define VBAT_MEAS_ADC 1
1539
#define VBAT_MEAS_ADC_FN IN
1540
#define VBAT_MEAS_ADC_IN 13
1541
#define RSSI_ADC 1
1542
#define RSSI_ADC_FN IN
1543
#define RSSI_ADC_IN 15
1544
#define RC2_TIM 8
1545
#define RC2_TIM_FN CH
1546
#define RC2_TIM_CH 1
1547
#define RC2_TIM_AF 3
1548
#define RC2_USART 6
1549
#define RC2_USART_FN TX
1550
#define RC2_USART_AF 8
1551
#define RC1_TIM 3
1552
#define RC1_TIM_FN CH
1553
#define RC1_TIM_CH 2
1554
#define RC1_TIM_AF 2
1555
#define RC1_USART 6
1556
#define RC1_USART_FN RX
1557
#define RC1_USART_AF 8
1558
#define S5_TIM 3
1559
#define S5_TIM_FN CH
1560
#define S5_TIM_CH 4
1561
#define S5_TIM_AF 2
1562
#define BUZZER_TIM 4
1563
#define BUZZER_TIM_FN CH
1564
#define BUZZER_TIM_CH 4
1565
#define BUZZER_TIM_AF 2
1566
#define S2_TIM 1
1567
#define S2_TIM_FN CH
1568
#define S2_TIM_CH 1
1569
#define S2_TIM_AF 1
1570
#define S3_TIM 1
1571
#define S3_TIM_FN CH
1572
#define S3_TIM_CH 2
1573
#define S3_TIM_AF 1
1574
1575
#define BOARD_GROUP_DECLFOREACH(line, group) \
1576
static const ioline_t group ## _ARRAY[] = {group}; \
1577
for (ioline_t i=0, line = group ## _ARRAY[i]; (i < group ## _SIZE) && (line = group ## _ARRAY[i]); i++)
1578
1579
#define BOARD_GROUP_FOREACH(line, group) \
1580
for (ioline_t i=0, line = group ## _ARRAY[i]; (i < group ## _SIZE) && (line = group ## _ARRAY[i]); i++)
1581
1582
1583
#define BOARD_GROUP_DECLFOR(array, index, group) \
1584
static const ioline_t group ## _ARRAY[] = {group}; \
1585
for (ioline_t index=0, *array = (ioline_t *) group ## _ARRAY; index < group ## _SIZE; index++)
1586
1587
#define BOARD_GROUP_FOR(array, index, group) \
1588
for (ioline_t index=0, *array = (ioline_t *) group ## _ARRAY; index < group ## _SIZE; index++)
1589
1590
#define ENERGY_SAVE_INPUT \
1591
LINE_LED1, \
1592
LINE_S6, \
1593
LINE_SDCARD_CS, \
1594
LINE_S4, \
1595
LINE_S1, \
1596
LINE_OSD_CS, \
1597
LINE_S5, \
1598
LINE_IMU_CS, \
1599
LINE_S2, \
1600
LINE_S3
1601
#define ENERGY_SAVE_INPUT_SIZE 10
1602
1603
#if !defined(_FROM_ASM_)
1604
#ifdef __cplusplus
1605
extern
"C"
{
1606
#endif
1607
void
boardInit
(
void
);
1608
#ifdef __cplusplus
1609
}
1610
#endif
1611
#endif
/* _FROM_ASM_ */
1612
boardInit
void boardInit(void)
Board-specific initialization code.
Definition:
board.c:317
sw
airborne
boards
holybro
kakute_f7
board.h
Generated on Fri Nov 8 2024 14:10:44 for Paparazzi UAS by
1.9.1