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_MATEKH743_SLIM
23
#define BOARD_NAME "MATEKSYS FC H743 SLIM"
24
25
/*
26
* Board oscillators-related settings.
27
*/
28
#if !defined(STM32_LSECLK)
29
#define STM32_LSECLK 32768U
30
#endif
31
32
#define STM32_LSEDRV (3U << 3U)
33
34
#if !defined(STM32_HSECLK)
35
#define STM32_HSECLK 8000000U
36
#endif
37
38
/*
39
* MCU type as defined in the ST header.
40
*/
41
#define STM32H743xx
42
43
/* allow to define ADC_CHANNEL_VSUPPLY in the airframe file*/
44
#ifndef ADC_CHANNEL_VSUPPLY
45
#define ADC_CHANNEL_VSUPPLY ADC_5
46
#endif
47
48
/* Default powerbrick values */
49
#define DefaultVoltageOfAdc(adc) ((3.3f/65536.0f) * 13.38f * adc)
50
#define DefaultMilliAmpereOfAdc(adc) ((3.3f/65536.0f) * 39.877f * adc)
51
52
/* Battery monitoring for file closing */
53
#define SDLOG_BAT_ADC ADCD1
54
#define SDLOG_BAT_CHAN AD1_5_CHANNEL
55
56
/*
57
* PWM TIM defines
58
* enable TIM 3, 4 and 5 by default
59
*/
60
#ifndef USE_PWM_TIM3
61
#define USE_PWM_TIM3 1
62
#endif
63
64
#ifndef USE_PWM_TIM4
65
#define USE_PWM_TIM4 1
66
#endif
67
68
#ifndef USE_PWM_TIM5
69
#define USE_PWM_TIM5 1
70
#endif
71
72
/*
73
* IO pins assignments.
74
*/
75
#define PA00_SERVO3 0U
76
#define PA01_SERVO4 1U
77
#define PA02_SERVO5 2U
78
#define PA03_SERVO6 3U
79
#define PA04_ADC3 4U
80
#define PA05_SPI1_SCK 5U
81
#define PA06_SPI1_MISO 6U
82
#define PA07_ADC4 7U
83
#define PA08_LED_WS2812 8U
84
#define PA09_UART1_TX 9U
85
#define PA10_UART1_RX 10U
86
#define PA11_USB_DM 11U
87
#define PA12_USB_DP 12U
88
#define PA13_SWDIO 13U
89
#define PA14_SWCLK 14U
90
#define PA15_ALARM 15U
91
92
#define PB00_SERVO1 0U
93
#define PB01_SERVO2 1U
94
#define PB02 2U
95
#define PB03_SPI3_SCK 3U
96
#define PB04_SPI3_MISO 4U
97
#define PB05_SPI3_MOSI 5U
98
#define PB06_I2C1_SCL 6U
99
#define PB07_I2C1_SDA 7U
100
#define PB08_UART4_RX 8U
101
#define PB09_UART4_TX 9U
102
#define PB10_I2C2_SCL 10U
103
#define PB11_I2C2_SDA 11U
104
#define PB12_SPI_SLAVE4 12U
105
#define PB13_SPI2_SCK 13U
106
#define PB14_SPI2_MISO 14U
107
#define PB15_SPI2_MOSI 15U
108
109
#define PC00_ADC5 0U
110
#define PC01_ADC6 1U
111
#define PC02 2U
112
#define PC03 3U
113
#define PC04_ADC2 4U
114
#define PC05_ADC1 5U
115
#define PC06_UART6_TX 6U
116
#define PC07_RC1 7U
117
#define PC08_SDIO_D0 8U
118
#define PC09_SDIO_D1 9U
119
#define PC10_SDIO_D2 10U
120
#define PC11_SDIO_D3 11U
121
#define PC12_SDIO_CK 12U
122
#define PC13_SPI_SLAVE6 13U
123
#define PC14 14U
124
#define PC15_SPI_SLAVE5 15U
125
126
#define PD00_CAN1_RX 0U
127
#define PD01_CAN1_TX 1U
128
#define PD02_SDIO_CMD 2U
129
#define PD03 3U
130
#define PD04_SPI_SLAVE1 4U
131
#define PD05_UART2_TX 5U
132
#define PD06_UART2_RX 6U
133
#define PD07_SPI1_MOSI 7U
134
#define PD08_UART3_TX 8U
135
#define PD09_UART3_RX 9U
136
#define PD10 10U
137
#define PD11 11U
138
#define PD12_SERVO7 12U
139
#define PD13_SERVO8 13U
140
#define PD14_SERVO9 14U
141
#define PD15_SERVO10 15U
142
143
#define PE00_UART8_RX 0U
144
#define PE01_UART8_TX 1U
145
#define PE02_SPI_SLAVE2 2U
146
#define PE03_LED1 3U
147
#define PE04_LED2 4U
148
#define PE05_SERVO11 5U
149
#define PE06_SERVO12 6U
150
#define PE07_UART7_RX 7U
151
#define PE08_UART7_TX 8U
152
#define PE09_UART7_RTS 9U
153
#define PE10_UART7_CTS 10U
154
#define PE11_SPI_SLAVE3 11U
155
#define PE12_SPI4_CLK 12U
156
#define PE13_SPI4_MISO 13U
157
#define PE14_SPI4_MOSI 14U
158
#define PE15 15U
159
160
#define PF00 0U
161
#define PF01 1U
162
#define PF02 2U
163
#define PF03 3U
164
#define PF04 4U
165
#define PF05 5U
166
#define PF06 6U
167
#define PF07 7U
168
#define PF08 8U
169
#define PF09 9U
170
#define PF10 10U
171
#define PF11 11U
172
#define PF12 12U
173
#define PF13 13U
174
#define PF14 14U
175
#define PF15 15U
176
177
#define PG00 0U
178
#define PG01 1U
179
#define PG02 2U
180
#define PG03 3U
181
#define PG04 4U
182
#define PG05 5U
183
#define PG06 6U
184
#define PG07 7U
185
#define PG08 8U
186
#define PG09 9U
187
#define PG10 10U
188
#define PG11 11U
189
#define PG12 12U
190
#define PG13 13U
191
#define PG14 14U
192
#define PG15 15U
193
194
#define PH00_OSC_IN 0U
195
#define PH01_OSC_OUT 1U
196
#define PH02 2U
197
#define PH03 3U
198
#define PH04 4U
199
#define PH05 5U
200
#define PH06 6U
201
#define PH07 7U
202
#define PH08 8U
203
#define PH09 9U
204
#define PH10 10U
205
#define PH11 11U
206
#define PH12 12U
207
#define PH13 13U
208
#define PH14 14U
209
#define PH15 15U
210
211
#define PI00 0U
212
#define PI01 1U
213
#define PI02 2U
214
#define PI03 3U
215
#define PI04 4U
216
#define PI05 5U
217
#define PI06 6U
218
#define PI07 7U
219
#define PI08 8U
220
#define PI09 9U
221
#define PI10 10U
222
#define PI11 11U
223
#define PI12 12U
224
#define PI13 13U
225
#define PI14 14U
226
#define PI15 15U
227
228
#define PJ00 0U
229
#define PJ01 1U
230
#define PJ02 2U
231
#define PJ03 3U
232
#define PJ04 4U
233
#define PJ05 5U
234
#define PJ06 6U
235
#define PJ07 7U
236
#define PJ08 8U
237
#define PJ09 9U
238
#define PJ10 10U
239
#define PJ11 11U
240
#define PJ12 12U
241
#define PJ13 13U
242
#define PJ14 14U
243
#define PJ15 15U
244
245
#define PK00 0U
246
#define PK01 1U
247
#define PK02 2U
248
#define PK03 3U
249
#define PK04 4U
250
#define PK05 5U
251
#define PK06 6U
252
#define PK07 7U
253
#define PK08 8U
254
#define PK09 9U
255
#define PK10 10U
256
#define PK11 11U
257
#define PK12 12U
258
#define PK13 13U
259
#define PK14 14U
260
#define PK15 15U
261
262
/*
263
* IO lines assignments.
264
*/
265
#define LINE_SERVO3 PAL_LINE(GPIOA, 0U)
266
#define LINE_SERVO4 PAL_LINE(GPIOA, 1U)
267
#define LINE_SERVO5 PAL_LINE(GPIOA, 2U)
268
#define LINE_SERVO6 PAL_LINE(GPIOA, 3U)
269
#define LINE_ADC3 PAL_LINE(GPIOA, 4U)
270
#define LINE_SPI1_SCK PAL_LINE(GPIOA, 5U)
271
#define LINE_SPI1_MISO PAL_LINE(GPIOA, 6U)
272
#define LINE_ADC4 PAL_LINE(GPIOA, 7U)
273
#define LINE_LED_WS2812 PAL_LINE(GPIOA, 8U)
274
#define LINE_UART1_TX PAL_LINE(GPIOA, 9U)
275
#define LINE_UART1_RX PAL_LINE(GPIOA, 10U)
276
#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
277
#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
278
#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
279
#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
280
#define LINE_ALARM PAL_LINE(GPIOA, 15U)
281
282
#define LINE_SERVO1 PAL_LINE(GPIOB, 0U)
283
#define LINE_SERVO2 PAL_LINE(GPIOB, 1U)
284
#define LINE_SPI3_SCK PAL_LINE(GPIOB, 3U)
285
#define LINE_SPI3_MISO PAL_LINE(GPIOB, 4U)
286
#define LINE_SPI3_MOSI PAL_LINE(GPIOB, 5U)
287
#define LINE_I2C1_SCL PAL_LINE(GPIOB, 6U)
288
#define LINE_I2C1_SDA PAL_LINE(GPIOB, 7U)
289
#define LINE_UART4_RX PAL_LINE(GPIOB, 8U)
290
#define LINE_UART4_TX PAL_LINE(GPIOB, 9U)
291
#define LINE_I2C2_SCL PAL_LINE(GPIOB, 10U)
292
#define LINE_I2C2_SDA PAL_LINE(GPIOB, 11U)
293
#define LINE_SPI_SLAVE4 PAL_LINE(GPIOB, 12U)
294
#define LINE_SPI2_SCK PAL_LINE(GPIOB, 13U)
295
#define LINE_SPI2_MISO PAL_LINE(GPIOB, 14U)
296
#define LINE_SPI2_MOSI PAL_LINE(GPIOB, 15U)
297
298
#define LINE_ADC5 PAL_LINE(GPIOC, 0U)
299
#define LINE_ADC6 PAL_LINE(GPIOC, 1U)
300
#define LINE_ADC2 PAL_LINE(GPIOC, 4U)
301
#define LINE_ADC1 PAL_LINE(GPIOC, 5U)
302
#define LINE_UART6_TX PAL_LINE(GPIOC, 6U)
303
#define LINE_RC1 PAL_LINE(GPIOC, 7U)
304
#define LINE_SDIO_D0 PAL_LINE(GPIOC, 8U)
305
#define LINE_SDIO_D1 PAL_LINE(GPIOC, 9U)
306
#define LINE_SDIO_D2 PAL_LINE(GPIOC, 10U)
307
#define LINE_SDIO_D3 PAL_LINE(GPIOC, 11U)
308
#define LINE_SDIO_CK PAL_LINE(GPIOC, 12U)
309
#define LINE_SPI_SLAVE6 PAL_LINE(GPIOC, 13U)
310
#define LINE_SPI_SLAVE5 PAL_LINE(GPIOC, 15U)
311
312
#define LINE_CAN1_RX PAL_LINE(GPIOD, 0U)
313
#define LINE_CAN1_TX PAL_LINE(GPIOD, 1U)
314
#define LINE_SDIO_CMD PAL_LINE(GPIOD, 2U)
315
#define LINE_SPI_SLAVE1 PAL_LINE(GPIOD, 4U)
316
#define LINE_UART2_TX PAL_LINE(GPIOD, 5U)
317
#define LINE_UART2_RX PAL_LINE(GPIOD, 6U)
318
#define LINE_SPI1_MOSI PAL_LINE(GPIOD, 7U)
319
#define LINE_UART3_TX PAL_LINE(GPIOD, 8U)
320
#define LINE_UART3_RX PAL_LINE(GPIOD, 9U)
321
#define LINE_SERVO7 PAL_LINE(GPIOD, 12U)
322
#define LINE_SERVO8 PAL_LINE(GPIOD, 13U)
323
#define LINE_SERVO9 PAL_LINE(GPIOD, 14U)
324
#define LINE_SERVO10 PAL_LINE(GPIOD, 15U)
325
326
#define LINE_UART8_RX PAL_LINE(GPIOE, 0U)
327
#define LINE_UART8_TX PAL_LINE(GPIOE, 1U)
328
#define LINE_SPI_SLAVE2 PAL_LINE(GPIOE, 2U)
329
#define LINE_LED1 PAL_LINE(GPIOE, 3U)
330
#define LINE_LED2 PAL_LINE(GPIOE, 4U)
331
#define LINE_SERVO11 PAL_LINE(GPIOE, 5U)
332
#define LINE_SERVO12 PAL_LINE(GPIOE, 6U)
333
#define LINE_UART7_RX PAL_LINE(GPIOE, 7U)
334
#define LINE_UART7_TX PAL_LINE(GPIOE, 8U)
335
#define LINE_UART7_RTS PAL_LINE(GPIOE, 9U)
336
#define LINE_UART7_CTS PAL_LINE(GPIOE, 10U)
337
#define LINE_SPI_SLAVE3 PAL_LINE(GPIOE, 11U)
338
#define LINE_SPI4_CLK PAL_LINE(GPIOE, 12U)
339
#define LINE_SPI4_MISO PAL_LINE(GPIOE, 13U)
340
#define LINE_SPI4_MOSI PAL_LINE(GPIOE, 14U)
341
342
#define LINE_OSC_IN PAL_LINE(GPIOH, 0U)
343
#define LINE_OSC_OUT PAL_LINE(GPIOH, 1U)
344
345
346
/*
347
* I/O ports initial setup, this configuration is established soon after reset
348
* in the initialization code.
349
* Please refer to the STM32 Reference Manual for details.
350
*/
351
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
352
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
353
#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
354
#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
355
#define PIN_ODR_LEVEL_LOW(n) (0U << (n))
356
#define PIN_ODR_LEVEL_HIGH(n) (1U << (n))
357
#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
358
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
359
#define PIN_OSPEED_SPEED_VERYLOW(n) (0U << ((n) * 2U))
360
#define PIN_OSPEED_SPEED_LOW(n) (1U << ((n) * 2U))
361
#define PIN_OSPEED_SPEED_MEDIUM(n) (2U << ((n) * 2U))
362
#define PIN_OSPEED_SPEED_HIGH(n) (3U << ((n) * 2U))
363
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
364
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
365
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
366
#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
367
368
#define VAL_GPIOA_MODER (PIN_MODE_ALTERNATE(PA00_SERVO3) | \
369
PIN_MODE_ALTERNATE(PA01_SERVO4) | \
370
PIN_MODE_ALTERNATE(PA02_SERVO5) | \
371
PIN_MODE_ALTERNATE(PA03_SERVO6) | \
372
PIN_MODE_ANALOG(PA04_ADC3) | \
373
PIN_MODE_ALTERNATE(PA05_SPI1_SCK) | \
374
PIN_MODE_ALTERNATE(PA06_SPI1_MISO) | \
375
PIN_MODE_ANALOG(PA07_ADC4) | \
376
PIN_MODE_ALTERNATE(PA08_LED_WS2812) | \
377
PIN_MODE_ALTERNATE(PA09_UART1_TX) | \
378
PIN_MODE_ALTERNATE(PA10_UART1_RX) | \
379
PIN_MODE_ALTERNATE(PA11_USB_DM) | \
380
PIN_MODE_ALTERNATE(PA12_USB_DP) | \
381
PIN_MODE_ALTERNATE(PA13_SWDIO) | \
382
PIN_MODE_ALTERNATE(PA14_SWCLK) | \
383
PIN_MODE_ALTERNATE(PA15_ALARM))
384
385
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(PA00_SERVO3) | \
386
PIN_OTYPE_PUSHPULL(PA01_SERVO4) | \
387
PIN_OTYPE_PUSHPULL(PA02_SERVO5) | \
388
PIN_OTYPE_PUSHPULL(PA03_SERVO6) | \
389
PIN_OTYPE_PUSHPULL(PA04_ADC3) | \
390
PIN_OTYPE_PUSHPULL(PA05_SPI1_SCK) | \
391
PIN_OTYPE_PUSHPULL(PA06_SPI1_MISO) | \
392
PIN_OTYPE_PUSHPULL(PA07_ADC4) | \
393
PIN_OTYPE_PUSHPULL(PA08_LED_WS2812) | \
394
PIN_OTYPE_PUSHPULL(PA09_UART1_TX) | \
395
PIN_OTYPE_PUSHPULL(PA10_UART1_RX) | \
396
PIN_OTYPE_PUSHPULL(PA11_USB_DM) | \
397
PIN_OTYPE_PUSHPULL(PA12_USB_DP) | \
398
PIN_OTYPE_PUSHPULL(PA13_SWDIO) | \
399
PIN_OTYPE_PUSHPULL(PA14_SWCLK) | \
400
PIN_OTYPE_PUSHPULL(PA15_ALARM))
401
402
#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_SPEED_HIGH(PA00_SERVO3) | \
403
PIN_OSPEED_SPEED_HIGH(PA01_SERVO4) | \
404
PIN_OSPEED_SPEED_HIGH(PA02_SERVO5) | \
405
PIN_OSPEED_SPEED_HIGH(PA03_SERVO6) | \
406
PIN_OSPEED_SPEED_VERYLOW(PA04_ADC3) | \
407
PIN_OSPEED_SPEED_HIGH(PA05_SPI1_SCK) | \
408
PIN_OSPEED_SPEED_HIGH(PA06_SPI1_MISO) | \
409
PIN_OSPEED_SPEED_VERYLOW(PA07_ADC4) | \
410
PIN_OSPEED_SPEED_HIGH(PA08_LED_WS2812) | \
411
PIN_OSPEED_SPEED_HIGH(PA09_UART1_TX) | \
412
PIN_OSPEED_SPEED_HIGH(PA10_UART1_RX) | \
413
PIN_OSPEED_SPEED_HIGH(PA11_USB_DM) | \
414
PIN_OSPEED_SPEED_HIGH(PA12_USB_DP) | \
415
PIN_OSPEED_SPEED_HIGH(PA13_SWDIO) | \
416
PIN_OSPEED_SPEED_HIGH(PA14_SWCLK) | \
417
PIN_OSPEED_SPEED_HIGH(PA15_ALARM))
418
419
#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(PA00_SERVO3) | \
420
PIN_PUPDR_FLOATING(PA01_SERVO4) | \
421
PIN_PUPDR_FLOATING(PA02_SERVO5) | \
422
PIN_PUPDR_FLOATING(PA03_SERVO6) | \
423
PIN_PUPDR_FLOATING(PA04_ADC3) | \
424
PIN_PUPDR_FLOATING(PA05_SPI1_SCK) | \
425
PIN_PUPDR_FLOATING(PA06_SPI1_MISO) | \
426
PIN_PUPDR_FLOATING(PA07_ADC4) | \
427
PIN_PUPDR_FLOATING(PA08_LED_WS2812) | \
428
PIN_PUPDR_FLOATING(PA09_UART1_TX) | \
429
PIN_PUPDR_FLOATING(PA10_UART1_RX) | \
430
PIN_PUPDR_FLOATING(PA11_USB_DM) | \
431
PIN_PUPDR_FLOATING(PA12_USB_DP) | \
432
PIN_PUPDR_FLOATING(PA13_SWDIO) | \
433
PIN_PUPDR_FLOATING(PA14_SWCLK) | \
434
PIN_PUPDR_FLOATING(PA15_ALARM))
435
436
#define VAL_GPIOA_ODR (PIN_ODR_LEVEL_LOW(PA00_SERVO3) | \
437
PIN_ODR_LEVEL_LOW(PA01_SERVO4) | \
438
PIN_ODR_LEVEL_LOW(PA02_SERVO5) | \
439
PIN_ODR_LEVEL_LOW(PA03_SERVO6) | \
440
PIN_ODR_LEVEL_LOW(PA04_ADC3) | \
441
PIN_ODR_LEVEL_HIGH(PA05_SPI1_SCK) | \
442
PIN_ODR_LEVEL_HIGH(PA06_SPI1_MISO) | \
443
PIN_ODR_LEVEL_LOW(PA07_ADC4) | \
444
PIN_ODR_LEVEL_LOW(PA08_LED_WS2812) | \
445
PIN_ODR_LEVEL_HIGH(PA09_UART1_TX) | \
446
PIN_ODR_LEVEL_HIGH(PA10_UART1_RX) | \
447
PIN_ODR_LEVEL_HIGH(PA11_USB_DM) | \
448
PIN_ODR_LEVEL_HIGH(PA12_USB_DP) | \
449
PIN_ODR_LEVEL_HIGH(PA13_SWDIO) | \
450
PIN_ODR_LEVEL_HIGH(PA14_SWCLK) | \
451
PIN_ODR_LEVEL_LOW(PA15_ALARM))
452
453
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(PA00_SERVO3, 2) | \
454
PIN_AFIO_AF(PA01_SERVO4, 2) | \
455
PIN_AFIO_AF(PA02_SERVO5, 2) | \
456
PIN_AFIO_AF(PA03_SERVO6, 2) | \
457
PIN_AFIO_AF(PA04_ADC3, 0) | \
458
PIN_AFIO_AF(PA05_SPI1_SCK, 5) | \
459
PIN_AFIO_AF(PA06_SPI1_MISO, 5) | \
460
PIN_AFIO_AF(PA07_ADC4, 0))
461
462
#define VAL_GPIOA_AFRH (PIN_AFIO_AF(PA08_LED_WS2812, 1) | \
463
PIN_AFIO_AF(PA09_UART1_TX, 7) | \
464
PIN_AFIO_AF(PA10_UART1_RX, 7) | \
465
PIN_AFIO_AF(PA11_USB_DM, 10) | \
466
PIN_AFIO_AF(PA12_USB_DP, 10) | \
467
PIN_AFIO_AF(PA13_SWDIO, 0) | \
468
PIN_AFIO_AF(PA14_SWCLK, 0) | \
469
PIN_AFIO_AF(PA15_ALARM, 1))
470
471
#define VAL_GPIOB_MODER (PIN_MODE_ALTERNATE(PB00_SERVO1) | \
472
PIN_MODE_ALTERNATE(PB01_SERVO2) | \
473
PIN_MODE_INPUT(PB02) | \
474
PIN_MODE_ALTERNATE(PB03_SPI3_SCK) | \
475
PIN_MODE_ALTERNATE(PB04_SPI3_MISO) | \
476
PIN_MODE_ALTERNATE(PB05_SPI3_MOSI) | \
477
PIN_MODE_ALTERNATE(PB06_I2C1_SCL) | \
478
PIN_MODE_ALTERNATE(PB07_I2C1_SDA) | \
479
PIN_MODE_ALTERNATE(PB08_UART4_RX) | \
480
PIN_MODE_ALTERNATE(PB09_UART4_TX) | \
481
PIN_MODE_ALTERNATE(PB10_I2C2_SCL) | \
482
PIN_MODE_ALTERNATE(PB11_I2C2_SDA) | \
483
PIN_MODE_OUTPUT(PB12_SPI_SLAVE4) | \
484
PIN_MODE_ALTERNATE(PB13_SPI2_SCK) | \
485
PIN_MODE_ALTERNATE(PB14_SPI2_MISO) | \
486
PIN_MODE_ALTERNATE(PB15_SPI2_MOSI))
487
488
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(PB00_SERVO1) | \
489
PIN_OTYPE_PUSHPULL(PB01_SERVO2) | \
490
PIN_OTYPE_PUSHPULL(PB02) | \
491
PIN_OTYPE_PUSHPULL(PB03_SPI3_SCK) | \
492
PIN_OTYPE_PUSHPULL(PB04_SPI3_MISO) | \
493
PIN_OTYPE_PUSHPULL(PB05_SPI3_MOSI) | \
494
PIN_OTYPE_OPENDRAIN(PB06_I2C1_SCL) | \
495
PIN_OTYPE_OPENDRAIN(PB07_I2C1_SDA) | \
496
PIN_OTYPE_PUSHPULL(PB08_UART4_RX) | \
497
PIN_OTYPE_PUSHPULL(PB09_UART4_TX) | \
498
PIN_OTYPE_OPENDRAIN(PB10_I2C2_SCL) | \
499
PIN_OTYPE_OPENDRAIN(PB11_I2C2_SDA) | \
500
PIN_OTYPE_PUSHPULL(PB12_SPI_SLAVE4) | \
501
PIN_OTYPE_PUSHPULL(PB13_SPI2_SCK) | \
502
PIN_OTYPE_PUSHPULL(PB14_SPI2_MISO) | \
503
PIN_OTYPE_PUSHPULL(PB15_SPI2_MOSI))
504
505
#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_SPEED_HIGH(PB00_SERVO1) | \
506
PIN_OSPEED_SPEED_HIGH(PB01_SERVO2) | \
507
PIN_OSPEED_SPEED_VERYLOW(PB02) | \
508
PIN_OSPEED_SPEED_HIGH(PB03_SPI3_SCK) | \
509
PIN_OSPEED_SPEED_HIGH(PB04_SPI3_MISO) | \
510
PIN_OSPEED_SPEED_HIGH(PB05_SPI3_MOSI) | \
511
PIN_OSPEED_SPEED_HIGH(PB06_I2C1_SCL) | \
512
PIN_OSPEED_SPEED_HIGH(PB07_I2C1_SDA) | \
513
PIN_OSPEED_SPEED_HIGH(PB08_UART4_RX) | \
514
PIN_OSPEED_SPEED_HIGH(PB09_UART4_TX) | \
515
PIN_OSPEED_SPEED_HIGH(PB10_I2C2_SCL) | \
516
PIN_OSPEED_SPEED_HIGH(PB11_I2C2_SDA) | \
517
PIN_OSPEED_SPEED_HIGH(PB12_SPI_SLAVE4) | \
518
PIN_OSPEED_SPEED_HIGH(PB13_SPI2_SCK) | \
519
PIN_OSPEED_SPEED_HIGH(PB14_SPI2_MISO) | \
520
PIN_OSPEED_SPEED_HIGH(PB15_SPI2_MOSI))
521
522
#define VAL_GPIOB_PUPDR (PIN_PUPDR_FLOATING(PB00_SERVO1) | \
523
PIN_PUPDR_FLOATING(PB01_SERVO2) | \
524
PIN_PUPDR_PULLDOWN(PB02) | \
525
PIN_PUPDR_FLOATING(PB03_SPI3_SCK) | \
526
PIN_PUPDR_FLOATING(PB04_SPI3_MISO) | \
527
PIN_PUPDR_FLOATING(PB05_SPI3_MOSI) | \
528
PIN_PUPDR_PULLUP(PB06_I2C1_SCL) | \
529
PIN_PUPDR_PULLUP(PB07_I2C1_SDA) | \
530
PIN_PUPDR_FLOATING(PB08_UART4_RX) | \
531
PIN_PUPDR_FLOATING(PB09_UART4_TX) | \
532
PIN_PUPDR_PULLUP(PB10_I2C2_SCL) | \
533
PIN_PUPDR_PULLUP(PB11_I2C2_SDA) | \
534
PIN_PUPDR_FLOATING(PB12_SPI_SLAVE4) | \
535
PIN_PUPDR_FLOATING(PB13_SPI2_SCK) | \
536
PIN_PUPDR_FLOATING(PB14_SPI2_MISO) | \
537
PIN_PUPDR_FLOATING(PB15_SPI2_MOSI))
538
539
#define VAL_GPIOB_ODR (PIN_ODR_LEVEL_LOW(PB00_SERVO1) | \
540
PIN_ODR_LEVEL_LOW(PB01_SERVO2) | \
541
PIN_ODR_LEVEL_LOW(PB02) | \
542
PIN_ODR_LEVEL_HIGH(PB03_SPI3_SCK) | \
543
PIN_ODR_LEVEL_HIGH(PB04_SPI3_MISO) | \
544
PIN_ODR_LEVEL_HIGH(PB05_SPI3_MOSI) | \
545
PIN_ODR_LEVEL_HIGH(PB06_I2C1_SCL) | \
546
PIN_ODR_LEVEL_HIGH(PB07_I2C1_SDA) | \
547
PIN_ODR_LEVEL_HIGH(PB08_UART4_RX) | \
548
PIN_ODR_LEVEL_HIGH(PB09_UART4_TX) | \
549
PIN_ODR_LEVEL_HIGH(PB10_I2C2_SCL) | \
550
PIN_ODR_LEVEL_HIGH(PB11_I2C2_SDA) | \
551
PIN_ODR_LEVEL_HIGH(PB12_SPI_SLAVE4) | \
552
PIN_ODR_LEVEL_HIGH(PB13_SPI2_SCK) | \
553
PIN_ODR_LEVEL_HIGH(PB14_SPI2_MISO) | \
554
PIN_ODR_LEVEL_HIGH(PB15_SPI2_MOSI))
555
556
#define VAL_GPIOB_AFRL (PIN_AFIO_AF(PB00_SERVO1, 2) | \
557
PIN_AFIO_AF(PB01_SERVO2, 2) | \
558
PIN_AFIO_AF(PB02, 0) | \
559
PIN_AFIO_AF(PB03_SPI3_SCK, 6) | \
560
PIN_AFIO_AF(PB04_SPI3_MISO, 6) | \
561
PIN_AFIO_AF(PB05_SPI3_MOSI, 7) | \
562
PIN_AFIO_AF(PB06_I2C1_SCL, 4) | \
563
PIN_AFIO_AF(PB07_I2C1_SDA, 4))
564
565
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(PB08_UART4_RX, 8) | \
566
PIN_AFIO_AF(PB09_UART4_TX, 8) | \
567
PIN_AFIO_AF(PB10_I2C2_SCL, 4) | \
568
PIN_AFIO_AF(PB11_I2C2_SDA, 4) | \
569
PIN_AFIO_AF(PB12_SPI_SLAVE4, 0) | \
570
PIN_AFIO_AF(PB13_SPI2_SCK, 5) | \
571
PIN_AFIO_AF(PB14_SPI2_MISO, 5) | \
572
PIN_AFIO_AF(PB15_SPI2_MOSI, 5))
573
574
#define VAL_GPIOC_MODER (PIN_MODE_ANALOG(PC00_ADC5) | \
575
PIN_MODE_ANALOG(PC01_ADC6) | \
576
PIN_MODE_INPUT(PC02) | \
577
PIN_MODE_INPUT(PC03) | \
578
PIN_MODE_ANALOG(PC04_ADC2) | \
579
PIN_MODE_ANALOG(PC05_ADC1) | \
580
PIN_MODE_ALTERNATE(PC06_UART6_TX) | \
581
PIN_MODE_INPUT(PC07_RC1) | \
582
PIN_MODE_ALTERNATE(PC08_SDIO_D0) | \
583
PIN_MODE_ALTERNATE(PC09_SDIO_D1) | \
584
PIN_MODE_ALTERNATE(PC10_SDIO_D2) | \
585
PIN_MODE_ALTERNATE(PC11_SDIO_D3) | \
586
PIN_MODE_ALTERNATE(PC12_SDIO_CK) | \
587
PIN_MODE_OUTPUT(PC13_SPI_SLAVE6) | \
588
PIN_MODE_INPUT(PC14) | \
589
PIN_MODE_OUTPUT(PC15_SPI_SLAVE5))
590
591
#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(PC00_ADC5) | \
592
PIN_OTYPE_PUSHPULL(PC01_ADC6) | \
593
PIN_OTYPE_PUSHPULL(PC02) | \
594
PIN_OTYPE_PUSHPULL(PC03) | \
595
PIN_OTYPE_PUSHPULL(PC04_ADC2) | \
596
PIN_OTYPE_PUSHPULL(PC05_ADC1) | \
597
PIN_OTYPE_PUSHPULL(PC06_UART6_TX) | \
598
PIN_OTYPE_OPENDRAIN(PC07_RC1) | \
599
PIN_OTYPE_PUSHPULL(PC08_SDIO_D0) | \
600
PIN_OTYPE_PUSHPULL(PC09_SDIO_D1) | \
601
PIN_OTYPE_PUSHPULL(PC10_SDIO_D2) | \
602
PIN_OTYPE_PUSHPULL(PC11_SDIO_D3) | \
603
PIN_OTYPE_PUSHPULL(PC12_SDIO_CK) | \
604
PIN_OTYPE_PUSHPULL(PC13_SPI_SLAVE6) | \
605
PIN_OTYPE_PUSHPULL(PC14) | \
606
PIN_OTYPE_PUSHPULL(PC15_SPI_SLAVE5))
607
608
#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PC00_ADC5) | \
609
PIN_OSPEED_SPEED_VERYLOW(PC01_ADC6) | \
610
PIN_OSPEED_SPEED_VERYLOW(PC02) | \
611
PIN_OSPEED_SPEED_VERYLOW(PC03) | \
612
PIN_OSPEED_SPEED_VERYLOW(PC04_ADC2) | \
613
PIN_OSPEED_SPEED_VERYLOW(PC05_ADC1) | \
614
PIN_OSPEED_SPEED_HIGH(PC06_UART6_TX) | \
615
PIN_OSPEED_SPEED_VERYLOW(PC07_RC1) | \
616
PIN_OSPEED_SPEED_HIGH(PC08_SDIO_D0) | \
617
PIN_OSPEED_SPEED_HIGH(PC09_SDIO_D1) | \
618
PIN_OSPEED_SPEED_HIGH(PC10_SDIO_D2) | \
619
PIN_OSPEED_SPEED_HIGH(PC11_SDIO_D3) | \
620
PIN_OSPEED_SPEED_HIGH(PC12_SDIO_CK) | \
621
PIN_OSPEED_SPEED_HIGH(PC13_SPI_SLAVE6) | \
622
PIN_OSPEED_SPEED_VERYLOW(PC14) | \
623
PIN_OSPEED_SPEED_HIGH(PC15_SPI_SLAVE5))
624
625
#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING(PC00_ADC5) | \
626
PIN_PUPDR_FLOATING(PC01_ADC6) | \
627
PIN_PUPDR_PULLDOWN(PC02) | \
628
PIN_PUPDR_PULLDOWN(PC03) | \
629
PIN_PUPDR_FLOATING(PC04_ADC2) | \
630
PIN_PUPDR_FLOATING(PC05_ADC1) | \
631
PIN_PUPDR_FLOATING(PC06_UART6_TX) | \
632
PIN_PUPDR_PULLDOWN(PC07_RC1) | \
633
PIN_PUPDR_PULLUP(PC08_SDIO_D0) | \
634
PIN_PUPDR_PULLUP(PC09_SDIO_D1) | \
635
PIN_PUPDR_PULLUP(PC10_SDIO_D2) | \
636
PIN_PUPDR_PULLUP(PC11_SDIO_D3) | \
637
PIN_PUPDR_FLOATING(PC12_SDIO_CK) | \
638
PIN_PUPDR_FLOATING(PC13_SPI_SLAVE6) | \
639
PIN_PUPDR_PULLDOWN(PC14) | \
640
PIN_PUPDR_FLOATING(PC15_SPI_SLAVE5))
641
642
#define VAL_GPIOC_ODR (PIN_ODR_LEVEL_LOW(PC00_ADC5) | \
643
PIN_ODR_LEVEL_LOW(PC01_ADC6) | \
644
PIN_ODR_LEVEL_LOW(PC02) | \
645
PIN_ODR_LEVEL_LOW(PC03) | \
646
PIN_ODR_LEVEL_LOW(PC04_ADC2) | \
647
PIN_ODR_LEVEL_LOW(PC05_ADC1) | \
648
PIN_ODR_LEVEL_HIGH(PC06_UART6_TX) | \
649
PIN_ODR_LEVEL_HIGH(PC07_RC1) | \
650
PIN_ODR_LEVEL_HIGH(PC08_SDIO_D0) | \
651
PIN_ODR_LEVEL_HIGH(PC09_SDIO_D1) | \
652
PIN_ODR_LEVEL_HIGH(PC10_SDIO_D2) | \
653
PIN_ODR_LEVEL_HIGH(PC11_SDIO_D3) | \
654
PIN_ODR_LEVEL_HIGH(PC12_SDIO_CK) | \
655
PIN_ODR_LEVEL_HIGH(PC13_SPI_SLAVE6) | \
656
PIN_ODR_LEVEL_LOW(PC14) | \
657
PIN_ODR_LEVEL_HIGH(PC15_SPI_SLAVE5))
658
659
#define VAL_GPIOC_AFRL (PIN_AFIO_AF(PC00_ADC5, 0) | \
660
PIN_AFIO_AF(PC01_ADC6, 0) | \
661
PIN_AFIO_AF(PC02, 0) | \
662
PIN_AFIO_AF(PC03, 0) | \
663
PIN_AFIO_AF(PC04_ADC2, 0) | \
664
PIN_AFIO_AF(PC05_ADC1, 0) | \
665
PIN_AFIO_AF(PC06_UART6_TX, 7) | \
666
PIN_AFIO_AF(PC07_RC1, 0))
667
668
#define VAL_GPIOC_AFRH (PIN_AFIO_AF(PC08_SDIO_D0, 12) | \
669
PIN_AFIO_AF(PC09_SDIO_D1, 12) | \
670
PIN_AFIO_AF(PC10_SDIO_D2, 12) | \
671
PIN_AFIO_AF(PC11_SDIO_D3, 12) | \
672
PIN_AFIO_AF(PC12_SDIO_CK, 12) | \
673
PIN_AFIO_AF(PC13_SPI_SLAVE6, 0) | \
674
PIN_AFIO_AF(PC14, 0) | \
675
PIN_AFIO_AF(PC15_SPI_SLAVE5, 0))
676
677
#define VAL_GPIOD_MODER (PIN_MODE_ALTERNATE(PD00_CAN1_RX) | \
678
PIN_MODE_ALTERNATE(PD01_CAN1_TX) | \
679
PIN_MODE_ALTERNATE(PD02_SDIO_CMD) | \
680
PIN_MODE_INPUT(PD03) | \
681
PIN_MODE_OUTPUT(PD04_SPI_SLAVE1) | \
682
PIN_MODE_ALTERNATE(PD05_UART2_TX) | \
683
PIN_MODE_ALTERNATE(PD06_UART2_RX) | \
684
PIN_MODE_ALTERNATE(PD07_SPI1_MOSI) | \
685
PIN_MODE_ALTERNATE(PD08_UART3_TX) | \
686
PIN_MODE_ALTERNATE(PD09_UART3_RX) | \
687
PIN_MODE_INPUT(PD10) | \
688
PIN_MODE_INPUT(PD11) | \
689
PIN_MODE_ALTERNATE(PD12_SERVO7) | \
690
PIN_MODE_ALTERNATE(PD13_SERVO8) | \
691
PIN_MODE_ALTERNATE(PD14_SERVO9) | \
692
PIN_MODE_ALTERNATE(PD15_SERVO10))
693
694
#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(PD00_CAN1_RX) | \
695
PIN_OTYPE_PUSHPULL(PD01_CAN1_TX) | \
696
PIN_OTYPE_PUSHPULL(PD02_SDIO_CMD) | \
697
PIN_OTYPE_PUSHPULL(PD03) | \
698
PIN_OTYPE_PUSHPULL(PD04_SPI_SLAVE1) | \
699
PIN_OTYPE_PUSHPULL(PD05_UART2_TX) | \
700
PIN_OTYPE_PUSHPULL(PD06_UART2_RX) | \
701
PIN_OTYPE_PUSHPULL(PD07_SPI1_MOSI) | \
702
PIN_OTYPE_PUSHPULL(PD08_UART3_TX) | \
703
PIN_OTYPE_PUSHPULL(PD09_UART3_RX) | \
704
PIN_OTYPE_PUSHPULL(PD10) | \
705
PIN_OTYPE_PUSHPULL(PD11) | \
706
PIN_OTYPE_PUSHPULL(PD12_SERVO7) | \
707
PIN_OTYPE_PUSHPULL(PD13_SERVO8) | \
708
PIN_OTYPE_PUSHPULL(PD14_SERVO9) | \
709
PIN_OTYPE_PUSHPULL(PD15_SERVO10))
710
711
#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_SPEED_HIGH(PD00_CAN1_RX) | \
712
PIN_OSPEED_SPEED_HIGH(PD01_CAN1_TX) | \
713
PIN_OSPEED_SPEED_HIGH(PD02_SDIO_CMD) | \
714
PIN_OSPEED_SPEED_VERYLOW(PD03) | \
715
PIN_OSPEED_SPEED_HIGH(PD04_SPI_SLAVE1) | \
716
PIN_OSPEED_SPEED_HIGH(PD05_UART2_TX) | \
717
PIN_OSPEED_SPEED_HIGH(PD06_UART2_RX) | \
718
PIN_OSPEED_SPEED_HIGH(PD07_SPI1_MOSI) | \
719
PIN_OSPEED_SPEED_HIGH(PD08_UART3_TX) | \
720
PIN_OSPEED_SPEED_HIGH(PD09_UART3_RX) | \
721
PIN_OSPEED_SPEED_VERYLOW(PD10) | \
722
PIN_OSPEED_SPEED_VERYLOW(PD11) | \
723
PIN_OSPEED_SPEED_HIGH(PD12_SERVO7) | \
724
PIN_OSPEED_SPEED_HIGH(PD13_SERVO8) | \
725
PIN_OSPEED_SPEED_HIGH(PD14_SERVO9) | \
726
PIN_OSPEED_SPEED_HIGH(PD15_SERVO10))
727
728
#define VAL_GPIOD_PUPDR (PIN_PUPDR_FLOATING(PD00_CAN1_RX) | \
729
PIN_PUPDR_FLOATING(PD01_CAN1_TX) | \
730
PIN_PUPDR_PULLUP(PD02_SDIO_CMD) | \
731
PIN_PUPDR_PULLDOWN(PD03) | \
732
PIN_PUPDR_FLOATING(PD04_SPI_SLAVE1) | \
733
PIN_PUPDR_FLOATING(PD05_UART2_TX) | \
734
PIN_PUPDR_FLOATING(PD06_UART2_RX) | \
735
PIN_PUPDR_FLOATING(PD07_SPI1_MOSI) | \
736
PIN_PUPDR_FLOATING(PD08_UART3_TX) | \
737
PIN_PUPDR_FLOATING(PD09_UART3_RX) | \
738
PIN_PUPDR_PULLDOWN(PD10) | \
739
PIN_PUPDR_PULLDOWN(PD11) | \
740
PIN_PUPDR_FLOATING(PD12_SERVO7) | \
741
PIN_PUPDR_FLOATING(PD13_SERVO8) | \
742
PIN_PUPDR_FLOATING(PD14_SERVO9) | \
743
PIN_PUPDR_FLOATING(PD15_SERVO10))
744
745
#define VAL_GPIOD_ODR (PIN_ODR_LEVEL_HIGH(PD00_CAN1_RX) | \
746
PIN_ODR_LEVEL_HIGH(PD01_CAN1_TX) | \
747
PIN_ODR_LEVEL_HIGH(PD02_SDIO_CMD) | \
748
PIN_ODR_LEVEL_LOW(PD03) | \
749
PIN_ODR_LEVEL_HIGH(PD04_SPI_SLAVE1) | \
750
PIN_ODR_LEVEL_HIGH(PD05_UART2_TX) | \
751
PIN_ODR_LEVEL_HIGH(PD06_UART2_RX) | \
752
PIN_ODR_LEVEL_HIGH(PD07_SPI1_MOSI) | \
753
PIN_ODR_LEVEL_HIGH(PD08_UART3_TX) | \
754
PIN_ODR_LEVEL_HIGH(PD09_UART3_RX) | \
755
PIN_ODR_LEVEL_LOW(PD10) | \
756
PIN_ODR_LEVEL_LOW(PD11) | \
757
PIN_ODR_LEVEL_LOW(PD12_SERVO7) | \
758
PIN_ODR_LEVEL_LOW(PD13_SERVO8) | \
759
PIN_ODR_LEVEL_LOW(PD14_SERVO9) | \
760
PIN_ODR_LEVEL_LOW(PD15_SERVO10))
761
762
#define VAL_GPIOD_AFRL (PIN_AFIO_AF(PD00_CAN1_RX, 9) | \
763
PIN_AFIO_AF(PD01_CAN1_TX, 9) | \
764
PIN_AFIO_AF(PD02_SDIO_CMD, 12) | \
765
PIN_AFIO_AF(PD03, 0) | \
766
PIN_AFIO_AF(PD04_SPI_SLAVE1, 0) | \
767
PIN_AFIO_AF(PD05_UART2_TX, 7) | \
768
PIN_AFIO_AF(PD06_UART2_RX, 7) | \
769
PIN_AFIO_AF(PD07_SPI1_MOSI, 5))
770
771
#define VAL_GPIOD_AFRH (PIN_AFIO_AF(PD08_UART3_TX, 7) | \
772
PIN_AFIO_AF(PD09_UART3_RX, 7) | \
773
PIN_AFIO_AF(PD10, 0) | \
774
PIN_AFIO_AF(PD11, 0) | \
775
PIN_AFIO_AF(PD12_SERVO7, 2) | \
776
PIN_AFIO_AF(PD13_SERVO8, 2) | \
777
PIN_AFIO_AF(PD14_SERVO9, 2) | \
778
PIN_AFIO_AF(PD15_SERVO10, 2))
779
780
#define VAL_GPIOE_MODER (PIN_MODE_ALTERNATE(PE00_UART8_RX) | \
781
PIN_MODE_ALTERNATE(PE01_UART8_TX) | \
782
PIN_MODE_OUTPUT(PE02_SPI_SLAVE2) | \
783
PIN_MODE_OUTPUT(PE03_LED1) | \
784
PIN_MODE_OUTPUT(PE04_LED2) | \
785
PIN_MODE_ALTERNATE(PE05_SERVO11) | \
786
PIN_MODE_ALTERNATE(PE06_SERVO12) | \
787
PIN_MODE_ALTERNATE(PE07_UART7_RX) | \
788
PIN_MODE_ALTERNATE(PE08_UART7_TX) | \
789
PIN_MODE_INPUT(PE09_UART7_RTS) | \
790
PIN_MODE_INPUT(PE10_UART7_CTS) | \
791
PIN_MODE_OUTPUT(PE11_SPI_SLAVE3) | \
792
PIN_MODE_ALTERNATE(PE12_SPI4_CLK) | \
793
PIN_MODE_ALTERNATE(PE13_SPI4_MISO) | \
794
PIN_MODE_ALTERNATE(PE14_SPI4_MOSI) | \
795
PIN_MODE_INPUT(PE15))
796
797
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(PE00_UART8_RX) | \
798
PIN_OTYPE_PUSHPULL(PE01_UART8_TX) | \
799
PIN_OTYPE_PUSHPULL(PE02_SPI_SLAVE2) | \
800
PIN_OTYPE_PUSHPULL(PE03_LED1) | \
801
PIN_OTYPE_PUSHPULL(PE04_LED2) | \
802
PIN_OTYPE_PUSHPULL(PE05_SERVO11) | \
803
PIN_OTYPE_PUSHPULL(PE06_SERVO12) | \
804
PIN_OTYPE_PUSHPULL(PE07_UART7_RX) | \
805
PIN_OTYPE_PUSHPULL(PE08_UART7_TX) | \
806
PIN_OTYPE_OPENDRAIN(PE09_UART7_RTS) | \
807
PIN_OTYPE_OPENDRAIN(PE10_UART7_CTS) | \
808
PIN_OTYPE_PUSHPULL(PE11_SPI_SLAVE3) | \
809
PIN_OTYPE_PUSHPULL(PE12_SPI4_CLK) | \
810
PIN_OTYPE_PUSHPULL(PE13_SPI4_MISO) | \
811
PIN_OTYPE_PUSHPULL(PE14_SPI4_MOSI) | \
812
PIN_OTYPE_PUSHPULL(PE15))
813
814
#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_SPEED_HIGH(PE00_UART8_RX) | \
815
PIN_OSPEED_SPEED_HIGH(PE01_UART8_TX) | \
816
PIN_OSPEED_SPEED_HIGH(PE02_SPI_SLAVE2) | \
817
PIN_OSPEED_SPEED_VERYLOW(PE03_LED1) | \
818
PIN_OSPEED_SPEED_VERYLOW(PE04_LED2) | \
819
PIN_OSPEED_SPEED_HIGH(PE05_SERVO11) | \
820
PIN_OSPEED_SPEED_HIGH(PE06_SERVO12) | \
821
PIN_OSPEED_SPEED_HIGH(PE07_UART7_RX) | \
822
PIN_OSPEED_SPEED_HIGH(PE08_UART7_TX) | \
823
PIN_OSPEED_SPEED_VERYLOW(PE09_UART7_RTS) | \
824
PIN_OSPEED_SPEED_VERYLOW(PE10_UART7_CTS) | \
825
PIN_OSPEED_SPEED_HIGH(PE11_SPI_SLAVE3) | \
826
PIN_OSPEED_SPEED_HIGH(PE12_SPI4_CLK) | \
827
PIN_OSPEED_SPEED_HIGH(PE13_SPI4_MISO) | \
828
PIN_OSPEED_SPEED_HIGH(PE14_SPI4_MOSI) | \
829
PIN_OSPEED_SPEED_VERYLOW(PE15))
830
831
#define VAL_GPIOE_PUPDR (PIN_PUPDR_FLOATING(PE00_UART8_RX) | \
832
PIN_PUPDR_FLOATING(PE01_UART8_TX) | \
833
PIN_PUPDR_FLOATING(PE02_SPI_SLAVE2) | \
834
PIN_PUPDR_FLOATING(PE03_LED1) | \
835
PIN_PUPDR_FLOATING(PE04_LED2) | \
836
PIN_PUPDR_FLOATING(PE05_SERVO11) | \
837
PIN_PUPDR_FLOATING(PE06_SERVO12) | \
838
PIN_PUPDR_FLOATING(PE07_UART7_RX) | \
839
PIN_PUPDR_FLOATING(PE08_UART7_TX) | \
840
PIN_PUPDR_PULLDOWN(PE09_UART7_RTS) | \
841
PIN_PUPDR_PULLDOWN(PE10_UART7_CTS) | \
842
PIN_PUPDR_FLOATING(PE11_SPI_SLAVE3) | \
843
PIN_PUPDR_FLOATING(PE12_SPI4_CLK) | \
844
PIN_PUPDR_FLOATING(PE13_SPI4_MISO) | \
845
PIN_PUPDR_FLOATING(PE14_SPI4_MOSI) | \
846
PIN_PUPDR_PULLDOWN(PE15))
847
848
#define VAL_GPIOE_ODR (PIN_ODR_LEVEL_HIGH(PE00_UART8_RX) | \
849
PIN_ODR_LEVEL_HIGH(PE01_UART8_TX) | \
850
PIN_ODR_LEVEL_HIGH(PE02_SPI_SLAVE2) | \
851
PIN_ODR_LEVEL_LOW(PE03_LED1) | \
852
PIN_ODR_LEVEL_LOW(PE04_LED2) | \
853
PIN_ODR_LEVEL_LOW(PE05_SERVO11) | \
854
PIN_ODR_LEVEL_LOW(PE06_SERVO12) | \
855
PIN_ODR_LEVEL_HIGH(PE07_UART7_RX) | \
856
PIN_ODR_LEVEL_HIGH(PE08_UART7_TX) | \
857
PIN_ODR_LEVEL_HIGH(PE09_UART7_RTS) | \
858
PIN_ODR_LEVEL_HIGH(PE10_UART7_CTS) | \
859
PIN_ODR_LEVEL_HIGH(PE11_SPI_SLAVE3) | \
860
PIN_ODR_LEVEL_HIGH(PE12_SPI4_CLK) | \
861
PIN_ODR_LEVEL_HIGH(PE13_SPI4_MISO) | \
862
PIN_ODR_LEVEL_HIGH(PE14_SPI4_MOSI) | \
863
PIN_ODR_LEVEL_LOW(PE15))
864
865
#define VAL_GPIOE_AFRL (PIN_AFIO_AF(PE00_UART8_RX, 8) | \
866
PIN_AFIO_AF(PE01_UART8_TX, 8) | \
867
PIN_AFIO_AF(PE02_SPI_SLAVE2, 0) | \
868
PIN_AFIO_AF(PE03_LED1, 0) | \
869
PIN_AFIO_AF(PE04_LED2, 0) | \
870
PIN_AFIO_AF(PE05_SERVO11, 4) | \
871
PIN_AFIO_AF(PE06_SERVO12, 4) | \
872
PIN_AFIO_AF(PE07_UART7_RX, 7))
873
874
#define VAL_GPIOE_AFRH (PIN_AFIO_AF(PE08_UART7_TX, 7) | \
875
PIN_AFIO_AF(PE09_UART7_RTS, 0) | \
876
PIN_AFIO_AF(PE10_UART7_CTS, 0) | \
877
PIN_AFIO_AF(PE11_SPI_SLAVE3, 0) | \
878
PIN_AFIO_AF(PE12_SPI4_CLK, 5) | \
879
PIN_AFIO_AF(PE13_SPI4_MISO, 5) | \
880
PIN_AFIO_AF(PE14_SPI4_MOSI, 5) | \
881
PIN_AFIO_AF(PE15, 0))
882
883
#define VAL_GPIOF_MODER (PIN_MODE_INPUT(PF00) | \
884
PIN_MODE_INPUT(PF01) | \
885
PIN_MODE_INPUT(PF02) | \
886
PIN_MODE_INPUT(PF03) | \
887
PIN_MODE_INPUT(PF04) | \
888
PIN_MODE_INPUT(PF05) | \
889
PIN_MODE_INPUT(PF06) | \
890
PIN_MODE_INPUT(PF07) | \
891
PIN_MODE_INPUT(PF08) | \
892
PIN_MODE_INPUT(PF09) | \
893
PIN_MODE_INPUT(PF10) | \
894
PIN_MODE_INPUT(PF11) | \
895
PIN_MODE_INPUT(PF12) | \
896
PIN_MODE_INPUT(PF13) | \
897
PIN_MODE_INPUT(PF14) | \
898
PIN_MODE_INPUT(PF15))
899
900
#define VAL_GPIOF_OTYPER (PIN_OTYPE_PUSHPULL(PF00) | \
901
PIN_OTYPE_PUSHPULL(PF01) | \
902
PIN_OTYPE_PUSHPULL(PF02) | \
903
PIN_OTYPE_PUSHPULL(PF03) | \
904
PIN_OTYPE_PUSHPULL(PF04) | \
905
PIN_OTYPE_PUSHPULL(PF05) | \
906
PIN_OTYPE_PUSHPULL(PF06) | \
907
PIN_OTYPE_PUSHPULL(PF07) | \
908
PIN_OTYPE_PUSHPULL(PF08) | \
909
PIN_OTYPE_PUSHPULL(PF09) | \
910
PIN_OTYPE_PUSHPULL(PF10) | \
911
PIN_OTYPE_PUSHPULL(PF11) | \
912
PIN_OTYPE_PUSHPULL(PF12) | \
913
PIN_OTYPE_PUSHPULL(PF13) | \
914
PIN_OTYPE_PUSHPULL(PF14) | \
915
PIN_OTYPE_PUSHPULL(PF15))
916
917
#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PF00) | \
918
PIN_OSPEED_SPEED_VERYLOW(PF01) | \
919
PIN_OSPEED_SPEED_VERYLOW(PF02) | \
920
PIN_OSPEED_SPEED_VERYLOW(PF03) | \
921
PIN_OSPEED_SPEED_VERYLOW(PF04) | \
922
PIN_OSPEED_SPEED_VERYLOW(PF05) | \
923
PIN_OSPEED_SPEED_VERYLOW(PF06) | \
924
PIN_OSPEED_SPEED_VERYLOW(PF07) | \
925
PIN_OSPEED_SPEED_VERYLOW(PF08) | \
926
PIN_OSPEED_SPEED_VERYLOW(PF09) | \
927
PIN_OSPEED_SPEED_VERYLOW(PF10) | \
928
PIN_OSPEED_SPEED_VERYLOW(PF11) | \
929
PIN_OSPEED_SPEED_VERYLOW(PF12) | \
930
PIN_OSPEED_SPEED_VERYLOW(PF13) | \
931
PIN_OSPEED_SPEED_VERYLOW(PF14) | \
932
PIN_OSPEED_SPEED_VERYLOW(PF15))
933
934
#define VAL_GPIOF_PUPDR (PIN_PUPDR_PULLDOWN(PF00) | \
935
PIN_PUPDR_PULLDOWN(PF01) | \
936
PIN_PUPDR_PULLDOWN(PF02) | \
937
PIN_PUPDR_PULLDOWN(PF03) | \
938
PIN_PUPDR_PULLDOWN(PF04) | \
939
PIN_PUPDR_PULLDOWN(PF05) | \
940
PIN_PUPDR_PULLDOWN(PF06) | \
941
PIN_PUPDR_PULLDOWN(PF07) | \
942
PIN_PUPDR_PULLDOWN(PF08) | \
943
PIN_PUPDR_PULLDOWN(PF09) | \
944
PIN_PUPDR_PULLDOWN(PF10) | \
945
PIN_PUPDR_PULLDOWN(PF11) | \
946
PIN_PUPDR_PULLDOWN(PF12) | \
947
PIN_PUPDR_PULLDOWN(PF13) | \
948
PIN_PUPDR_PULLDOWN(PF14) | \
949
PIN_PUPDR_PULLDOWN(PF15))
950
951
#define VAL_GPIOF_ODR (PIN_ODR_LEVEL_LOW(PF00) | \
952
PIN_ODR_LEVEL_LOW(PF01) | \
953
PIN_ODR_LEVEL_LOW(PF02) | \
954
PIN_ODR_LEVEL_LOW(PF03) | \
955
PIN_ODR_LEVEL_LOW(PF04) | \
956
PIN_ODR_LEVEL_LOW(PF05) | \
957
PIN_ODR_LEVEL_LOW(PF06) | \
958
PIN_ODR_LEVEL_LOW(PF07) | \
959
PIN_ODR_LEVEL_LOW(PF08) | \
960
PIN_ODR_LEVEL_LOW(PF09) | \
961
PIN_ODR_LEVEL_LOW(PF10) | \
962
PIN_ODR_LEVEL_LOW(PF11) | \
963
PIN_ODR_LEVEL_LOW(PF12) | \
964
PIN_ODR_LEVEL_LOW(PF13) | \
965
PIN_ODR_LEVEL_LOW(PF14) | \
966
PIN_ODR_LEVEL_LOW(PF15))
967
968
#define VAL_GPIOF_AFRL (PIN_AFIO_AF(PF00, 0) | \
969
PIN_AFIO_AF(PF01, 0) | \
970
PIN_AFIO_AF(PF02, 0) | \
971
PIN_AFIO_AF(PF03, 0) | \
972
PIN_AFIO_AF(PF04, 0) | \
973
PIN_AFIO_AF(PF05, 0) | \
974
PIN_AFIO_AF(PF06, 0) | \
975
PIN_AFIO_AF(PF07, 0))
976
977
#define VAL_GPIOF_AFRH (PIN_AFIO_AF(PF08, 0) | \
978
PIN_AFIO_AF(PF09, 0) | \
979
PIN_AFIO_AF(PF10, 0) | \
980
PIN_AFIO_AF(PF11, 0) | \
981
PIN_AFIO_AF(PF12, 0) | \
982
PIN_AFIO_AF(PF13, 0) | \
983
PIN_AFIO_AF(PF14, 0) | \
984
PIN_AFIO_AF(PF15, 0))
985
986
#define VAL_GPIOG_MODER (PIN_MODE_INPUT(PG00) | \
987
PIN_MODE_INPUT(PG01) | \
988
PIN_MODE_INPUT(PG02) | \
989
PIN_MODE_INPUT(PG03) | \
990
PIN_MODE_INPUT(PG04) | \
991
PIN_MODE_INPUT(PG05) | \
992
PIN_MODE_INPUT(PG06) | \
993
PIN_MODE_INPUT(PG07) | \
994
PIN_MODE_INPUT(PG08) | \
995
PIN_MODE_INPUT(PG09) | \
996
PIN_MODE_INPUT(PG10) | \
997
PIN_MODE_INPUT(PG11) | \
998
PIN_MODE_INPUT(PG12) | \
999
PIN_MODE_INPUT(PG13) | \
1000
PIN_MODE_INPUT(PG14) | \
1001
PIN_MODE_INPUT(PG15))
1002
1003
#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(PG00) | \
1004
PIN_OTYPE_PUSHPULL(PG01) | \
1005
PIN_OTYPE_PUSHPULL(PG02) | \
1006
PIN_OTYPE_PUSHPULL(PG03) | \
1007
PIN_OTYPE_PUSHPULL(PG04) | \
1008
PIN_OTYPE_PUSHPULL(PG05) | \
1009
PIN_OTYPE_PUSHPULL(PG06) | \
1010
PIN_OTYPE_PUSHPULL(PG07) | \
1011
PIN_OTYPE_PUSHPULL(PG08) | \
1012
PIN_OTYPE_PUSHPULL(PG09) | \
1013
PIN_OTYPE_PUSHPULL(PG10) | \
1014
PIN_OTYPE_PUSHPULL(PG11) | \
1015
PIN_OTYPE_PUSHPULL(PG12) | \
1016
PIN_OTYPE_PUSHPULL(PG13) | \
1017
PIN_OTYPE_PUSHPULL(PG14) | \
1018
PIN_OTYPE_PUSHPULL(PG15))
1019
1020
#define VAL_GPIOG_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PG00) | \
1021
PIN_OSPEED_SPEED_VERYLOW(PG01) | \
1022
PIN_OSPEED_SPEED_VERYLOW(PG02) | \
1023
PIN_OSPEED_SPEED_VERYLOW(PG03) | \
1024
PIN_OSPEED_SPEED_VERYLOW(PG04) | \
1025
PIN_OSPEED_SPEED_VERYLOW(PG05) | \
1026
PIN_OSPEED_SPEED_VERYLOW(PG06) | \
1027
PIN_OSPEED_SPEED_VERYLOW(PG07) | \
1028
PIN_OSPEED_SPEED_VERYLOW(PG08) | \
1029
PIN_OSPEED_SPEED_VERYLOW(PG09) | \
1030
PIN_OSPEED_SPEED_VERYLOW(PG10) | \
1031
PIN_OSPEED_SPEED_VERYLOW(PG11) | \
1032
PIN_OSPEED_SPEED_VERYLOW(PG12) | \
1033
PIN_OSPEED_SPEED_VERYLOW(PG13) | \
1034
PIN_OSPEED_SPEED_VERYLOW(PG14) | \
1035
PIN_OSPEED_SPEED_VERYLOW(PG15))
1036
1037
#define VAL_GPIOG_PUPDR (PIN_PUPDR_PULLDOWN(PG00) | \
1038
PIN_PUPDR_PULLDOWN(PG01) | \
1039
PIN_PUPDR_PULLDOWN(PG02) | \
1040
PIN_PUPDR_PULLDOWN(PG03) | \
1041
PIN_PUPDR_PULLDOWN(PG04) | \
1042
PIN_PUPDR_PULLDOWN(PG05) | \
1043
PIN_PUPDR_PULLDOWN(PG06) | \
1044
PIN_PUPDR_PULLDOWN(PG07) | \
1045
PIN_PUPDR_PULLDOWN(PG08) | \
1046
PIN_PUPDR_PULLDOWN(PG09) | \
1047
PIN_PUPDR_PULLDOWN(PG10) | \
1048
PIN_PUPDR_PULLDOWN(PG11) | \
1049
PIN_PUPDR_PULLDOWN(PG12) | \
1050
PIN_PUPDR_PULLDOWN(PG13) | \
1051
PIN_PUPDR_PULLDOWN(PG14) | \
1052
PIN_PUPDR_PULLDOWN(PG15))
1053
1054
#define VAL_GPIOG_ODR (PIN_ODR_LEVEL_LOW(PG00) | \
1055
PIN_ODR_LEVEL_LOW(PG01) | \
1056
PIN_ODR_LEVEL_LOW(PG02) | \
1057
PIN_ODR_LEVEL_LOW(PG03) | \
1058
PIN_ODR_LEVEL_LOW(PG04) | \
1059
PIN_ODR_LEVEL_LOW(PG05) | \
1060
PIN_ODR_LEVEL_LOW(PG06) | \
1061
PIN_ODR_LEVEL_LOW(PG07) | \
1062
PIN_ODR_LEVEL_LOW(PG08) | \
1063
PIN_ODR_LEVEL_LOW(PG09) | \
1064
PIN_ODR_LEVEL_LOW(PG10) | \
1065
PIN_ODR_LEVEL_LOW(PG11) | \
1066
PIN_ODR_LEVEL_LOW(PG12) | \
1067
PIN_ODR_LEVEL_LOW(PG13) | \
1068
PIN_ODR_LEVEL_LOW(PG14) | \
1069
PIN_ODR_LEVEL_LOW(PG15))
1070
1071
#define VAL_GPIOG_AFRL (PIN_AFIO_AF(PG00, 0) | \
1072
PIN_AFIO_AF(PG01, 0) | \
1073
PIN_AFIO_AF(PG02, 0) | \
1074
PIN_AFIO_AF(PG03, 0) | \
1075
PIN_AFIO_AF(PG04, 0) | \
1076
PIN_AFIO_AF(PG05, 0) | \
1077
PIN_AFIO_AF(PG06, 0) | \
1078
PIN_AFIO_AF(PG07, 0))
1079
1080
#define VAL_GPIOG_AFRH (PIN_AFIO_AF(PG08, 0) | \
1081
PIN_AFIO_AF(PG09, 0) | \
1082
PIN_AFIO_AF(PG10, 0) | \
1083
PIN_AFIO_AF(PG11, 0) | \
1084
PIN_AFIO_AF(PG12, 0) | \
1085
PIN_AFIO_AF(PG13, 0) | \
1086
PIN_AFIO_AF(PG14, 0) | \
1087
PIN_AFIO_AF(PG15, 0))
1088
1089
#define VAL_GPIOH_MODER (PIN_MODE_ALTERNATE(PH00_OSC_IN) | \
1090
PIN_MODE_ALTERNATE(PH01_OSC_OUT) | \
1091
PIN_MODE_INPUT(PH02) | \
1092
PIN_MODE_INPUT(PH03) | \
1093
PIN_MODE_INPUT(PH04) | \
1094
PIN_MODE_INPUT(PH05) | \
1095
PIN_MODE_INPUT(PH06) | \
1096
PIN_MODE_INPUT(PH07) | \
1097
PIN_MODE_INPUT(PH08) | \
1098
PIN_MODE_INPUT(PH09) | \
1099
PIN_MODE_INPUT(PH10) | \
1100
PIN_MODE_INPUT(PH11) | \
1101
PIN_MODE_INPUT(PH12) | \
1102
PIN_MODE_INPUT(PH13) | \
1103
PIN_MODE_INPUT(PH14) | \
1104
PIN_MODE_INPUT(PH15))
1105
1106
#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(PH00_OSC_IN) | \
1107
PIN_OTYPE_PUSHPULL(PH01_OSC_OUT) | \
1108
PIN_OTYPE_PUSHPULL(PH02) | \
1109
PIN_OTYPE_PUSHPULL(PH03) | \
1110
PIN_OTYPE_PUSHPULL(PH04) | \
1111
PIN_OTYPE_PUSHPULL(PH05) | \
1112
PIN_OTYPE_PUSHPULL(PH06) | \
1113
PIN_OTYPE_PUSHPULL(PH07) | \
1114
PIN_OTYPE_PUSHPULL(PH08) | \
1115
PIN_OTYPE_PUSHPULL(PH09) | \
1116
PIN_OTYPE_PUSHPULL(PH10) | \
1117
PIN_OTYPE_PUSHPULL(PH11) | \
1118
PIN_OTYPE_PUSHPULL(PH12) | \
1119
PIN_OTYPE_PUSHPULL(PH13) | \
1120
PIN_OTYPE_PUSHPULL(PH14) | \
1121
PIN_OTYPE_PUSHPULL(PH15))
1122
1123
#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_SPEED_HIGH(PH00_OSC_IN) | \
1124
PIN_OSPEED_SPEED_HIGH(PH01_OSC_OUT) | \
1125
PIN_OSPEED_SPEED_VERYLOW(PH02) | \
1126
PIN_OSPEED_SPEED_VERYLOW(PH03) | \
1127
PIN_OSPEED_SPEED_VERYLOW(PH04) | \
1128
PIN_OSPEED_SPEED_VERYLOW(PH05) | \
1129
PIN_OSPEED_SPEED_VERYLOW(PH06) | \
1130
PIN_OSPEED_SPEED_VERYLOW(PH07) | \
1131
PIN_OSPEED_SPEED_VERYLOW(PH08) | \
1132
PIN_OSPEED_SPEED_VERYLOW(PH09) | \
1133
PIN_OSPEED_SPEED_VERYLOW(PH10) | \
1134
PIN_OSPEED_SPEED_VERYLOW(PH11) | \
1135
PIN_OSPEED_SPEED_VERYLOW(PH12) | \
1136
PIN_OSPEED_SPEED_VERYLOW(PH13) | \
1137
PIN_OSPEED_SPEED_VERYLOW(PH14) | \
1138
PIN_OSPEED_SPEED_VERYLOW(PH15))
1139
1140
#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING(PH00_OSC_IN) | \
1141
PIN_PUPDR_FLOATING(PH01_OSC_OUT) | \
1142
PIN_PUPDR_PULLDOWN(PH02) | \
1143
PIN_PUPDR_PULLDOWN(PH03) | \
1144
PIN_PUPDR_PULLDOWN(PH04) | \
1145
PIN_PUPDR_PULLDOWN(PH05) | \
1146
PIN_PUPDR_PULLDOWN(PH06) | \
1147
PIN_PUPDR_PULLDOWN(PH07) | \
1148
PIN_PUPDR_PULLDOWN(PH08) | \
1149
PIN_PUPDR_PULLDOWN(PH09) | \
1150
PIN_PUPDR_PULLDOWN(PH10) | \
1151
PIN_PUPDR_PULLDOWN(PH11) | \
1152
PIN_PUPDR_PULLDOWN(PH12) | \
1153
PIN_PUPDR_PULLDOWN(PH13) | \
1154
PIN_PUPDR_PULLDOWN(PH14) | \
1155
PIN_PUPDR_PULLDOWN(PH15))
1156
1157
#define VAL_GPIOH_ODR (PIN_ODR_LEVEL_HIGH(PH00_OSC_IN) | \
1158
PIN_ODR_LEVEL_HIGH(PH01_OSC_OUT) | \
1159
PIN_ODR_LEVEL_LOW(PH02) | \
1160
PIN_ODR_LEVEL_LOW(PH03) | \
1161
PIN_ODR_LEVEL_LOW(PH04) | \
1162
PIN_ODR_LEVEL_LOW(PH05) | \
1163
PIN_ODR_LEVEL_LOW(PH06) | \
1164
PIN_ODR_LEVEL_LOW(PH07) | \
1165
PIN_ODR_LEVEL_LOW(PH08) | \
1166
PIN_ODR_LEVEL_LOW(PH09) | \
1167
PIN_ODR_LEVEL_LOW(PH10) | \
1168
PIN_ODR_LEVEL_LOW(PH11) | \
1169
PIN_ODR_LEVEL_LOW(PH12) | \
1170
PIN_ODR_LEVEL_LOW(PH13) | \
1171
PIN_ODR_LEVEL_LOW(PH14) | \
1172
PIN_ODR_LEVEL_LOW(PH15))
1173
1174
#define VAL_GPIOH_AFRL (PIN_AFIO_AF(PH00_OSC_IN, 0) | \
1175
PIN_AFIO_AF(PH01_OSC_OUT, 0) | \
1176
PIN_AFIO_AF(PH02, 0) | \
1177
PIN_AFIO_AF(PH03, 0) | \
1178
PIN_AFIO_AF(PH04, 0) | \
1179
PIN_AFIO_AF(PH05, 0) | \
1180
PIN_AFIO_AF(PH06, 0) | \
1181
PIN_AFIO_AF(PH07, 0))
1182
1183
#define VAL_GPIOH_AFRH (PIN_AFIO_AF(PH08, 0) | \
1184
PIN_AFIO_AF(PH09, 0) | \
1185
PIN_AFIO_AF(PH10, 0) | \
1186
PIN_AFIO_AF(PH11, 0) | \
1187
PIN_AFIO_AF(PH12, 0) | \
1188
PIN_AFIO_AF(PH13, 0) | \
1189
PIN_AFIO_AF(PH14, 0) | \
1190
PIN_AFIO_AF(PH15, 0))
1191
1192
#define VAL_GPIOI_MODER (PIN_MODE_INPUT(PI00) | \
1193
PIN_MODE_INPUT(PI01) | \
1194
PIN_MODE_INPUT(PI02) | \
1195
PIN_MODE_INPUT(PI03) | \
1196
PIN_MODE_INPUT(PI04) | \
1197
PIN_MODE_INPUT(PI05) | \
1198
PIN_MODE_INPUT(PI06) | \
1199
PIN_MODE_INPUT(PI07) | \
1200
PIN_MODE_INPUT(PI08) | \
1201
PIN_MODE_INPUT(PI09) | \
1202
PIN_MODE_INPUT(PI10) | \
1203
PIN_MODE_INPUT(PI11) | \
1204
PIN_MODE_INPUT(PI12) | \
1205
PIN_MODE_INPUT(PI13) | \
1206
PIN_MODE_INPUT(PI14) | \
1207
PIN_MODE_INPUT(PI15))
1208
1209
#define VAL_GPIOI_OTYPER (PIN_OTYPE_PUSHPULL(PI00) | \
1210
PIN_OTYPE_PUSHPULL(PI01) | \
1211
PIN_OTYPE_PUSHPULL(PI02) | \
1212
PIN_OTYPE_PUSHPULL(PI03) | \
1213
PIN_OTYPE_PUSHPULL(PI04) | \
1214
PIN_OTYPE_PUSHPULL(PI05) | \
1215
PIN_OTYPE_PUSHPULL(PI06) | \
1216
PIN_OTYPE_PUSHPULL(PI07) | \
1217
PIN_OTYPE_PUSHPULL(PI08) | \
1218
PIN_OTYPE_PUSHPULL(PI09) | \
1219
PIN_OTYPE_PUSHPULL(PI10) | \
1220
PIN_OTYPE_PUSHPULL(PI11) | \
1221
PIN_OTYPE_PUSHPULL(PI12) | \
1222
PIN_OTYPE_PUSHPULL(PI13) | \
1223
PIN_OTYPE_PUSHPULL(PI14) | \
1224
PIN_OTYPE_PUSHPULL(PI15))
1225
1226
#define VAL_GPIOI_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PI00) | \
1227
PIN_OSPEED_SPEED_VERYLOW(PI01) | \
1228
PIN_OSPEED_SPEED_VERYLOW(PI02) | \
1229
PIN_OSPEED_SPEED_VERYLOW(PI03) | \
1230
PIN_OSPEED_SPEED_VERYLOW(PI04) | \
1231
PIN_OSPEED_SPEED_VERYLOW(PI05) | \
1232
PIN_OSPEED_SPEED_VERYLOW(PI06) | \
1233
PIN_OSPEED_SPEED_VERYLOW(PI07) | \
1234
PIN_OSPEED_SPEED_VERYLOW(PI08) | \
1235
PIN_OSPEED_SPEED_VERYLOW(PI09) | \
1236
PIN_OSPEED_SPEED_VERYLOW(PI10) | \
1237
PIN_OSPEED_SPEED_VERYLOW(PI11) | \
1238
PIN_OSPEED_SPEED_VERYLOW(PI12) | \
1239
PIN_OSPEED_SPEED_VERYLOW(PI13) | \
1240
PIN_OSPEED_SPEED_VERYLOW(PI14) | \
1241
PIN_OSPEED_SPEED_VERYLOW(PI15))
1242
1243
#define VAL_GPIOI_PUPDR (PIN_PUPDR_PULLDOWN(PI00) | \
1244
PIN_PUPDR_PULLDOWN(PI01) | \
1245
PIN_PUPDR_PULLDOWN(PI02) | \
1246
PIN_PUPDR_PULLDOWN(PI03) | \
1247
PIN_PUPDR_PULLDOWN(PI04) | \
1248
PIN_PUPDR_PULLDOWN(PI05) | \
1249
PIN_PUPDR_PULLDOWN(PI06) | \
1250
PIN_PUPDR_PULLDOWN(PI07) | \
1251
PIN_PUPDR_PULLDOWN(PI08) | \
1252
PIN_PUPDR_PULLDOWN(PI09) | \
1253
PIN_PUPDR_PULLDOWN(PI10) | \
1254
PIN_PUPDR_PULLDOWN(PI11) | \
1255
PIN_PUPDR_PULLDOWN(PI12) | \
1256
PIN_PUPDR_PULLDOWN(PI13) | \
1257
PIN_PUPDR_PULLDOWN(PI14) | \
1258
PIN_PUPDR_PULLDOWN(PI15))
1259
1260
#define VAL_GPIOI_ODR (PIN_ODR_LEVEL_LOW(PI00) | \
1261
PIN_ODR_LEVEL_LOW(PI01) | \
1262
PIN_ODR_LEVEL_LOW(PI02) | \
1263
PIN_ODR_LEVEL_LOW(PI03) | \
1264
PIN_ODR_LEVEL_LOW(PI04) | \
1265
PIN_ODR_LEVEL_LOW(PI05) | \
1266
PIN_ODR_LEVEL_LOW(PI06) | \
1267
PIN_ODR_LEVEL_LOW(PI07) | \
1268
PIN_ODR_LEVEL_LOW(PI08) | \
1269
PIN_ODR_LEVEL_LOW(PI09) | \
1270
PIN_ODR_LEVEL_LOW(PI10) | \
1271
PIN_ODR_LEVEL_LOW(PI11) | \
1272
PIN_ODR_LEVEL_LOW(PI12) | \
1273
PIN_ODR_LEVEL_LOW(PI13) | \
1274
PIN_ODR_LEVEL_LOW(PI14) | \
1275
PIN_ODR_LEVEL_LOW(PI15))
1276
1277
#define VAL_GPIOI_AFRL (PIN_AFIO_AF(PI00, 0) | \
1278
PIN_AFIO_AF(PI01, 0) | \
1279
PIN_AFIO_AF(PI02, 0) | \
1280
PIN_AFIO_AF(PI03, 0) | \
1281
PIN_AFIO_AF(PI04, 0) | \
1282
PIN_AFIO_AF(PI05, 0) | \
1283
PIN_AFIO_AF(PI06, 0) | \
1284
PIN_AFIO_AF(PI07, 0))
1285
1286
#define VAL_GPIOI_AFRH (PIN_AFIO_AF(PI08, 0) | \
1287
PIN_AFIO_AF(PI09, 0) | \
1288
PIN_AFIO_AF(PI10, 0) | \
1289
PIN_AFIO_AF(PI11, 0) | \
1290
PIN_AFIO_AF(PI12, 0) | \
1291
PIN_AFIO_AF(PI13, 0) | \
1292
PIN_AFIO_AF(PI14, 0) | \
1293
PIN_AFIO_AF(PI15, 0))
1294
1295
#define VAL_GPIOJ_MODER (PIN_MODE_INPUT(PJ00) | \
1296
PIN_MODE_INPUT(PJ01) | \
1297
PIN_MODE_INPUT(PJ02) | \
1298
PIN_MODE_INPUT(PJ03) | \
1299
PIN_MODE_INPUT(PJ04) | \
1300
PIN_MODE_INPUT(PJ05) | \
1301
PIN_MODE_INPUT(PJ06) | \
1302
PIN_MODE_INPUT(PJ07) | \
1303
PIN_MODE_INPUT(PJ08) | \
1304
PIN_MODE_INPUT(PJ09) | \
1305
PIN_MODE_INPUT(PJ10) | \
1306
PIN_MODE_INPUT(PJ11) | \
1307
PIN_MODE_INPUT(PJ12) | \
1308
PIN_MODE_INPUT(PJ13) | \
1309
PIN_MODE_INPUT(PJ14) | \
1310
PIN_MODE_INPUT(PJ15))
1311
1312
#define VAL_GPIOJ_OTYPER (PIN_OTYPE_PUSHPULL(PJ00) | \
1313
PIN_OTYPE_PUSHPULL(PJ01) | \
1314
PIN_OTYPE_PUSHPULL(PJ02) | \
1315
PIN_OTYPE_PUSHPULL(PJ03) | \
1316
PIN_OTYPE_PUSHPULL(PJ04) | \
1317
PIN_OTYPE_PUSHPULL(PJ05) | \
1318
PIN_OTYPE_PUSHPULL(PJ06) | \
1319
PIN_OTYPE_PUSHPULL(PJ07) | \
1320
PIN_OTYPE_PUSHPULL(PJ08) | \
1321
PIN_OTYPE_PUSHPULL(PJ09) | \
1322
PIN_OTYPE_PUSHPULL(PJ10) | \
1323
PIN_OTYPE_PUSHPULL(PJ11) | \
1324
PIN_OTYPE_PUSHPULL(PJ12) | \
1325
PIN_OTYPE_PUSHPULL(PJ13) | \
1326
PIN_OTYPE_PUSHPULL(PJ14) | \
1327
PIN_OTYPE_PUSHPULL(PJ15))
1328
1329
#define VAL_GPIOJ_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PJ00) | \
1330
PIN_OSPEED_SPEED_VERYLOW(PJ01) | \
1331
PIN_OSPEED_SPEED_VERYLOW(PJ02) | \
1332
PIN_OSPEED_SPEED_VERYLOW(PJ03) | \
1333
PIN_OSPEED_SPEED_VERYLOW(PJ04) | \
1334
PIN_OSPEED_SPEED_VERYLOW(PJ05) | \
1335
PIN_OSPEED_SPEED_VERYLOW(PJ06) | \
1336
PIN_OSPEED_SPEED_VERYLOW(PJ07) | \
1337
PIN_OSPEED_SPEED_VERYLOW(PJ08) | \
1338
PIN_OSPEED_SPEED_VERYLOW(PJ09) | \
1339
PIN_OSPEED_SPEED_VERYLOW(PJ10) | \
1340
PIN_OSPEED_SPEED_VERYLOW(PJ11) | \
1341
PIN_OSPEED_SPEED_VERYLOW(PJ12) | \
1342
PIN_OSPEED_SPEED_VERYLOW(PJ13) | \
1343
PIN_OSPEED_SPEED_VERYLOW(PJ14) | \
1344
PIN_OSPEED_SPEED_VERYLOW(PJ15))
1345
1346
#define VAL_GPIOJ_PUPDR (PIN_PUPDR_PULLDOWN(PJ00) | \
1347
PIN_PUPDR_PULLDOWN(PJ01) | \
1348
PIN_PUPDR_PULLDOWN(PJ02) | \
1349
PIN_PUPDR_PULLDOWN(PJ03) | \
1350
PIN_PUPDR_PULLDOWN(PJ04) | \
1351
PIN_PUPDR_PULLDOWN(PJ05) | \
1352
PIN_PUPDR_PULLDOWN(PJ06) | \
1353
PIN_PUPDR_PULLDOWN(PJ07) | \
1354
PIN_PUPDR_PULLDOWN(PJ08) | \
1355
PIN_PUPDR_PULLDOWN(PJ09) | \
1356
PIN_PUPDR_PULLDOWN(PJ10) | \
1357
PIN_PUPDR_PULLDOWN(PJ11) | \
1358
PIN_PUPDR_PULLDOWN(PJ12) | \
1359
PIN_PUPDR_PULLDOWN(PJ13) | \
1360
PIN_PUPDR_PULLDOWN(PJ14) | \
1361
PIN_PUPDR_PULLDOWN(PJ15))
1362
1363
#define VAL_GPIOJ_ODR (PIN_ODR_LEVEL_LOW(PJ00) | \
1364
PIN_ODR_LEVEL_LOW(PJ01) | \
1365
PIN_ODR_LEVEL_LOW(PJ02) | \
1366
PIN_ODR_LEVEL_LOW(PJ03) | \
1367
PIN_ODR_LEVEL_LOW(PJ04) | \
1368
PIN_ODR_LEVEL_LOW(PJ05) | \
1369
PIN_ODR_LEVEL_LOW(PJ06) | \
1370
PIN_ODR_LEVEL_LOW(PJ07) | \
1371
PIN_ODR_LEVEL_LOW(PJ08) | \
1372
PIN_ODR_LEVEL_LOW(PJ09) | \
1373
PIN_ODR_LEVEL_LOW(PJ10) | \
1374
PIN_ODR_LEVEL_LOW(PJ11) | \
1375
PIN_ODR_LEVEL_LOW(PJ12) | \
1376
PIN_ODR_LEVEL_LOW(PJ13) | \
1377
PIN_ODR_LEVEL_LOW(PJ14) | \
1378
PIN_ODR_LEVEL_LOW(PJ15))
1379
1380
#define VAL_GPIOJ_AFRL (PIN_AFIO_AF(PJ00, 0) | \
1381
PIN_AFIO_AF(PJ01, 0) | \
1382
PIN_AFIO_AF(PJ02, 0) | \
1383
PIN_AFIO_AF(PJ03, 0) | \
1384
PIN_AFIO_AF(PJ04, 0) | \
1385
PIN_AFIO_AF(PJ05, 0) | \
1386
PIN_AFIO_AF(PJ06, 0) | \
1387
PIN_AFIO_AF(PJ07, 0))
1388
1389
#define VAL_GPIOJ_AFRH (PIN_AFIO_AF(PJ08, 0) | \
1390
PIN_AFIO_AF(PJ09, 0) | \
1391
PIN_AFIO_AF(PJ10, 0) | \
1392
PIN_AFIO_AF(PJ11, 0) | \
1393
PIN_AFIO_AF(PJ12, 0) | \
1394
PIN_AFIO_AF(PJ13, 0) | \
1395
PIN_AFIO_AF(PJ14, 0) | \
1396
PIN_AFIO_AF(PJ15, 0))
1397
1398
#define VAL_GPIOK_MODER (PIN_MODE_INPUT(PK00) | \
1399
PIN_MODE_INPUT(PK01) | \
1400
PIN_MODE_INPUT(PK02) | \
1401
PIN_MODE_INPUT(PK03) | \
1402
PIN_MODE_INPUT(PK04) | \
1403
PIN_MODE_INPUT(PK05) | \
1404
PIN_MODE_INPUT(PK06) | \
1405
PIN_MODE_INPUT(PK07) | \
1406
PIN_MODE_INPUT(PK08) | \
1407
PIN_MODE_INPUT(PK09) | \
1408
PIN_MODE_INPUT(PK10) | \
1409
PIN_MODE_INPUT(PK11) | \
1410
PIN_MODE_INPUT(PK12) | \
1411
PIN_MODE_INPUT(PK13) | \
1412
PIN_MODE_INPUT(PK14) | \
1413
PIN_MODE_INPUT(PK15))
1414
1415
#define VAL_GPIOK_OTYPER (PIN_OTYPE_PUSHPULL(PK00) | \
1416
PIN_OTYPE_PUSHPULL(PK01) | \
1417
PIN_OTYPE_PUSHPULL(PK02) | \
1418
PIN_OTYPE_PUSHPULL(PK03) | \
1419
PIN_OTYPE_PUSHPULL(PK04) | \
1420
PIN_OTYPE_PUSHPULL(PK05) | \
1421
PIN_OTYPE_PUSHPULL(PK06) | \
1422
PIN_OTYPE_PUSHPULL(PK07) | \
1423
PIN_OTYPE_PUSHPULL(PK08) | \
1424
PIN_OTYPE_PUSHPULL(PK09) | \
1425
PIN_OTYPE_PUSHPULL(PK10) | \
1426
PIN_OTYPE_PUSHPULL(PK11) | \
1427
PIN_OTYPE_PUSHPULL(PK12) | \
1428
PIN_OTYPE_PUSHPULL(PK13) | \
1429
PIN_OTYPE_PUSHPULL(PK14) | \
1430
PIN_OTYPE_PUSHPULL(PK15))
1431
1432
#define VAL_GPIOK_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PK00) | \
1433
PIN_OSPEED_SPEED_VERYLOW(PK01) | \
1434
PIN_OSPEED_SPEED_VERYLOW(PK02) | \
1435
PIN_OSPEED_SPEED_VERYLOW(PK03) | \
1436
PIN_OSPEED_SPEED_VERYLOW(PK04) | \
1437
PIN_OSPEED_SPEED_VERYLOW(PK05) | \
1438
PIN_OSPEED_SPEED_VERYLOW(PK06) | \
1439
PIN_OSPEED_SPEED_VERYLOW(PK07) | \
1440
PIN_OSPEED_SPEED_VERYLOW(PK08) | \
1441
PIN_OSPEED_SPEED_VERYLOW(PK09) | \
1442
PIN_OSPEED_SPEED_VERYLOW(PK10) | \
1443
PIN_OSPEED_SPEED_VERYLOW(PK11) | \
1444
PIN_OSPEED_SPEED_VERYLOW(PK12) | \
1445
PIN_OSPEED_SPEED_VERYLOW(PK13) | \
1446
PIN_OSPEED_SPEED_VERYLOW(PK14) | \
1447
PIN_OSPEED_SPEED_VERYLOW(PK15))
1448
1449
#define VAL_GPIOK_PUPDR (PIN_PUPDR_PULLDOWN(PK00) | \
1450
PIN_PUPDR_PULLDOWN(PK01) | \
1451
PIN_PUPDR_PULLDOWN(PK02) | \
1452
PIN_PUPDR_PULLDOWN(PK03) | \
1453
PIN_PUPDR_PULLDOWN(PK04) | \
1454
PIN_PUPDR_PULLDOWN(PK05) | \
1455
PIN_PUPDR_PULLDOWN(PK06) | \
1456
PIN_PUPDR_PULLDOWN(PK07) | \
1457
PIN_PUPDR_PULLDOWN(PK08) | \
1458
PIN_PUPDR_PULLDOWN(PK09) | \
1459
PIN_PUPDR_PULLDOWN(PK10) | \
1460
PIN_PUPDR_PULLDOWN(PK11) | \
1461
PIN_PUPDR_PULLDOWN(PK12) | \
1462
PIN_PUPDR_PULLDOWN(PK13) | \
1463
PIN_PUPDR_PULLDOWN(PK14) | \
1464
PIN_PUPDR_PULLDOWN(PK15))
1465
1466
#define VAL_GPIOK_ODR (PIN_ODR_LEVEL_LOW(PK00) | \
1467
PIN_ODR_LEVEL_LOW(PK01) | \
1468
PIN_ODR_LEVEL_LOW(PK02) | \
1469
PIN_ODR_LEVEL_LOW(PK03) | \
1470
PIN_ODR_LEVEL_LOW(PK04) | \
1471
PIN_ODR_LEVEL_LOW(PK05) | \
1472
PIN_ODR_LEVEL_LOW(PK06) | \
1473
PIN_ODR_LEVEL_LOW(PK07) | \
1474
PIN_ODR_LEVEL_LOW(PK08) | \
1475
PIN_ODR_LEVEL_LOW(PK09) | \
1476
PIN_ODR_LEVEL_LOW(PK10) | \
1477
PIN_ODR_LEVEL_LOW(PK11) | \
1478
PIN_ODR_LEVEL_LOW(PK12) | \
1479
PIN_ODR_LEVEL_LOW(PK13) | \
1480
PIN_ODR_LEVEL_LOW(PK14) | \
1481
PIN_ODR_LEVEL_LOW(PK15))
1482
1483
#define VAL_GPIOK_AFRL (PIN_AFIO_AF(PK00, 0) | \
1484
PIN_AFIO_AF(PK01, 0) | \
1485
PIN_AFIO_AF(PK02, 0) | \
1486
PIN_AFIO_AF(PK03, 0) | \
1487
PIN_AFIO_AF(PK04, 0) | \
1488
PIN_AFIO_AF(PK05, 0) | \
1489
PIN_AFIO_AF(PK06, 0) | \
1490
PIN_AFIO_AF(PK07, 0))
1491
1492
#define VAL_GPIOK_AFRH (PIN_AFIO_AF(PK08, 0) | \
1493
PIN_AFIO_AF(PK09, 0) | \
1494
PIN_AFIO_AF(PK10, 0) | \
1495
PIN_AFIO_AF(PK11, 0) | \
1496
PIN_AFIO_AF(PK12, 0) | \
1497
PIN_AFIO_AF(PK13, 0) | \
1498
PIN_AFIO_AF(PK14, 0) | \
1499
PIN_AFIO_AF(PK15, 0))
1500
1501
#define AF_PA00_SERVO3 2U
1502
#define AF_LINE_SERVO3 2U
1503
#define AF_PA01_SERVO4 2U
1504
#define AF_LINE_SERVO4 2U
1505
#define AF_PA02_SERVO5 2U
1506
#define AF_LINE_SERVO5 2U
1507
#define AF_PA03_SERVO6 2U
1508
#define AF_LINE_SERVO6 2U
1509
#define AF_PA05_SPI1_SCK 5U
1510
#define AF_LINE_SPI1_SCK 5U
1511
#define AF_PA06_SPI1_MISO 5U
1512
#define AF_LINE_SPI1_MISO 5U
1513
#define AF_PA08_LED_WS2812 1U
1514
#define AF_LINE_LED_WS2812 1U
1515
#define AF_PA09_UART1_TX 7U
1516
#define AF_LINE_UART1_TX 7U
1517
#define AF_PA10_UART1_RX 7U
1518
#define AF_LINE_UART1_RX 7U
1519
#define AF_PA11_USB_DM 10U
1520
#define AF_LINE_USB_DM 10U
1521
#define AF_PA12_USB_DP 10U
1522
#define AF_LINE_USB_DP 10U
1523
#define AF_PA13_SWDIO 0U
1524
#define AF_LINE_SWDIO 0U
1525
#define AF_PA14_SWCLK 0U
1526
#define AF_LINE_SWCLK 0U
1527
#define AF_PA15_ALARM 1U
1528
#define AF_LINE_ALARM 1U
1529
#define AF_PB00_SERVO1 2U
1530
#define AF_LINE_SERVO1 2U
1531
#define AF_PB01_SERVO2 2U
1532
#define AF_LINE_SERVO2 2U
1533
#define AF_PB03_SPI3_SCK 6U
1534
#define AF_LINE_SPI3_SCK 6U
1535
#define AF_PB04_SPI3_MISO 6U
1536
#define AF_LINE_SPI3_MISO 6U
1537
#define AF_PB05_SPI3_MOSI 7U
1538
#define AF_LINE_SPI3_MOSI 7U
1539
#define AF_PB06_I2C1_SCL 4U
1540
#define AF_LINE_I2C1_SCL 4U
1541
#define AF_PB07_I2C1_SDA 4U
1542
#define AF_LINE_I2C1_SDA 4U
1543
#define AF_PB08_UART4_RX 8U
1544
#define AF_LINE_UART4_RX 8U
1545
#define AF_PB09_UART4_TX 8U
1546
#define AF_LINE_UART4_TX 8U
1547
#define AF_PB10_I2C2_SCL 4U
1548
#define AF_LINE_I2C2_SCL 4U
1549
#define AF_PB11_I2C2_SDA 4U
1550
#define AF_LINE_I2C2_SDA 4U
1551
#define AF_PB13_SPI2_SCK 5U
1552
#define AF_LINE_SPI2_SCK 5U
1553
#define AF_PB14_SPI2_MISO 5U
1554
#define AF_LINE_SPI2_MISO 5U
1555
#define AF_PB15_SPI2_MOSI 5U
1556
#define AF_LINE_SPI2_MOSI 5U
1557
#define AF_PC06_UART6_TX 7U
1558
#define AF_LINE_UART6_TX 7U
1559
#define AF_PC08_SDIO_D0 12U
1560
#define AF_LINE_SDIO_D0 12U
1561
#define AF_PC09_SDIO_D1 12U
1562
#define AF_LINE_SDIO_D1 12U
1563
#define AF_PC10_SDIO_D2 12U
1564
#define AF_LINE_SDIO_D2 12U
1565
#define AF_PC11_SDIO_D3 12U
1566
#define AF_LINE_SDIO_D3 12U
1567
#define AF_PC12_SDIO_CK 12U
1568
#define AF_LINE_SDIO_CK 12U
1569
#define AF_PD00_CAN1_RX 9U
1570
#define AF_LINE_CAN1_RX 9U
1571
#define AF_PD01_CAN1_TX 9U
1572
#define AF_LINE_CAN1_TX 9U
1573
#define AF_PD02_SDIO_CMD 12U
1574
#define AF_LINE_SDIO_CMD 12U
1575
#define AF_PD05_UART2_TX 7U
1576
#define AF_LINE_UART2_TX 7U
1577
#define AF_PD06_UART2_RX 7U
1578
#define AF_LINE_UART2_RX 7U
1579
#define AF_PD07_SPI1_MOSI 5U
1580
#define AF_LINE_SPI1_MOSI 5U
1581
#define AF_PD08_UART3_TX 7U
1582
#define AF_LINE_UART3_TX 7U
1583
#define AF_PD09_UART3_RX 7U
1584
#define AF_LINE_UART3_RX 7U
1585
#define AF_PD12_SERVO7 2U
1586
#define AF_LINE_SERVO7 2U
1587
#define AF_PD13_SERVO8 2U
1588
#define AF_LINE_SERVO8 2U
1589
#define AF_PD14_SERVO9 2U
1590
#define AF_LINE_SERVO9 2U
1591
#define AF_PD15_SERVO10 2U
1592
#define AF_LINE_SERVO10 2U
1593
#define AF_PE00_UART8_RX 8U
1594
#define AF_LINE_UART8_RX 8U
1595
#define AF_PE01_UART8_TX 8U
1596
#define AF_LINE_UART8_TX 8U
1597
#define AF_PE05_SERVO11 4U
1598
#define AF_LINE_SERVO11 4U
1599
#define AF_PE06_SERVO12 4U
1600
#define AF_LINE_SERVO12 4U
1601
#define AF_PE07_UART7_RX 7U
1602
#define AF_LINE_UART7_RX 7U
1603
#define AF_PE08_UART7_TX 7U
1604
#define AF_LINE_UART7_TX 7U
1605
#define AF_PE12_SPI4_CLK 5U
1606
#define AF_LINE_SPI4_CLK 5U
1607
#define AF_PE13_SPI4_MISO 5U
1608
#define AF_LINE_SPI4_MISO 5U
1609
#define AF_PE14_SPI4_MOSI 5U
1610
#define AF_LINE_SPI4_MOSI 5U
1611
#define AF_PH00_OSC_IN 0U
1612
#define AF_LINE_OSC_IN 0U
1613
#define AF_PH01_OSC_OUT 0U
1614
#define AF_LINE_OSC_OUT 0U
1615
1616
1617
#define SERVO3_TIM 5
1618
#define SERVO3_TIM_FN CH
1619
#define SERVO3_TIM_CH 1
1620
#define SERVO3_TIM_AF 2
1621
#define SERVO4_TIM 5
1622
#define SERVO4_TIM_FN CH
1623
#define SERVO4_TIM_CH 2
1624
#define SERVO4_TIM_AF 2
1625
#define SERVO5_TIM 5
1626
#define SERVO5_TIM_FN CH
1627
#define SERVO5_TIM_CH 3
1628
#define SERVO5_TIM_AF 2
1629
#define SERVO6_TIM 5
1630
#define SERVO6_TIM_FN CH
1631
#define SERVO6_TIM_CH 4
1632
#define SERVO6_TIM_AF 2
1633
#define ADC3_ADC 1
1634
#define ADC3_ADC_FN INP
1635
#define ADC3_ADC_INP 18
1636
#define ADC4_ADC 1
1637
#define ADC4_ADC_FN INP
1638
#define ADC4_ADC_INP 7
1639
#define LED_WS2812_TIM 1
1640
#define LED_WS2812_TIM_FN CH
1641
#define LED_WS2812_TIM_CH 1
1642
#define LED_WS2812_TIM_AF 1
1643
#define ALARM_TIM 2
1644
#define ALARM_TIM_FN CH
1645
#define ALARM_TIM_CH 1
1646
#define ALARM_TIM_AF 1
1647
#define SERVO1_TIM 3
1648
#define SERVO1_TIM_FN CH
1649
#define SERVO1_TIM_CH 3
1650
#define SERVO1_TIM_AF 2
1651
#define SERVO2_TIM 3
1652
#define SERVO2_TIM_FN CH
1653
#define SERVO2_TIM_CH 4
1654
#define SERVO2_TIM_AF 2
1655
#define ADC5_ADC 1
1656
#define ADC5_ADC_FN INP
1657
#define ADC5_ADC_INP 10
1658
#define ADC6_ADC 1
1659
#define ADC6_ADC_FN INP
1660
#define ADC6_ADC_INP 11
1661
#define ADC1_ADC 1
1662
#define ADC1_ADC_FN INP
1663
#define ADC1_ADC_INP 8
1664
#define ADC2_ADC 1
1665
#define ADC2_ADC_FN INP
1666
#define ADC2_ADC_INP 4
1667
#define RC1_TIM 3
1668
#define RC1_TIM_FN CH
1669
#define RC1_TIM_CH 2
1670
#define RC1_TIM_AF 2
1671
#define RC1_USART 6
1672
#define RC1_USART_FN RX
1673
#define RC1_USART_AF 7
1674
#define SERVO7_TIM 4
1675
#define SERVO7_TIM_FN CH
1676
#define SERVO7_TIM_CH 1
1677
#define SERVO7_TIM_AF 2
1678
#define SERVO8_TIM 4
1679
#define SERVO8_TIM_FN CH
1680
#define SERVO8_TIM_CH 2
1681
#define SERVO8_TIM_AF 2
1682
#define SERVO9_TIM 4
1683
#define SERVO9_TIM_FN CH
1684
#define SERVO9_TIM_CH 3
1685
#define SERVO9_TIM_AF 2
1686
#define SERVO10_TIM 4
1687
#define SERVO10_TIM_FN CH
1688
#define SERVO10_TIM_CH 4
1689
#define SERVO10_TIM_AF 2
1690
#define SERVO11_TIM 15
1691
#define SERVO11_TIM_FN CH
1692
#define SERVO11_TIM_CH 1
1693
#define SERVO11_TIM_AF 4
1694
#define SERVO12_TIM 15
1695
#define SERVO12_TIM_FN CH
1696
#define SERVO12_TIM_CH 2
1697
#define SERVO12_TIM_AF 4
1698
1699
#define BOARD_GROUP_DECLFOREACH(line, group) \
1700
static const ioline_t group ## _ARRAY[] = {group}; \
1701
for (ioline_t i=0, line = group ## _ARRAY[i]; (i < group ## _SIZE) && (line = group ## _ARRAY[i]); i++)
1702
1703
#define BOARD_GROUP_FOREACH(line, group) \
1704
for (ioline_t i=0, line = group ## _ARRAY[i]; (i < group ## _SIZE) && (line = group ## _ARRAY[i]); i++)
1705
1706
1707
#define BOARD_GROUP_DECLFOR(array, index, group) \
1708
static const ioline_t group ## _ARRAY[] = {group}; \
1709
for (ioline_t index=0, *array = (ioline_t *) group ## _ARRAY; index < group ## _SIZE; index++)
1710
1711
#define BOARD_GROUP_FOR(array, index, group) \
1712
for (ioline_t index=0, *array = (ioline_t *) group ## _ARRAY; index < group ## _SIZE; index++)
1713
1714
#define ENERGY_SAVE_INPUTS \
1715
LINE_SERVO3, \
1716
LINE_SERVO4, \
1717
LINE_SERVO5, \
1718
LINE_SERVO6, \
1719
LINE_SERVO1, \
1720
LINE_SERVO2, \
1721
LINE_SPI_SLAVE4, \
1722
LINE_SPI_SLAVE6, \
1723
LINE_SPI_SLAVE5, \
1724
LINE_SPI_SLAVE1, \
1725
LINE_SERVO7, \
1726
LINE_SERVO8, \
1727
LINE_SERVO9, \
1728
LINE_SERVO10, \
1729
LINE_SPI_SLAVE2, \
1730
LINE_LED1, \
1731
LINE_LED2, \
1732
LINE_SERVO11, \
1733
LINE_SERVO12, \
1734
LINE_SPI_SLAVE3
1735
#define ENERGY_SAVE_INPUTS_SIZE 20
1736
1737
#define ENERGY_SAVE_LOWS \
1738
LINE_ALARM
1739
#define ENERGY_SAVE_LOWS_SIZE 1
1740
1741
#if !defined(_FROM_ASM_)
1742
#ifdef __cplusplus
1743
extern
"C"
{
1744
#endif
1745
void
boardInit
(
void
);
1746
#ifdef __cplusplus
1747
}
1748
#endif
1749
#endif
/* _FROM_ASM_ */
1750
boardInit
void boardInit(void)
Board-specific initialization code.
Definition:
board.c:317
sw
airborne
boards
mateksys
FC-H743-SLIM
board.h
Generated on Fri Nov 8 2024 14:10:45 for Paparazzi UAS by
1.9.1