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