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