Paparazzi UAS
v6.2.0_stable
Paparazzi is a free software Unmanned Aircraft System.
board.h
Go to the documentation of this file.
1
/*
2
ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
3
4
Licensed under the Apache License, Version 2.0 (the "License");
5
you may not use this file except in compliance with the License.
6
You may obtain a copy of the License at
7
8
http://www.apache.org/licenses/LICENSE-2.0
9
10
Unless required by applicable law or agreed to in writing, software
11
distributed under the License is distributed on an "AS IS" BASIS,
12
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
See the License for the specific language governing permissions and
14
limitations under the License.
15
*/
16
17
#pragma once
18
19
/*
20
* Board identifier.
21
*/
22
#define BOARD_PX4FMU
23
#define BOARD_NAME "Pixhawk PX4 FMU v5.0"
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 16000000U
36
#endif
37
38
/*
39
* Board voltages.
40
* Required for performance limits calculation.
41
*/
42
#define STM32_VDD 330U
43
44
/*
45
* MCU type as defined in the ST header.
46
*/
47
#define STM32F767xx
48
49
/* allow to define ADC_CHANNEL_VSUPPLY in the airframe file*/
50
#ifndef ADC_CHANNEL_VSUPPLY
51
#define ADC_CHANNEL_VSUPPLY ADC_1
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/4096.0f) * 10.3208191126f * adc)
61
#define MilliAmpereOfAdc(adc) ((3.3f/4096.0f) * 24000.0f * adc)
62
63
/* Battery monitoring for file closing */
64
#define SDLOG_BAT_ADC ADCD1
65
#define SDLOG_BAT_CHAN AD1_1_CHANNEL
66
#define SDLOG_USB_LED 3
67
68
/*
69
* IO pins assignments.
70
*/
71
#define PA00_ADC1 0U
72
#define PA01_ADC2 1U
73
#define PA02_ADC3 2U
74
#define PA03_ADC4 3U
75
#define PA04_ADC5 4U
76
#define PA05_FMU_CAP1 5U
77
#define PA06_SPI1_MISO 6U
78
#define PA07_IMU_HEATER 7U
79
#define PA08_CAN3_RX 8U
80
#define PA09_USB_VBUS 9U
81
#define PA10_SERVO2 10U
82
#define PA11_USB_DM 11U
83
#define PA12_USB_DP 12U
84
#define PA13_SWDIO 13U
85
#define PA14_SWCLK 14U
86
#define PA15_CAN3_TX 15U
87
88
#define PB00_RSSI_IN 0U
89
#define PB01_LED1 1U
90
#define PB02 2U
91
#define PB03_FMU_CAP2 3U
92
#define PB04_DRDY1_ICM20689 4U
93
#define PB05_SPI6_MOSI 5U
94
#define PB06_USART1_TX 6U
95
#define PB07_USART1_RX 7U
96
#define PB08_I2C1_SCL 8U
97
#define PB09_I2C1_SDA 9U
98
#define PB10_SPI5_RESET 10U
99
#define PB11_FMU_CAP3 11U
100
#define PB12_CAN2_RX 12U
101
#define PB13_CAN2_TX 13U
102
#define PB14_DRDY2_BMI055_GYRO 14U
103
#define PB15_DRDY2_BMI055_ACC 15U
104
105
#define PC00_SCALED_V5 0U
106
#define PC01_SCALED_3V3_SENSORS 1U
107
#define PC02_HW_VER_SENSE 2U
108
#define PC03_HW_REV_SENSE 3U
109
#define PC04_ADC6 4U
110
#define PC05_DRDY4_ICM20602 5U
111
#define PC06_LED2 6U
112
#define PC07_LED3 7U
113
#define PC08_SDIO_D0 8U
114
#define PC09_SDIO_D1 9U
115
#define PC10_SDIO_D2 10U
116
#define PC11_SDIO_D3 11U
117
#define PC12_SDIO_CK 12U
118
#define PC13_DRDY5_BMI055_GYRO 13U
119
#define PC14_OSC32_IN 14U
120
#define PC15_OSC32_OUT 15U
121
122
#define PD00_UART4_RX 0U
123
#define PD01_UART4_TX 1U
124
#define PD02_SDIO_CMD 2U
125
#define PD03_UART2_CTS 3U
126
#define PD04_UART2_RTS 4U
127
#define PD05_UART2_TX 5U
128
#define PD06_UART2_RX 6U
129
#define PD07_SPI1_MOSI 7U
130
#define PD08_UART3_TX 8U
131
#define PD09_UART3_RX 9U
132
#define PD10_DRDY6_BMI055_ACC 10U
133
#define PD11_UART3_CTS 11U
134
#define PD12_UART3_RTS 12U
135
#define PD13_SERVO5 13U
136
#define PD14_SERVO6 14U
137
#define PD15_DRDY7_EXTERNAL1 15U
138
139
#define PE00_UART8_RX 0U
140
#define PE01_UART8_TX 1U
141
#define PE02_SPI4_SCK 2U
142
#define PE03_V3V3_SENSORS_EN 3U
143
#define PE04_V3V3_SPEKTRUM_EN 4U
144
#define PE05_BUZZER 5U
145
#define PE06_SPI4_MOSI 6U
146
#define PE07_DRDY8 7U
147
#define PE08_UART7_TX 8U
148
#define PE09_SERVO4 9U
149
#define PE10_SAFETY_SWITCH_IN 10U
150
#define PE11_SERVO3 11U
151
#define PE12_LED4 12U
152
#define PE13_SPI4_MISO 13U
153
#define PE14_SERVO1 14U
154
#define PE15_V5V_PERIPH_OC 15U
155
156
#define PF00_I2C2_SDA 0U
157
#define PF01_I2C2_SCL 1U
158
#define PF02_SPI_SLAVE0 2U
159
#define PF03_SPI_SLAVE1 3U
160
#define PF04_SPI_SLAVE2 4U
161
#define PF05_SPI_SLAVE3 5U
162
#define PF06_UART7_RX 6U
163
#define PF07_SPI5_SCK 7U
164
#define PF08_SPI5_MISO 8U
165
#define PF09_SPI5_MOSI 9U
166
#define PF10_SPI_SLAVE4 10U
167
#define PF11_SPI_SLAVE5 11U
168
#define PF12_V5V_HIPOWER_EN 12U
169
#define PF13_V5V_HIPOWER_OC 13U
170
#define PF14_I2C4_SCL 14U
171
#define PF15_I2C4_SDA 15U
172
173
#define PG00_HW_VER_DRIVE 0U
174
#define PG01_POWER_IN_A 1U
175
#define PG02_POWER_IN_B 2U
176
#define PG03_POWER_IN_C 3U
177
#define PG04_V5V_PERIPH_EN 4U
178
#define PG05_V5V_RC_EN 5U
179
#define PG06_V5V_WIFI_EN 6U
180
#define PG07_V3V3_SD_CARD_EN 7U
181
#define PG08_USART6_RTS 8U
182
#define PG09_USART6_RX 9U
183
#define PG10_SPI_SLAVE6 10U
184
#define PG11_SPI1_SCK 11U
185
#define PG12_SPI6_MISO 12U
186
#define PG13_SPI6_SCK 13U
187
#define PG14_USART6_TX 14U
188
#define PG15_USART6_CTS 15U
189
190
#define PH00_OSC_IN 0U
191
#define PH01_OSC_OUT 1U
192
#define PH02_CAN1_SILENT_S0 2U
193
#define PH03_CAN2_SILENT_S1 3U
194
#define PH04_CAN3_SILENT_S2 4U
195
#define PH05_SPI_SLAVE7 5U
196
#define PH06_SERVO7 6U
197
#define PH07_I2C3_SCL 7U
198
#define PH08_I2C3_SDA 8U
199
#define PH09_SERVO8 9U
200
#define PH10_LED5 10U
201
#define PH11_LED6 11U
202
#define PH12_LED7 12U
203
#define PH13_CAN1_TX 13U
204
#define PH14_HW_REV_DRIVE 14U
205
#define PH15_SPI5_SYNC 15U
206
207
#define PI00_ARMED 0U
208
#define PI01_SPI2_SCK 1U
209
#define PI02_SPI2_MISO 2U
210
#define PI03_SPI2_MOSI 3U
211
#define PI04_SPI_SLAVE8 4U
212
#define PI05_PWM_INPUT1 5U
213
#define PI06_SPI_SLAVE9 6U
214
#define PI07_SPI_SLAVE10 7U
215
#define PI08_SPI_SLAVE11 8U
216
#define PI09_CAN1_RX 9U
217
#define PI10_SPI_SLAVE12 10U
218
#define PI11_SPI_SLAVE13 11U
219
#define PI12 12U
220
#define PI13 13U
221
#define PI14 14U
222
#define PI15 15U
223
224
#define PJ00 0U
225
#define PJ01 1U
226
#define PJ02 2U
227
#define PJ03 3U
228
#define PJ04 4U
229
#define PJ05 5U
230
#define PJ06 6U
231
#define PJ07 7U
232
#define PJ08 8U
233
#define PJ09 9U
234
#define PJ10 10U
235
#define PJ11 11U
236
#define PJ12 12U
237
#define PJ13 13U
238
#define PJ14 14U
239
#define PJ15 15U
240
241
#define PK00 0U
242
#define PK01 1U
243
#define PK02 2U
244
#define PK03 3U
245
#define PK04 4U
246
#define PK05 5U
247
#define PK06 6U
248
#define PK07 7U
249
#define PK08 8U
250
#define PK09 9U
251
#define PK10 10U
252
#define PK11 11U
253
#define PK12 12U
254
#define PK13 13U
255
#define PK14 14U
256
#define PK15 15U
257
258
/*
259
* IO lines assignments.
260
*/
261
#define LINE_ADC1 PAL_LINE(GPIOA, 0U)
262
#define LINE_ADC2 PAL_LINE(GPIOA, 1U)
263
#define LINE_ADC3 PAL_LINE(GPIOA, 2U)
264
#define LINE_ADC4 PAL_LINE(GPIOA, 3U)
265
#define LINE_ADC5 PAL_LINE(GPIOA, 4U)
266
#define LINE_FMU_CAP1 PAL_LINE(GPIOA, 5U)
267
#define LINE_SPI1_MISO PAL_LINE(GPIOA, 6U)
268
#define LINE_IMU_HEATER PAL_LINE(GPIOA, 7U)
269
#define LINE_CAN3_RX PAL_LINE(GPIOA, 8U)
270
#define LINE_USB_VBUS PAL_LINE(GPIOA, 9U)
271
#define LINE_SERVO2 PAL_LINE(GPIOA, 10U)
272
#define LINE_USB_DM PAL_LINE(GPIOA, 11U)
273
#define LINE_USB_DP PAL_LINE(GPIOA, 12U)
274
#define LINE_SWDIO PAL_LINE(GPIOA, 13U)
275
#define LINE_SWCLK PAL_LINE(GPIOA, 14U)
276
#define LINE_CAN3_TX PAL_LINE(GPIOA, 15U)
277
278
#define LINE_RSSI_IN PAL_LINE(GPIOB, 0U)
279
#define LINE_LED1 PAL_LINE(GPIOB, 1U)
280
#define LINE_FMU_CAP2 PAL_LINE(GPIOB, 3U)
281
#define LINE_DRDY1_ICM20689 PAL_LINE(GPIOB, 4U)
282
#define LINE_SPI6_MOSI PAL_LINE(GPIOB, 5U)
283
#define LINE_USART1_TX PAL_LINE(GPIOB, 6U)
284
#define LINE_USART1_RX PAL_LINE(GPIOB, 7U)
285
#define LINE_I2C1_SCL PAL_LINE(GPIOB, 8U)
286
#define LINE_I2C1_SDA PAL_LINE(GPIOB, 9U)
287
#define LINE_SPI5_RESET PAL_LINE(GPIOB, 10U)
288
#define LINE_FMU_CAP3 PAL_LINE(GPIOB, 11U)
289
#define LINE_CAN2_RX PAL_LINE(GPIOB, 12U)
290
#define LINE_CAN2_TX PAL_LINE(GPIOB, 13U)
291
#define LINE_DRDY2_BMI055_GYRO PAL_LINE(GPIOB, 14U)
292
#define LINE_DRDY2_BMI055_ACC PAL_LINE(GPIOB, 15U)
293
294
#define LINE_SCALED_V5 PAL_LINE(GPIOC, 0U)
295
#define LINE_SCALED_3V3_SENSORS PAL_LINE(GPIOC, 1U)
296
#define LINE_HW_VER_SENSE PAL_LINE(GPIOC, 2U)
297
#define LINE_HW_REV_SENSE PAL_LINE(GPIOC, 3U)
298
#define LINE_ADC6 PAL_LINE(GPIOC, 4U)
299
#define LINE_DRDY4_ICM20602 PAL_LINE(GPIOC, 5U)
300
#define LINE_LED2 PAL_LINE(GPIOC, 6U)
301
#define LINE_LED3 PAL_LINE(GPIOC, 7U)
302
#define LINE_SDIO_D0 PAL_LINE(GPIOC, 8U)
303
#define LINE_SDIO_D1 PAL_LINE(GPIOC, 9U)
304
#define LINE_SDIO_D2 PAL_LINE(GPIOC, 10U)
305
#define LINE_SDIO_D3 PAL_LINE(GPIOC, 11U)
306
#define LINE_SDIO_CK PAL_LINE(GPIOC, 12U)
307
#define LINE_DRDY5_BMI055_GYRO PAL_LINE(GPIOC, 13U)
308
#define LINE_OSC32_IN PAL_LINE(GPIOC, 14U)
309
#define LINE_OSC32_OUT PAL_LINE(GPIOC, 15U)
310
311
#define LINE_UART4_RX PAL_LINE(GPIOD, 0U)
312
#define LINE_UART4_TX PAL_LINE(GPIOD, 1U)
313
#define LINE_SDIO_CMD PAL_LINE(GPIOD, 2U)
314
#define LINE_UART2_CTS PAL_LINE(GPIOD, 3U)
315
#define LINE_UART2_RTS PAL_LINE(GPIOD, 4U)
316
#define LINE_UART2_TX PAL_LINE(GPIOD, 5U)
317
#define LINE_UART2_RX PAL_LINE(GPIOD, 6U)
318
#define LINE_SPI1_MOSI PAL_LINE(GPIOD, 7U)
319
#define LINE_UART3_TX PAL_LINE(GPIOD, 8U)
320
#define LINE_UART3_RX PAL_LINE(GPIOD, 9U)
321
#define LINE_DRDY6_BMI055_ACC PAL_LINE(GPIOD, 10U)
322
#define LINE_UART3_CTS PAL_LINE(GPIOD, 11U)
323
#define LINE_UART3_RTS PAL_LINE(GPIOD, 12U)
324
#define LINE_SERVO5 PAL_LINE(GPIOD, 13U)
325
#define LINE_SERVO6 PAL_LINE(GPIOD, 14U)
326
#define LINE_DRDY7_EXTERNAL1 PAL_LINE(GPIOD, 15U)
327
328
#define LINE_UART8_RX PAL_LINE(GPIOE, 0U)
329
#define LINE_UART8_TX PAL_LINE(GPIOE, 1U)
330
#define LINE_SPI4_SCK PAL_LINE(GPIOE, 2U)
331
#define LINE_V3V3_SENSORS_EN PAL_LINE(GPIOE, 3U)
332
#define LINE_V3V3_SPEKTRUM_EN PAL_LINE(GPIOE, 4U)
333
#define LINE_BUZZER PAL_LINE(GPIOE, 5U)
334
#define LINE_SPI4_MOSI PAL_LINE(GPIOE, 6U)
335
#define LINE_DRDY8 PAL_LINE(GPIOE, 7U)
336
#define LINE_UART7_TX PAL_LINE(GPIOE, 8U)
337
#define LINE_SERVO4 PAL_LINE(GPIOE, 9U)
338
#define LINE_SAFETY_SWITCH_IN PAL_LINE(GPIOE, 10U)
339
#define LINE_SERVO3 PAL_LINE(GPIOE, 11U)
340
#define LINE_LED4 PAL_LINE(GPIOE, 12U)
341
#define LINE_SPI4_MISO PAL_LINE(GPIOE, 13U)
342
#define LINE_SERVO1 PAL_LINE(GPIOE, 14U)
343
#define LINE_V5V_PERIPH_OC PAL_LINE(GPIOE, 15U)
344
345
#define LINE_I2C2_SDA PAL_LINE(GPIOF, 0U)
346
#define LINE_I2C2_SCL PAL_LINE(GPIOF, 1U)
347
#define LINE_SPI_SLAVE0 PAL_LINE(GPIOF, 2U)
348
#define LINE_SPI_SLAVE1 PAL_LINE(GPIOF, 3U)
349
#define LINE_SPI_SLAVE2 PAL_LINE(GPIOF, 4U)
350
#define LINE_SPI_SLAVE3 PAL_LINE(GPIOF, 5U)
351
#define LINE_UART7_RX PAL_LINE(GPIOF, 6U)
352
#define LINE_SPI5_SCK PAL_LINE(GPIOF, 7U)
353
#define LINE_SPI5_MISO PAL_LINE(GPIOF, 8U)
354
#define LINE_SPI5_MOSI PAL_LINE(GPIOF, 9U)
355
#define LINE_SPI_SLAVE4 PAL_LINE(GPIOF, 10U)
356
#define LINE_SPI_SLAVE5 PAL_LINE(GPIOF, 11U)
357
#define LINE_V5V_HIPOWER_EN PAL_LINE(GPIOF, 12U)
358
#define LINE_V5V_HIPOWER_OC PAL_LINE(GPIOF, 13U)
359
#define LINE_I2C4_SCL PAL_LINE(GPIOF, 14U)
360
#define LINE_I2C4_SDA PAL_LINE(GPIOF, 15U)
361
362
#define LINE_HW_VER_DRIVE PAL_LINE(GPIOG, 0U)
363
#define LINE_POWER_IN_A PAL_LINE(GPIOG, 1U)
364
#define LINE_POWER_IN_B PAL_LINE(GPIOG, 2U)
365
#define LINE_POWER_IN_C PAL_LINE(GPIOG, 3U)
366
#define LINE_V5V_PERIPH_EN PAL_LINE(GPIOG, 4U)
367
#define LINE_V5V_RC_EN PAL_LINE(GPIOG, 5U)
368
#define LINE_V5V_WIFI_EN PAL_LINE(GPIOG, 6U)
369
#define LINE_V3V3_SD_CARD_EN PAL_LINE(GPIOG, 7U)
370
#define LINE_USART6_RTS PAL_LINE(GPIOG, 8U)
371
#define LINE_USART6_RX PAL_LINE(GPIOG, 9U)
372
#define LINE_SPI_SLAVE6 PAL_LINE(GPIOG, 10U)
373
#define LINE_SPI1_SCK PAL_LINE(GPIOG, 11U)
374
#define LINE_SPI6_MISO PAL_LINE(GPIOG, 12U)
375
#define LINE_SPI6_SCK PAL_LINE(GPIOG, 13U)
376
#define LINE_USART6_TX PAL_LINE(GPIOG, 14U)
377
#define LINE_USART6_CTS PAL_LINE(GPIOG, 15U)
378
379
#define LINE_OSC_IN PAL_LINE(GPIOH, 0U)
380
#define LINE_OSC_OUT PAL_LINE(GPIOH, 1U)
381
#define LINE_CAN1_SILENT_S0 PAL_LINE(GPIOH, 2U)
382
#define LINE_CAN2_SILENT_S1 PAL_LINE(GPIOH, 3U)
383
#define LINE_CAN3_SILENT_S2 PAL_LINE(GPIOH, 4U)
384
#define LINE_SPI_SLAVE7 PAL_LINE(GPIOH, 5U)
385
#define LINE_SERVO7 PAL_LINE(GPIOH, 6U)
386
#define LINE_I2C3_SCL PAL_LINE(GPIOH, 7U)
387
#define LINE_I2C3_SDA PAL_LINE(GPIOH, 8U)
388
#define LINE_SERVO8 PAL_LINE(GPIOH, 9U)
389
#define LINE_LED5 PAL_LINE(GPIOH, 10U)
390
#define LINE_LED6 PAL_LINE(GPIOH, 11U)
391
#define LINE_LED7 PAL_LINE(GPIOH, 12U)
392
#define LINE_CAN1_TX PAL_LINE(GPIOH, 13U)
393
#define LINE_HW_REV_DRIVE PAL_LINE(GPIOH, 14U)
394
#define LINE_SPI5_SYNC PAL_LINE(GPIOH, 15U)
395
396
#define LINE_ARMED PAL_LINE(GPIOI, 0U)
397
#define LINE_SPI2_SCK PAL_LINE(GPIOI, 1U)
398
#define LINE_SPI2_MISO PAL_LINE(GPIOI, 2U)
399
#define LINE_SPI2_MOSI PAL_LINE(GPIOI, 3U)
400
#define LINE_SPI_SLAVE8 PAL_LINE(GPIOI, 4U)
401
#define LINE_PWM_INPUT1 PAL_LINE(GPIOI, 5U)
402
#define LINE_SPI_SLAVE9 PAL_LINE(GPIOI, 6U)
403
#define LINE_SPI_SLAVE10 PAL_LINE(GPIOI, 7U)
404
#define LINE_SPI_SLAVE11 PAL_LINE(GPIOI, 8U)
405
#define LINE_CAN1_RX PAL_LINE(GPIOI, 9U)
406
#define LINE_SPI_SLAVE12 PAL_LINE(GPIOI, 10U)
407
#define LINE_SPI_SLAVE13 PAL_LINE(GPIOI, 11U)
408
409
410
/*
411
* I/O ports initial setup, this configuration is established soon after reset
412
* in the initialization code.
413
* Please refer to the STM32 Reference Manual for details.
414
*/
415
#define PIN_MODE_INPUT(n) (0U << ((n) * 2U))
416
#define PIN_MODE_OUTPUT(n) (1U << ((n) * 2U))
417
#define PIN_MODE_ALTERNATE(n) (2U << ((n) * 2U))
418
#define PIN_MODE_ANALOG(n) (3U << ((n) * 2U))
419
#define PIN_ODR_LEVEL_LOW(n) (0U << (n))
420
#define PIN_ODR_LEVEL_HIGH(n) (1U << (n))
421
#define PIN_OTYPE_PUSHPULL(n) (0U << (n))
422
#define PIN_OTYPE_OPENDRAIN(n) (1U << (n))
423
#define PIN_OSPEED_SPEED_VERYLOW(n) (0U << ((n) * 2U))
424
#define PIN_OSPEED_SPEED_LOW(n) (1U << ((n) * 2U))
425
#define PIN_OSPEED_SPEED_MEDIUM(n) (2U << ((n) * 2U))
426
#define PIN_OSPEED_SPEED_HIGH(n) (3U << ((n) * 2U))
427
#define PIN_PUPDR_FLOATING(n) (0U << ((n) * 2U))
428
#define PIN_PUPDR_PULLUP(n) (1U << ((n) * 2U))
429
#define PIN_PUPDR_PULLDOWN(n) (2U << ((n) * 2U))
430
#define PIN_AFIO_AF(n, v) ((v) << (((n) % 8U) * 4U))
431
432
#define VAL_GPIOA_MODER (PIN_MODE_ANALOG(PA00_ADC1) | \
433
PIN_MODE_ANALOG(PA01_ADC2) | \
434
PIN_MODE_ANALOG(PA02_ADC3) | \
435
PIN_MODE_ANALOG(PA03_ADC4) | \
436
PIN_MODE_ANALOG(PA04_ADC5) | \
437
PIN_MODE_INPUT(PA05_FMU_CAP1) | \
438
PIN_MODE_ALTERNATE(PA06_SPI1_MISO) | \
439
PIN_MODE_OUTPUT(PA07_IMU_HEATER) | \
440
PIN_MODE_ALTERNATE(PA08_CAN3_RX) | \
441
PIN_MODE_INPUT(PA09_USB_VBUS) | \
442
PIN_MODE_ALTERNATE(PA10_SERVO2) | \
443
PIN_MODE_ALTERNATE(PA11_USB_DM) | \
444
PIN_MODE_ALTERNATE(PA12_USB_DP) | \
445
PIN_MODE_ALTERNATE(PA13_SWDIO) | \
446
PIN_MODE_ALTERNATE(PA14_SWCLK) | \
447
PIN_MODE_ALTERNATE(PA15_CAN3_TX))
448
449
#define VAL_GPIOA_OTYPER (PIN_OTYPE_PUSHPULL(PA00_ADC1) | \
450
PIN_OTYPE_PUSHPULL(PA01_ADC2) | \
451
PIN_OTYPE_PUSHPULL(PA02_ADC3) | \
452
PIN_OTYPE_PUSHPULL(PA03_ADC4) | \
453
PIN_OTYPE_PUSHPULL(PA04_ADC5) | \
454
PIN_OTYPE_OPENDRAIN(PA05_FMU_CAP1) | \
455
PIN_OTYPE_PUSHPULL(PA06_SPI1_MISO) | \
456
PIN_OTYPE_PUSHPULL(PA07_IMU_HEATER) | \
457
PIN_OTYPE_PUSHPULL(PA08_CAN3_RX) | \
458
PIN_OTYPE_OPENDRAIN(PA09_USB_VBUS) | \
459
PIN_OTYPE_PUSHPULL(PA10_SERVO2) | \
460
PIN_OTYPE_PUSHPULL(PA11_USB_DM) | \
461
PIN_OTYPE_PUSHPULL(PA12_USB_DP) | \
462
PIN_OTYPE_PUSHPULL(PA13_SWDIO) | \
463
PIN_OTYPE_PUSHPULL(PA14_SWCLK) | \
464
PIN_OTYPE_PUSHPULL(PA15_CAN3_TX))
465
466
#define VAL_GPIOA_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PA00_ADC1) | \
467
PIN_OSPEED_SPEED_VERYLOW(PA01_ADC2) | \
468
PIN_OSPEED_SPEED_VERYLOW(PA02_ADC3) | \
469
PIN_OSPEED_SPEED_VERYLOW(PA03_ADC4) | \
470
PIN_OSPEED_SPEED_VERYLOW(PA04_ADC5) | \
471
PIN_OSPEED_SPEED_VERYLOW(PA05_FMU_CAP1) | \
472
PIN_OSPEED_SPEED_HIGH(PA06_SPI1_MISO) | \
473
PIN_OSPEED_SPEED_HIGH(PA07_IMU_HEATER) | \
474
PIN_OSPEED_SPEED_HIGH(PA08_CAN3_RX) | \
475
PIN_OSPEED_SPEED_VERYLOW(PA09_USB_VBUS) | \
476
PIN_OSPEED_SPEED_HIGH(PA10_SERVO2) | \
477
PIN_OSPEED_SPEED_HIGH(PA11_USB_DM) | \
478
PIN_OSPEED_SPEED_HIGH(PA12_USB_DP) | \
479
PIN_OSPEED_SPEED_HIGH(PA13_SWDIO) | \
480
PIN_OSPEED_SPEED_HIGH(PA14_SWCLK) | \
481
PIN_OSPEED_SPEED_HIGH(PA15_CAN3_TX))
482
483
#define VAL_GPIOA_PUPDR (PIN_PUPDR_FLOATING(PA00_ADC1) | \
484
PIN_PUPDR_FLOATING(PA01_ADC2) | \
485
PIN_PUPDR_FLOATING(PA02_ADC3) | \
486
PIN_PUPDR_FLOATING(PA03_ADC4) | \
487
PIN_PUPDR_FLOATING(PA04_ADC5) | \
488
PIN_PUPDR_PULLDOWN(PA05_FMU_CAP1) | \
489
PIN_PUPDR_FLOATING(PA06_SPI1_MISO) | \
490
PIN_PUPDR_FLOATING(PA07_IMU_HEATER) | \
491
PIN_PUPDR_FLOATING(PA08_CAN3_RX) | \
492
PIN_PUPDR_PULLDOWN(PA09_USB_VBUS) | \
493
PIN_PUPDR_FLOATING(PA10_SERVO2) | \
494
PIN_PUPDR_FLOATING(PA11_USB_DM) | \
495
PIN_PUPDR_FLOATING(PA12_USB_DP) | \
496
PIN_PUPDR_FLOATING(PA13_SWDIO) | \
497
PIN_PUPDR_FLOATING(PA14_SWCLK) | \
498
PIN_PUPDR_FLOATING(PA15_CAN3_TX))
499
500
#define VAL_GPIOA_ODR (PIN_ODR_LEVEL_LOW(PA00_ADC1) | \
501
PIN_ODR_LEVEL_LOW(PA01_ADC2) | \
502
PIN_ODR_LEVEL_LOW(PA02_ADC3) | \
503
PIN_ODR_LEVEL_LOW(PA03_ADC4) | \
504
PIN_ODR_LEVEL_LOW(PA04_ADC5) | \
505
PIN_ODR_LEVEL_HIGH(PA05_FMU_CAP1) | \
506
PIN_ODR_LEVEL_HIGH(PA06_SPI1_MISO) | \
507
PIN_ODR_LEVEL_LOW(PA07_IMU_HEATER) | \
508
PIN_ODR_LEVEL_HIGH(PA08_CAN3_RX) | \
509
PIN_ODR_LEVEL_LOW(PA09_USB_VBUS) | \
510
PIN_ODR_LEVEL_LOW(PA10_SERVO2) | \
511
PIN_ODR_LEVEL_HIGH(PA11_USB_DM) | \
512
PIN_ODR_LEVEL_HIGH(PA12_USB_DP) | \
513
PIN_ODR_LEVEL_HIGH(PA13_SWDIO) | \
514
PIN_ODR_LEVEL_HIGH(PA14_SWCLK) | \
515
PIN_ODR_LEVEL_HIGH(PA15_CAN3_TX))
516
517
#define VAL_GPIOA_AFRL (PIN_AFIO_AF(PA00_ADC1, 0) | \
518
PIN_AFIO_AF(PA01_ADC2, 0) | \
519
PIN_AFIO_AF(PA02_ADC3, 0) | \
520
PIN_AFIO_AF(PA03_ADC4, 0) | \
521
PIN_AFIO_AF(PA04_ADC5, 0) | \
522
PIN_AFIO_AF(PA05_FMU_CAP1, 0) | \
523
PIN_AFIO_AF(PA06_SPI1_MISO, 5) | \
524
PIN_AFIO_AF(PA07_IMU_HEATER, 0))
525
526
#define VAL_GPIOA_AFRH (PIN_AFIO_AF(PA08_CAN3_RX, 11) | \
527
PIN_AFIO_AF(PA09_USB_VBUS, 0) | \
528
PIN_AFIO_AF(PA10_SERVO2, 1) | \
529
PIN_AFIO_AF(PA11_USB_DM, 10) | \
530
PIN_AFIO_AF(PA12_USB_DP, 10) | \
531
PIN_AFIO_AF(PA13_SWDIO, 0) | \
532
PIN_AFIO_AF(PA14_SWCLK, 0) | \
533
PIN_AFIO_AF(PA15_CAN3_TX, 11))
534
535
#define VAL_GPIOB_MODER (PIN_MODE_ANALOG(PB00_RSSI_IN) | \
536
PIN_MODE_OUTPUT(PB01_LED1) | \
537
PIN_MODE_INPUT(PB02) | \
538
PIN_MODE_INPUT(PB03_FMU_CAP2) | \
539
PIN_MODE_INPUT(PB04_DRDY1_ICM20689) | \
540
PIN_MODE_ALTERNATE(PB05_SPI6_MOSI) | \
541
PIN_MODE_ALTERNATE(PB06_USART1_TX) | \
542
PIN_MODE_ALTERNATE(PB07_USART1_RX) | \
543
PIN_MODE_ALTERNATE(PB08_I2C1_SCL) | \
544
PIN_MODE_ALTERNATE(PB09_I2C1_SDA) | \
545
PIN_MODE_INPUT(PB10_SPI5_RESET) | \
546
PIN_MODE_INPUT(PB11_FMU_CAP3) | \
547
PIN_MODE_ALTERNATE(PB12_CAN2_RX) | \
548
PIN_MODE_ALTERNATE(PB13_CAN2_TX) | \
549
PIN_MODE_INPUT(PB14_DRDY2_BMI055_GYRO) | \
550
PIN_MODE_INPUT(PB15_DRDY2_BMI055_ACC))
551
552
#define VAL_GPIOB_OTYPER (PIN_OTYPE_PUSHPULL(PB00_RSSI_IN) | \
553
PIN_OTYPE_PUSHPULL(PB01_LED1) | \
554
PIN_OTYPE_PUSHPULL(PB02) | \
555
PIN_OTYPE_OPENDRAIN(PB03_FMU_CAP2) | \
556
PIN_OTYPE_OPENDRAIN(PB04_DRDY1_ICM20689) | \
557
PIN_OTYPE_PUSHPULL(PB05_SPI6_MOSI) | \
558
PIN_OTYPE_PUSHPULL(PB06_USART1_TX) | \
559
PIN_OTYPE_PUSHPULL(PB07_USART1_RX) | \
560
PIN_OTYPE_OPENDRAIN(PB08_I2C1_SCL) | \
561
PIN_OTYPE_OPENDRAIN(PB09_I2C1_SDA) | \
562
PIN_OTYPE_OPENDRAIN(PB10_SPI5_RESET) | \
563
PIN_OTYPE_OPENDRAIN(PB11_FMU_CAP3) | \
564
PIN_OTYPE_PUSHPULL(PB12_CAN2_RX) | \
565
PIN_OTYPE_PUSHPULL(PB13_CAN2_TX) | \
566
PIN_OTYPE_OPENDRAIN(PB14_DRDY2_BMI055_GYRO) | \
567
PIN_OTYPE_OPENDRAIN(PB15_DRDY2_BMI055_ACC))
568
569
#define VAL_GPIOB_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PB00_RSSI_IN) | \
570
PIN_OSPEED_SPEED_VERYLOW(PB01_LED1) | \
571
PIN_OSPEED_SPEED_VERYLOW(PB02) | \
572
PIN_OSPEED_SPEED_VERYLOW(PB03_FMU_CAP2) | \
573
PIN_OSPEED_SPEED_VERYLOW(PB04_DRDY1_ICM20689) | \
574
PIN_OSPEED_SPEED_HIGH(PB05_SPI6_MOSI) | \
575
PIN_OSPEED_SPEED_HIGH(PB06_USART1_TX) | \
576
PIN_OSPEED_SPEED_HIGH(PB07_USART1_RX) | \
577
PIN_OSPEED_SPEED_HIGH(PB08_I2C1_SCL) | \
578
PIN_OSPEED_SPEED_HIGH(PB09_I2C1_SDA) | \
579
PIN_OSPEED_SPEED_VERYLOW(PB10_SPI5_RESET) | \
580
PIN_OSPEED_SPEED_VERYLOW(PB11_FMU_CAP3) | \
581
PIN_OSPEED_SPEED_HIGH(PB12_CAN2_RX) | \
582
PIN_OSPEED_SPEED_HIGH(PB13_CAN2_TX) | \
583
PIN_OSPEED_SPEED_VERYLOW(PB14_DRDY2_BMI055_GYRO) | \
584
PIN_OSPEED_SPEED_VERYLOW(PB15_DRDY2_BMI055_ACC))
585
586
#define VAL_GPIOB_PUPDR (PIN_PUPDR_FLOATING(PB00_RSSI_IN) | \
587
PIN_PUPDR_FLOATING(PB01_LED1) | \
588
PIN_PUPDR_PULLDOWN(PB02) | \
589
PIN_PUPDR_PULLDOWN(PB03_FMU_CAP2) | \
590
PIN_PUPDR_PULLDOWN(PB04_DRDY1_ICM20689) | \
591
PIN_PUPDR_FLOATING(PB05_SPI6_MOSI) | \
592
PIN_PUPDR_FLOATING(PB06_USART1_TX) | \
593
PIN_PUPDR_FLOATING(PB07_USART1_RX) | \
594
PIN_PUPDR_PULLUP(PB08_I2C1_SCL) | \
595
PIN_PUPDR_PULLUP(PB09_I2C1_SDA) | \
596
PIN_PUPDR_PULLDOWN(PB10_SPI5_RESET) | \
597
PIN_PUPDR_PULLDOWN(PB11_FMU_CAP3) | \
598
PIN_PUPDR_FLOATING(PB12_CAN2_RX) | \
599
PIN_PUPDR_FLOATING(PB13_CAN2_TX) | \
600
PIN_PUPDR_PULLDOWN(PB14_DRDY2_BMI055_GYRO) | \
601
PIN_PUPDR_PULLDOWN(PB15_DRDY2_BMI055_ACC))
602
603
#define VAL_GPIOB_ODR (PIN_ODR_LEVEL_LOW(PB00_RSSI_IN) | \
604
PIN_ODR_LEVEL_LOW(PB01_LED1) | \
605
PIN_ODR_LEVEL_LOW(PB02) | \
606
PIN_ODR_LEVEL_HIGH(PB03_FMU_CAP2) | \
607
PIN_ODR_LEVEL_HIGH(PB04_DRDY1_ICM20689) | \
608
PIN_ODR_LEVEL_HIGH(PB05_SPI6_MOSI) | \
609
PIN_ODR_LEVEL_HIGH(PB06_USART1_TX) | \
610
PIN_ODR_LEVEL_HIGH(PB07_USART1_RX) | \
611
PIN_ODR_LEVEL_HIGH(PB08_I2C1_SCL) | \
612
PIN_ODR_LEVEL_HIGH(PB09_I2C1_SDA) | \
613
PIN_ODR_LEVEL_HIGH(PB10_SPI5_RESET) | \
614
PIN_ODR_LEVEL_HIGH(PB11_FMU_CAP3) | \
615
PIN_ODR_LEVEL_HIGH(PB12_CAN2_RX) | \
616
PIN_ODR_LEVEL_HIGH(PB13_CAN2_TX) | \
617
PIN_ODR_LEVEL_HIGH(PB14_DRDY2_BMI055_GYRO) | \
618
PIN_ODR_LEVEL_HIGH(PB15_DRDY2_BMI055_ACC))
619
620
#define VAL_GPIOB_AFRL (PIN_AFIO_AF(PB00_RSSI_IN, 0) | \
621
PIN_AFIO_AF(PB01_LED1, 0) | \
622
PIN_AFIO_AF(PB02, 0) | \
623
PIN_AFIO_AF(PB03_FMU_CAP2, 0) | \
624
PIN_AFIO_AF(PB04_DRDY1_ICM20689, 0) | \
625
PIN_AFIO_AF(PB05_SPI6_MOSI, 8) | \
626
PIN_AFIO_AF(PB06_USART1_TX, 7) | \
627
PIN_AFIO_AF(PB07_USART1_RX, 7))
628
629
#define VAL_GPIOB_AFRH (PIN_AFIO_AF(PB08_I2C1_SCL, 4) | \
630
PIN_AFIO_AF(PB09_I2C1_SDA, 4) | \
631
PIN_AFIO_AF(PB10_SPI5_RESET, 0) | \
632
PIN_AFIO_AF(PB11_FMU_CAP3, 0) | \
633
PIN_AFIO_AF(PB12_CAN2_RX, 9) | \
634
PIN_AFIO_AF(PB13_CAN2_TX, 9) | \
635
PIN_AFIO_AF(PB14_DRDY2_BMI055_GYRO, 0) | \
636
PIN_AFIO_AF(PB15_DRDY2_BMI055_ACC, 0))
637
638
#define VAL_GPIOC_MODER (PIN_MODE_ANALOG(PC00_SCALED_V5) | \
639
PIN_MODE_ANALOG(PC01_SCALED_3V3_SENSORS) | \
640
PIN_MODE_ANALOG(PC02_HW_VER_SENSE) | \
641
PIN_MODE_ANALOG(PC03_HW_REV_SENSE) | \
642
PIN_MODE_ANALOG(PC04_ADC6) | \
643
PIN_MODE_INPUT(PC05_DRDY4_ICM20602) | \
644
PIN_MODE_OUTPUT(PC06_LED2) | \
645
PIN_MODE_OUTPUT(PC07_LED3) | \
646
PIN_MODE_ALTERNATE(PC08_SDIO_D0) | \
647
PIN_MODE_ALTERNATE(PC09_SDIO_D1) | \
648
PIN_MODE_ALTERNATE(PC10_SDIO_D2) | \
649
PIN_MODE_ALTERNATE(PC11_SDIO_D3) | \
650
PIN_MODE_ALTERNATE(PC12_SDIO_CK) | \
651
PIN_MODE_INPUT(PC13_DRDY5_BMI055_GYRO) | \
652
PIN_MODE_ALTERNATE(PC14_OSC32_IN) | \
653
PIN_MODE_ALTERNATE(PC15_OSC32_OUT))
654
655
#define VAL_GPIOC_OTYPER (PIN_OTYPE_PUSHPULL(PC00_SCALED_V5) | \
656
PIN_OTYPE_PUSHPULL(PC01_SCALED_3V3_SENSORS) | \
657
PIN_OTYPE_PUSHPULL(PC02_HW_VER_SENSE) | \
658
PIN_OTYPE_PUSHPULL(PC03_HW_REV_SENSE) | \
659
PIN_OTYPE_PUSHPULL(PC04_ADC6) | \
660
PIN_OTYPE_OPENDRAIN(PC05_DRDY4_ICM20602) | \
661
PIN_OTYPE_PUSHPULL(PC06_LED2) | \
662
PIN_OTYPE_PUSHPULL(PC07_LED3) | \
663
PIN_OTYPE_PUSHPULL(PC08_SDIO_D0) | \
664
PIN_OTYPE_PUSHPULL(PC09_SDIO_D1) | \
665
PIN_OTYPE_PUSHPULL(PC10_SDIO_D2) | \
666
PIN_OTYPE_PUSHPULL(PC11_SDIO_D3) | \
667
PIN_OTYPE_PUSHPULL(PC12_SDIO_CK) | \
668
PIN_OTYPE_OPENDRAIN(PC13_DRDY5_BMI055_GYRO) | \
669
PIN_OTYPE_PUSHPULL(PC14_OSC32_IN) | \
670
PIN_OTYPE_PUSHPULL(PC15_OSC32_OUT))
671
672
#define VAL_GPIOC_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PC00_SCALED_V5) | \
673
PIN_OSPEED_SPEED_VERYLOW(PC01_SCALED_3V3_SENSORS) | \
674
PIN_OSPEED_SPEED_VERYLOW(PC02_HW_VER_SENSE) | \
675
PIN_OSPEED_SPEED_VERYLOW(PC03_HW_REV_SENSE) | \
676
PIN_OSPEED_SPEED_VERYLOW(PC04_ADC6) | \
677
PIN_OSPEED_SPEED_VERYLOW(PC05_DRDY4_ICM20602) | \
678
PIN_OSPEED_SPEED_VERYLOW(PC06_LED2) | \
679
PIN_OSPEED_SPEED_VERYLOW(PC07_LED3) | \
680
PIN_OSPEED_SPEED_HIGH(PC08_SDIO_D0) | \
681
PIN_OSPEED_SPEED_HIGH(PC09_SDIO_D1) | \
682
PIN_OSPEED_SPEED_HIGH(PC10_SDIO_D2) | \
683
PIN_OSPEED_SPEED_HIGH(PC11_SDIO_D3) | \
684
PIN_OSPEED_SPEED_HIGH(PC12_SDIO_CK) | \
685
PIN_OSPEED_SPEED_VERYLOW(PC13_DRDY5_BMI055_GYRO) | \
686
PIN_OSPEED_SPEED_HIGH(PC14_OSC32_IN) | \
687
PIN_OSPEED_SPEED_HIGH(PC15_OSC32_OUT))
688
689
#define VAL_GPIOC_PUPDR (PIN_PUPDR_FLOATING(PC00_SCALED_V5) | \
690
PIN_PUPDR_FLOATING(PC01_SCALED_3V3_SENSORS) | \
691
PIN_PUPDR_FLOATING(PC02_HW_VER_SENSE) | \
692
PIN_PUPDR_FLOATING(PC03_HW_REV_SENSE) | \
693
PIN_PUPDR_FLOATING(PC04_ADC6) | \
694
PIN_PUPDR_PULLDOWN(PC05_DRDY4_ICM20602) | \
695
PIN_PUPDR_FLOATING(PC06_LED2) | \
696
PIN_PUPDR_FLOATING(PC07_LED3) | \
697
PIN_PUPDR_PULLUP(PC08_SDIO_D0) | \
698
PIN_PUPDR_PULLUP(PC09_SDIO_D1) | \
699
PIN_PUPDR_PULLUP(PC10_SDIO_D2) | \
700
PIN_PUPDR_PULLUP(PC11_SDIO_D3) | \
701
PIN_PUPDR_PULLUP(PC12_SDIO_CK) | \
702
PIN_PUPDR_PULLDOWN(PC13_DRDY5_BMI055_GYRO) | \
703
PIN_PUPDR_FLOATING(PC14_OSC32_IN) | \
704
PIN_PUPDR_FLOATING(PC15_OSC32_OUT))
705
706
#define VAL_GPIOC_ODR (PIN_ODR_LEVEL_LOW(PC00_SCALED_V5) | \
707
PIN_ODR_LEVEL_LOW(PC01_SCALED_3V3_SENSORS) | \
708
PIN_ODR_LEVEL_LOW(PC02_HW_VER_SENSE) | \
709
PIN_ODR_LEVEL_LOW(PC03_HW_REV_SENSE) | \
710
PIN_ODR_LEVEL_LOW(PC04_ADC6) | \
711
PIN_ODR_LEVEL_HIGH(PC05_DRDY4_ICM20602) | \
712
PIN_ODR_LEVEL_LOW(PC06_LED2) | \
713
PIN_ODR_LEVEL_LOW(PC07_LED3) | \
714
PIN_ODR_LEVEL_HIGH(PC08_SDIO_D0) | \
715
PIN_ODR_LEVEL_HIGH(PC09_SDIO_D1) | \
716
PIN_ODR_LEVEL_HIGH(PC10_SDIO_D2) | \
717
PIN_ODR_LEVEL_HIGH(PC11_SDIO_D3) | \
718
PIN_ODR_LEVEL_HIGH(PC12_SDIO_CK) | \
719
PIN_ODR_LEVEL_HIGH(PC13_DRDY5_BMI055_GYRO) | \
720
PIN_ODR_LEVEL_HIGH(PC14_OSC32_IN) | \
721
PIN_ODR_LEVEL_HIGH(PC15_OSC32_OUT))
722
723
#define VAL_GPIOC_AFRL (PIN_AFIO_AF(PC00_SCALED_V5, 0) | \
724
PIN_AFIO_AF(PC01_SCALED_3V3_SENSORS, 0) | \
725
PIN_AFIO_AF(PC02_HW_VER_SENSE, 0) | \
726
PIN_AFIO_AF(PC03_HW_REV_SENSE, 0) | \
727
PIN_AFIO_AF(PC04_ADC6, 0) | \
728
PIN_AFIO_AF(PC05_DRDY4_ICM20602, 0) | \
729
PIN_AFIO_AF(PC06_LED2, 0) | \
730
PIN_AFIO_AF(PC07_LED3, 0))
731
732
#define VAL_GPIOC_AFRH (PIN_AFIO_AF(PC08_SDIO_D0, 12) | \
733
PIN_AFIO_AF(PC09_SDIO_D1, 12) | \
734
PIN_AFIO_AF(PC10_SDIO_D2, 12) | \
735
PIN_AFIO_AF(PC11_SDIO_D3, 12) | \
736
PIN_AFIO_AF(PC12_SDIO_CK, 12) | \
737
PIN_AFIO_AF(PC13_DRDY5_BMI055_GYRO, 0) | \
738
PIN_AFIO_AF(PC14_OSC32_IN, 0) | \
739
PIN_AFIO_AF(PC15_OSC32_OUT, 0))
740
741
#define VAL_GPIOD_MODER (PIN_MODE_ALTERNATE(PD00_UART4_RX) | \
742
PIN_MODE_ALTERNATE(PD01_UART4_TX) | \
743
PIN_MODE_ALTERNATE(PD02_SDIO_CMD) | \
744
PIN_MODE_INPUT(PD03_UART2_CTS) | \
745
PIN_MODE_INPUT(PD04_UART2_RTS) | \
746
PIN_MODE_ALTERNATE(PD05_UART2_TX) | \
747
PIN_MODE_ALTERNATE(PD06_UART2_RX) | \
748
PIN_MODE_ALTERNATE(PD07_SPI1_MOSI) | \
749
PIN_MODE_ALTERNATE(PD08_UART3_TX) | \
750
PIN_MODE_ALTERNATE(PD09_UART3_RX) | \
751
PIN_MODE_INPUT(PD10_DRDY6_BMI055_ACC) | \
752
PIN_MODE_INPUT(PD11_UART3_CTS) | \
753
PIN_MODE_INPUT(PD12_UART3_RTS) | \
754
PIN_MODE_ALTERNATE(PD13_SERVO5) | \
755
PIN_MODE_ALTERNATE(PD14_SERVO6) | \
756
PIN_MODE_INPUT(PD15_DRDY7_EXTERNAL1))
757
758
#define VAL_GPIOD_OTYPER (PIN_OTYPE_PUSHPULL(PD00_UART4_RX) | \
759
PIN_OTYPE_PUSHPULL(PD01_UART4_TX) | \
760
PIN_OTYPE_PUSHPULL(PD02_SDIO_CMD) | \
761
PIN_OTYPE_OPENDRAIN(PD03_UART2_CTS) | \
762
PIN_OTYPE_OPENDRAIN(PD04_UART2_RTS) | \
763
PIN_OTYPE_PUSHPULL(PD05_UART2_TX) | \
764
PIN_OTYPE_PUSHPULL(PD06_UART2_RX) | \
765
PIN_OTYPE_PUSHPULL(PD07_SPI1_MOSI) | \
766
PIN_OTYPE_PUSHPULL(PD08_UART3_TX) | \
767
PIN_OTYPE_PUSHPULL(PD09_UART3_RX) | \
768
PIN_OTYPE_OPENDRAIN(PD10_DRDY6_BMI055_ACC) | \
769
PIN_OTYPE_OPENDRAIN(PD11_UART3_CTS) | \
770
PIN_OTYPE_OPENDRAIN(PD12_UART3_RTS) | \
771
PIN_OTYPE_PUSHPULL(PD13_SERVO5) | \
772
PIN_OTYPE_PUSHPULL(PD14_SERVO6) | \
773
PIN_OTYPE_OPENDRAIN(PD15_DRDY7_EXTERNAL1))
774
775
#define VAL_GPIOD_OSPEEDR (PIN_OSPEED_SPEED_HIGH(PD00_UART4_RX) | \
776
PIN_OSPEED_SPEED_HIGH(PD01_UART4_TX) | \
777
PIN_OSPEED_SPEED_HIGH(PD02_SDIO_CMD) | \
778
PIN_OSPEED_SPEED_VERYLOW(PD03_UART2_CTS) | \
779
PIN_OSPEED_SPEED_VERYLOW(PD04_UART2_RTS) | \
780
PIN_OSPEED_SPEED_HIGH(PD05_UART2_TX) | \
781
PIN_OSPEED_SPEED_HIGH(PD06_UART2_RX) | \
782
PIN_OSPEED_SPEED_HIGH(PD07_SPI1_MOSI) | \
783
PIN_OSPEED_SPEED_HIGH(PD08_UART3_TX) | \
784
PIN_OSPEED_SPEED_HIGH(PD09_UART3_RX) | \
785
PIN_OSPEED_SPEED_VERYLOW(PD10_DRDY6_BMI055_ACC) | \
786
PIN_OSPEED_SPEED_VERYLOW(PD11_UART3_CTS) | \
787
PIN_OSPEED_SPEED_VERYLOW(PD12_UART3_RTS) | \
788
PIN_OSPEED_SPEED_HIGH(PD13_SERVO5) | \
789
PIN_OSPEED_SPEED_HIGH(PD14_SERVO6) | \
790
PIN_OSPEED_SPEED_VERYLOW(PD15_DRDY7_EXTERNAL1))
791
792
#define VAL_GPIOD_PUPDR (PIN_PUPDR_FLOATING(PD00_UART4_RX) | \
793
PIN_PUPDR_FLOATING(PD01_UART4_TX) | \
794
PIN_PUPDR_PULLUP(PD02_SDIO_CMD) | \
795
PIN_PUPDR_PULLDOWN(PD03_UART2_CTS) | \
796
PIN_PUPDR_PULLDOWN(PD04_UART2_RTS) | \
797
PIN_PUPDR_FLOATING(PD05_UART2_TX) | \
798
PIN_PUPDR_FLOATING(PD06_UART2_RX) | \
799
PIN_PUPDR_FLOATING(PD07_SPI1_MOSI) | \
800
PIN_PUPDR_FLOATING(PD08_UART3_TX) | \
801
PIN_PUPDR_FLOATING(PD09_UART3_RX) | \
802
PIN_PUPDR_PULLDOWN(PD10_DRDY6_BMI055_ACC) | \
803
PIN_PUPDR_PULLDOWN(PD11_UART3_CTS) | \
804
PIN_PUPDR_PULLDOWN(PD12_UART3_RTS) | \
805
PIN_PUPDR_FLOATING(PD13_SERVO5) | \
806
PIN_PUPDR_FLOATING(PD14_SERVO6) | \
807
PIN_PUPDR_PULLDOWN(PD15_DRDY7_EXTERNAL1))
808
809
#define VAL_GPIOD_ODR (PIN_ODR_LEVEL_HIGH(PD00_UART4_RX) | \
810
PIN_ODR_LEVEL_HIGH(PD01_UART4_TX) | \
811
PIN_ODR_LEVEL_HIGH(PD02_SDIO_CMD) | \
812
PIN_ODR_LEVEL_HIGH(PD03_UART2_CTS) | \
813
PIN_ODR_LEVEL_HIGH(PD04_UART2_RTS) | \
814
PIN_ODR_LEVEL_HIGH(PD05_UART2_TX) | \
815
PIN_ODR_LEVEL_HIGH(PD06_UART2_RX) | \
816
PIN_ODR_LEVEL_HIGH(PD07_SPI1_MOSI) | \
817
PIN_ODR_LEVEL_HIGH(PD08_UART3_TX) | \
818
PIN_ODR_LEVEL_HIGH(PD09_UART3_RX) | \
819
PIN_ODR_LEVEL_HIGH(PD10_DRDY6_BMI055_ACC) | \
820
PIN_ODR_LEVEL_HIGH(PD11_UART3_CTS) | \
821
PIN_ODR_LEVEL_HIGH(PD12_UART3_RTS) | \
822
PIN_ODR_LEVEL_LOW(PD13_SERVO5) | \
823
PIN_ODR_LEVEL_LOW(PD14_SERVO6) | \
824
PIN_ODR_LEVEL_HIGH(PD15_DRDY7_EXTERNAL1))
825
826
#define VAL_GPIOD_AFRL (PIN_AFIO_AF(PD00_UART4_RX, 8) | \
827
PIN_AFIO_AF(PD01_UART4_TX, 8) | \
828
PIN_AFIO_AF(PD02_SDIO_CMD, 12) | \
829
PIN_AFIO_AF(PD03_UART2_CTS, 0) | \
830
PIN_AFIO_AF(PD04_UART2_RTS, 0) | \
831
PIN_AFIO_AF(PD05_UART2_TX, 7) | \
832
PIN_AFIO_AF(PD06_UART2_RX, 7) | \
833
PIN_AFIO_AF(PD07_SPI1_MOSI, 5))
834
835
#define VAL_GPIOD_AFRH (PIN_AFIO_AF(PD08_UART3_TX, 7) | \
836
PIN_AFIO_AF(PD09_UART3_RX, 7) | \
837
PIN_AFIO_AF(PD10_DRDY6_BMI055_ACC, 0) | \
838
PIN_AFIO_AF(PD11_UART3_CTS, 0) | \
839
PIN_AFIO_AF(PD12_UART3_RTS, 0) | \
840
PIN_AFIO_AF(PD13_SERVO5, 2) | \
841
PIN_AFIO_AF(PD14_SERVO6, 2) | \
842
PIN_AFIO_AF(PD15_DRDY7_EXTERNAL1, 0))
843
844
#define VAL_GPIOE_MODER (PIN_MODE_ALTERNATE(PE00_UART8_RX) | \
845
PIN_MODE_ALTERNATE(PE01_UART8_TX) | \
846
PIN_MODE_ALTERNATE(PE02_SPI4_SCK) | \
847
PIN_MODE_OUTPUT(PE03_V3V3_SENSORS_EN) | \
848
PIN_MODE_OUTPUT(PE04_V3V3_SPEKTRUM_EN) | \
849
PIN_MODE_INPUT(PE05_BUZZER) | \
850
PIN_MODE_ALTERNATE(PE06_SPI4_MOSI) | \
851
PIN_MODE_INPUT(PE07_DRDY8) | \
852
PIN_MODE_ALTERNATE(PE08_UART7_TX) | \
853
PIN_MODE_ALTERNATE(PE09_SERVO4) | \
854
PIN_MODE_INPUT(PE10_SAFETY_SWITCH_IN) | \
855
PIN_MODE_ALTERNATE(PE11_SERVO3) | \
856
PIN_MODE_OUTPUT(PE12_LED4) | \
857
PIN_MODE_ALTERNATE(PE13_SPI4_MISO) | \
858
PIN_MODE_ALTERNATE(PE14_SERVO1) | \
859
PIN_MODE_INPUT(PE15_V5V_PERIPH_OC))
860
861
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(PE00_UART8_RX) | \
862
PIN_OTYPE_PUSHPULL(PE01_UART8_TX) | \
863
PIN_OTYPE_PUSHPULL(PE02_SPI4_SCK) | \
864
PIN_OTYPE_PUSHPULL(PE03_V3V3_SENSORS_EN) | \
865
PIN_OTYPE_PUSHPULL(PE04_V3V3_SPEKTRUM_EN) | \
866
PIN_OTYPE_OPENDRAIN(PE05_BUZZER) | \
867
PIN_OTYPE_PUSHPULL(PE06_SPI4_MOSI) | \
868
PIN_OTYPE_OPENDRAIN(PE07_DRDY8) | \
869
PIN_OTYPE_PUSHPULL(PE08_UART7_TX) | \
870
PIN_OTYPE_PUSHPULL(PE09_SERVO4) | \
871
PIN_OTYPE_OPENDRAIN(PE10_SAFETY_SWITCH_IN) | \
872
PIN_OTYPE_PUSHPULL(PE11_SERVO3) | \
873
PIN_OTYPE_PUSHPULL(PE12_LED4) | \
874
PIN_OTYPE_PUSHPULL(PE13_SPI4_MISO) | \
875
PIN_OTYPE_PUSHPULL(PE14_SERVO1) | \
876
PIN_OTYPE_OPENDRAIN(PE15_V5V_PERIPH_OC))
877
878
#define VAL_GPIOE_OSPEEDR (PIN_OSPEED_SPEED_HIGH(PE00_UART8_RX) | \
879
PIN_OSPEED_SPEED_HIGH(PE01_UART8_TX) | \
880
PIN_OSPEED_SPEED_HIGH(PE02_SPI4_SCK) | \
881
PIN_OSPEED_SPEED_VERYLOW(PE03_V3V3_SENSORS_EN) | \
882
PIN_OSPEED_SPEED_VERYLOW(PE04_V3V3_SPEKTRUM_EN) | \
883
PIN_OSPEED_SPEED_VERYLOW(PE05_BUZZER) | \
884
PIN_OSPEED_SPEED_HIGH(PE06_SPI4_MOSI) | \
885
PIN_OSPEED_SPEED_VERYLOW(PE07_DRDY8) | \
886
PIN_OSPEED_SPEED_HIGH(PE08_UART7_TX) | \
887
PIN_OSPEED_SPEED_HIGH(PE09_SERVO4) | \
888
PIN_OSPEED_SPEED_VERYLOW(PE10_SAFETY_SWITCH_IN) | \
889
PIN_OSPEED_SPEED_HIGH(PE11_SERVO3) | \
890
PIN_OSPEED_SPEED_VERYLOW(PE12_LED4) | \
891
PIN_OSPEED_SPEED_HIGH(PE13_SPI4_MISO) | \
892
PIN_OSPEED_SPEED_HIGH(PE14_SERVO1) | \
893
PIN_OSPEED_SPEED_VERYLOW(PE15_V5V_PERIPH_OC))
894
895
#define VAL_GPIOE_PUPDR (PIN_PUPDR_FLOATING(PE00_UART8_RX) | \
896
PIN_PUPDR_FLOATING(PE01_UART8_TX) | \
897
PIN_PUPDR_FLOATING(PE02_SPI4_SCK) | \
898
PIN_PUPDR_FLOATING(PE03_V3V3_SENSORS_EN) | \
899
PIN_PUPDR_FLOATING(PE04_V3V3_SPEKTRUM_EN) | \
900
PIN_PUPDR_PULLDOWN(PE05_BUZZER) | \
901
PIN_PUPDR_FLOATING(PE06_SPI4_MOSI) | \
902
PIN_PUPDR_PULLDOWN(PE07_DRDY8) | \
903
PIN_PUPDR_FLOATING(PE08_UART7_TX) | \
904
PIN_PUPDR_FLOATING(PE09_SERVO4) | \
905
PIN_PUPDR_PULLDOWN(PE10_SAFETY_SWITCH_IN) | \
906
PIN_PUPDR_FLOATING(PE11_SERVO3) | \
907
PIN_PUPDR_FLOATING(PE12_LED4) | \
908
PIN_PUPDR_FLOATING(PE13_SPI4_MISO) | \
909
PIN_PUPDR_FLOATING(PE14_SERVO1) | \
910
PIN_PUPDR_PULLDOWN(PE15_V5V_PERIPH_OC))
911
912
#define VAL_GPIOE_ODR (PIN_ODR_LEVEL_HIGH(PE00_UART8_RX) | \
913
PIN_ODR_LEVEL_HIGH(PE01_UART8_TX) | \
914
PIN_ODR_LEVEL_HIGH(PE02_SPI4_SCK) | \
915
PIN_ODR_LEVEL_HIGH(PE03_V3V3_SENSORS_EN) | \
916
PIN_ODR_LEVEL_HIGH(PE04_V3V3_SPEKTRUM_EN) | \
917
PIN_ODR_LEVEL_HIGH(PE05_BUZZER) | \
918
PIN_ODR_LEVEL_HIGH(PE06_SPI4_MOSI) | \
919
PIN_ODR_LEVEL_HIGH(PE07_DRDY8) | \
920
PIN_ODR_LEVEL_HIGH(PE08_UART7_TX) | \
921
PIN_ODR_LEVEL_LOW(PE09_SERVO4) | \
922
PIN_ODR_LEVEL_LOW(PE10_SAFETY_SWITCH_IN) | \
923
PIN_ODR_LEVEL_LOW(PE11_SERVO3) | \
924
PIN_ODR_LEVEL_LOW(PE12_LED4) | \
925
PIN_ODR_LEVEL_HIGH(PE13_SPI4_MISO) | \
926
PIN_ODR_LEVEL_LOW(PE14_SERVO1) | \
927
PIN_ODR_LEVEL_HIGH(PE15_V5V_PERIPH_OC))
928
929
#define VAL_GPIOE_AFRL (PIN_AFIO_AF(PE00_UART8_RX, 8) | \
930
PIN_AFIO_AF(PE01_UART8_TX, 8) | \
931
PIN_AFIO_AF(PE02_SPI4_SCK, 5) | \
932
PIN_AFIO_AF(PE03_V3V3_SENSORS_EN, 0) | \
933
PIN_AFIO_AF(PE04_V3V3_SPEKTRUM_EN, 0) | \
934
PIN_AFIO_AF(PE05_BUZZER, 0) | \
935
PIN_AFIO_AF(PE06_SPI4_MOSI, 5) | \
936
PIN_AFIO_AF(PE07_DRDY8, 0))
937
938
#define VAL_GPIOE_AFRH (PIN_AFIO_AF(PE08_UART7_TX, 8) | \
939
PIN_AFIO_AF(PE09_SERVO4, 1) | \
940
PIN_AFIO_AF(PE10_SAFETY_SWITCH_IN, 0) | \
941
PIN_AFIO_AF(PE11_SERVO3, 1) | \
942
PIN_AFIO_AF(PE12_LED4, 0) | \
943
PIN_AFIO_AF(PE13_SPI4_MISO, 5) | \
944
PIN_AFIO_AF(PE14_SERVO1, 1) | \
945
PIN_AFIO_AF(PE15_V5V_PERIPH_OC, 0))
946
947
#define VAL_GPIOF_MODER (PIN_MODE_ALTERNATE(PF00_I2C2_SDA) | \
948
PIN_MODE_ALTERNATE(PF01_I2C2_SCL) | \
949
PIN_MODE_OUTPUT(PF02_SPI_SLAVE0) | \
950
PIN_MODE_OUTPUT(PF03_SPI_SLAVE1) | \
951
PIN_MODE_OUTPUT(PF04_SPI_SLAVE2) | \
952
PIN_MODE_OUTPUT(PF05_SPI_SLAVE3) | \
953
PIN_MODE_ALTERNATE(PF06_UART7_RX) | \
954
PIN_MODE_ALTERNATE(PF07_SPI5_SCK) | \
955
PIN_MODE_ALTERNATE(PF08_SPI5_MISO) | \
956
PIN_MODE_ALTERNATE(PF09_SPI5_MOSI) | \
957
PIN_MODE_OUTPUT(PF10_SPI_SLAVE4) | \
958
PIN_MODE_OUTPUT(PF11_SPI_SLAVE5) | \
959
PIN_MODE_OUTPUT(PF12_V5V_HIPOWER_EN) | \
960
PIN_MODE_INPUT(PF13_V5V_HIPOWER_OC) | \
961
PIN_MODE_ALTERNATE(PF14_I2C4_SCL) | \
962
PIN_MODE_ALTERNATE(PF15_I2C4_SDA))
963
964
#define VAL_GPIOF_OTYPER (PIN_OTYPE_OPENDRAIN(PF00_I2C2_SDA) | \
965
PIN_OTYPE_OPENDRAIN(PF01_I2C2_SCL) | \
966
PIN_OTYPE_PUSHPULL(PF02_SPI_SLAVE0) | \
967
PIN_OTYPE_PUSHPULL(PF03_SPI_SLAVE1) | \
968
PIN_OTYPE_PUSHPULL(PF04_SPI_SLAVE2) | \
969
PIN_OTYPE_PUSHPULL(PF05_SPI_SLAVE3) | \
970
PIN_OTYPE_PUSHPULL(PF06_UART7_RX) | \
971
PIN_OTYPE_PUSHPULL(PF07_SPI5_SCK) | \
972
PIN_OTYPE_PUSHPULL(PF08_SPI5_MISO) | \
973
PIN_OTYPE_PUSHPULL(PF09_SPI5_MOSI) | \
974
PIN_OTYPE_PUSHPULL(PF10_SPI_SLAVE4) | \
975
PIN_OTYPE_PUSHPULL(PF11_SPI_SLAVE5) | \
976
PIN_OTYPE_PUSHPULL(PF12_V5V_HIPOWER_EN) | \
977
PIN_OTYPE_OPENDRAIN(PF13_V5V_HIPOWER_OC) | \
978
PIN_OTYPE_OPENDRAIN(PF14_I2C4_SCL) | \
979
PIN_OTYPE_OPENDRAIN(PF15_I2C4_SDA))
980
981
#define VAL_GPIOF_OSPEEDR (PIN_OSPEED_SPEED_HIGH(PF00_I2C2_SDA) | \
982
PIN_OSPEED_SPEED_HIGH(PF01_I2C2_SCL) | \
983
PIN_OSPEED_SPEED_HIGH(PF02_SPI_SLAVE0) | \
984
PIN_OSPEED_SPEED_HIGH(PF03_SPI_SLAVE1) | \
985
PIN_OSPEED_SPEED_HIGH(PF04_SPI_SLAVE2) | \
986
PIN_OSPEED_SPEED_HIGH(PF05_SPI_SLAVE3) | \
987
PIN_OSPEED_SPEED_HIGH(PF06_UART7_RX) | \
988
PIN_OSPEED_SPEED_HIGH(PF07_SPI5_SCK) | \
989
PIN_OSPEED_SPEED_HIGH(PF08_SPI5_MISO) | \
990
PIN_OSPEED_SPEED_HIGH(PF09_SPI5_MOSI) | \
991
PIN_OSPEED_SPEED_HIGH(PF10_SPI_SLAVE4) | \
992
PIN_OSPEED_SPEED_HIGH(PF11_SPI_SLAVE5) | \
993
PIN_OSPEED_SPEED_VERYLOW(PF12_V5V_HIPOWER_EN) | \
994
PIN_OSPEED_SPEED_VERYLOW(PF13_V5V_HIPOWER_OC) | \
995
PIN_OSPEED_SPEED_HIGH(PF14_I2C4_SCL) | \
996
PIN_OSPEED_SPEED_HIGH(PF15_I2C4_SDA))
997
998
#define VAL_GPIOF_PUPDR (PIN_PUPDR_PULLUP(PF00_I2C2_SDA) | \
999
PIN_PUPDR_PULLUP(PF01_I2C2_SCL) | \
1000
PIN_PUPDR_FLOATING(PF02_SPI_SLAVE0) | \
1001
PIN_PUPDR_FLOATING(PF03_SPI_SLAVE1) | \
1002
PIN_PUPDR_FLOATING(PF04_SPI_SLAVE2) | \
1003
PIN_PUPDR_FLOATING(PF05_SPI_SLAVE3) | \
1004
PIN_PUPDR_FLOATING(PF06_UART7_RX) | \
1005
PIN_PUPDR_FLOATING(PF07_SPI5_SCK) | \
1006
PIN_PUPDR_FLOATING(PF08_SPI5_MISO) | \
1007
PIN_PUPDR_FLOATING(PF09_SPI5_MOSI) | \
1008
PIN_PUPDR_FLOATING(PF10_SPI_SLAVE4) | \
1009
PIN_PUPDR_FLOATING(PF11_SPI_SLAVE5) | \
1010
PIN_PUPDR_FLOATING(PF12_V5V_HIPOWER_EN) | \
1011
PIN_PUPDR_PULLDOWN(PF13_V5V_HIPOWER_OC) | \
1012
PIN_PUPDR_PULLUP(PF14_I2C4_SCL) | \
1013
PIN_PUPDR_PULLUP(PF15_I2C4_SDA))
1014
1015
#define VAL_GPIOF_ODR (PIN_ODR_LEVEL_HIGH(PF00_I2C2_SDA) | \
1016
PIN_ODR_LEVEL_HIGH(PF01_I2C2_SCL) | \
1017
PIN_ODR_LEVEL_HIGH(PF02_SPI_SLAVE0) | \
1018
PIN_ODR_LEVEL_HIGH(PF03_SPI_SLAVE1) | \
1019
PIN_ODR_LEVEL_HIGH(PF04_SPI_SLAVE2) | \
1020
PIN_ODR_LEVEL_HIGH(PF05_SPI_SLAVE3) | \
1021
PIN_ODR_LEVEL_HIGH(PF06_UART7_RX) | \
1022
PIN_ODR_LEVEL_HIGH(PF07_SPI5_SCK) | \
1023
PIN_ODR_LEVEL_HIGH(PF08_SPI5_MISO) | \
1024
PIN_ODR_LEVEL_HIGH(PF09_SPI5_MOSI) | \
1025
PIN_ODR_LEVEL_HIGH(PF10_SPI_SLAVE4) | \
1026
PIN_ODR_LEVEL_HIGH(PF11_SPI_SLAVE5) | \
1027
PIN_ODR_LEVEL_LOW(PF12_V5V_HIPOWER_EN) | \
1028
PIN_ODR_LEVEL_HIGH(PF13_V5V_HIPOWER_OC) | \
1029
PIN_ODR_LEVEL_HIGH(PF14_I2C4_SCL) | \
1030
PIN_ODR_LEVEL_HIGH(PF15_I2C4_SDA))
1031
1032
#define VAL_GPIOF_AFRL (PIN_AFIO_AF(PF00_I2C2_SDA, 4) | \
1033
PIN_AFIO_AF(PF01_I2C2_SCL, 4) | \
1034
PIN_AFIO_AF(PF02_SPI_SLAVE0, 0) | \
1035
PIN_AFIO_AF(PF03_SPI_SLAVE1, 0) | \
1036
PIN_AFIO_AF(PF04_SPI_SLAVE2, 0) | \
1037
PIN_AFIO_AF(PF05_SPI_SLAVE3, 0) | \
1038
PIN_AFIO_AF(PF06_UART7_RX, 8) | \
1039
PIN_AFIO_AF(PF07_SPI5_SCK, 5))
1040
1041
#define VAL_GPIOF_AFRH (PIN_AFIO_AF(PF08_SPI5_MISO, 5) | \
1042
PIN_AFIO_AF(PF09_SPI5_MOSI, 5) | \
1043
PIN_AFIO_AF(PF10_SPI_SLAVE4, 0) | \
1044
PIN_AFIO_AF(PF11_SPI_SLAVE5, 0) | \
1045
PIN_AFIO_AF(PF12_V5V_HIPOWER_EN, 0) | \
1046
PIN_AFIO_AF(PF13_V5V_HIPOWER_OC, 0) | \
1047
PIN_AFIO_AF(PF14_I2C4_SCL, 4) | \
1048
PIN_AFIO_AF(PF15_I2C4_SDA, 4))
1049
1050
#define VAL_GPIOG_MODER (PIN_MODE_OUTPUT(PG00_HW_VER_DRIVE) | \
1051
PIN_MODE_INPUT(PG01_POWER_IN_A) | \
1052
PIN_MODE_INPUT(PG02_POWER_IN_B) | \
1053
PIN_MODE_INPUT(PG03_POWER_IN_C) | \
1054
PIN_MODE_OUTPUT(PG04_V5V_PERIPH_EN) | \
1055
PIN_MODE_OUTPUT(PG05_V5V_RC_EN) | \
1056
PIN_MODE_OUTPUT(PG06_V5V_WIFI_EN) | \
1057
PIN_MODE_OUTPUT(PG07_V3V3_SD_CARD_EN) | \
1058
PIN_MODE_INPUT(PG08_USART6_RTS) | \
1059
PIN_MODE_ALTERNATE(PG09_USART6_RX) | \
1060
PIN_MODE_OUTPUT(PG10_SPI_SLAVE6) | \
1061
PIN_MODE_ALTERNATE(PG11_SPI1_SCK) | \
1062
PIN_MODE_ALTERNATE(PG12_SPI6_MISO) | \
1063
PIN_MODE_ALTERNATE(PG13_SPI6_SCK) | \
1064
PIN_MODE_ALTERNATE(PG14_USART6_TX) | \
1065
PIN_MODE_INPUT(PG15_USART6_CTS))
1066
1067
#define VAL_GPIOG_OTYPER (PIN_OTYPE_PUSHPULL(PG00_HW_VER_DRIVE) | \
1068
PIN_OTYPE_OPENDRAIN(PG01_POWER_IN_A) | \
1069
PIN_OTYPE_OPENDRAIN(PG02_POWER_IN_B) | \
1070
PIN_OTYPE_OPENDRAIN(PG03_POWER_IN_C) | \
1071
PIN_OTYPE_PUSHPULL(PG04_V5V_PERIPH_EN) | \
1072
PIN_OTYPE_PUSHPULL(PG05_V5V_RC_EN) | \
1073
PIN_OTYPE_PUSHPULL(PG06_V5V_WIFI_EN) | \
1074
PIN_OTYPE_PUSHPULL(PG07_V3V3_SD_CARD_EN) | \
1075
PIN_OTYPE_OPENDRAIN(PG08_USART6_RTS) | \
1076
PIN_OTYPE_PUSHPULL(PG09_USART6_RX) | \
1077
PIN_OTYPE_PUSHPULL(PG10_SPI_SLAVE6) | \
1078
PIN_OTYPE_PUSHPULL(PG11_SPI1_SCK) | \
1079
PIN_OTYPE_PUSHPULL(PG12_SPI6_MISO) | \
1080
PIN_OTYPE_PUSHPULL(PG13_SPI6_SCK) | \
1081
PIN_OTYPE_PUSHPULL(PG14_USART6_TX) | \
1082
PIN_OTYPE_OPENDRAIN(PG15_USART6_CTS))
1083
1084
#define VAL_GPIOG_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PG00_HW_VER_DRIVE) | \
1085
PIN_OSPEED_SPEED_VERYLOW(PG01_POWER_IN_A) | \
1086
PIN_OSPEED_SPEED_VERYLOW(PG02_POWER_IN_B) | \
1087
PIN_OSPEED_SPEED_VERYLOW(PG03_POWER_IN_C) | \
1088
PIN_OSPEED_SPEED_VERYLOW(PG04_V5V_PERIPH_EN) | \
1089
PIN_OSPEED_SPEED_VERYLOW(PG05_V5V_RC_EN) | \
1090
PIN_OSPEED_SPEED_VERYLOW(PG06_V5V_WIFI_EN) | \
1091
PIN_OSPEED_SPEED_VERYLOW(PG07_V3V3_SD_CARD_EN) | \
1092
PIN_OSPEED_SPEED_VERYLOW(PG08_USART6_RTS) | \
1093
PIN_OSPEED_SPEED_HIGH(PG09_USART6_RX) | \
1094
PIN_OSPEED_SPEED_HIGH(PG10_SPI_SLAVE6) | \
1095
PIN_OSPEED_SPEED_HIGH(PG11_SPI1_SCK) | \
1096
PIN_OSPEED_SPEED_HIGH(PG12_SPI6_MISO) | \
1097
PIN_OSPEED_SPEED_HIGH(PG13_SPI6_SCK) | \
1098
PIN_OSPEED_SPEED_HIGH(PG14_USART6_TX) | \
1099
PIN_OSPEED_SPEED_VERYLOW(PG15_USART6_CTS))
1100
1101
#define VAL_GPIOG_PUPDR (PIN_PUPDR_FLOATING(PG00_HW_VER_DRIVE) | \
1102
PIN_PUPDR_PULLDOWN(PG01_POWER_IN_A) | \
1103
PIN_PUPDR_PULLDOWN(PG02_POWER_IN_B) | \
1104
PIN_PUPDR_PULLDOWN(PG03_POWER_IN_C) | \
1105
PIN_PUPDR_FLOATING(PG04_V5V_PERIPH_EN) | \
1106
PIN_PUPDR_FLOATING(PG05_V5V_RC_EN) | \
1107
PIN_PUPDR_FLOATING(PG06_V5V_WIFI_EN) | \
1108
PIN_PUPDR_FLOATING(PG07_V3V3_SD_CARD_EN) | \
1109
PIN_PUPDR_PULLDOWN(PG08_USART6_RTS) | \
1110
PIN_PUPDR_FLOATING(PG09_USART6_RX) | \
1111
PIN_PUPDR_FLOATING(PG10_SPI_SLAVE6) | \
1112
PIN_PUPDR_FLOATING(PG11_SPI1_SCK) | \
1113
PIN_PUPDR_FLOATING(PG12_SPI6_MISO) | \
1114
PIN_PUPDR_FLOATING(PG13_SPI6_SCK) | \
1115
PIN_PUPDR_FLOATING(PG14_USART6_TX) | \
1116
PIN_PUPDR_PULLDOWN(PG15_USART6_CTS))
1117
1118
#define VAL_GPIOG_ODR (PIN_ODR_LEVEL_LOW(PG00_HW_VER_DRIVE) | \
1119
PIN_ODR_LEVEL_HIGH(PG01_POWER_IN_A) | \
1120
PIN_ODR_LEVEL_HIGH(PG02_POWER_IN_B) | \
1121
PIN_ODR_LEVEL_HIGH(PG03_POWER_IN_C) | \
1122
PIN_ODR_LEVEL_LOW(PG04_V5V_PERIPH_EN) | \
1123
PIN_ODR_LEVEL_HIGH(PG05_V5V_RC_EN) | \
1124
PIN_ODR_LEVEL_HIGH(PG06_V5V_WIFI_EN) | \
1125
PIN_ODR_LEVEL_HIGH(PG07_V3V3_SD_CARD_EN) | \
1126
PIN_ODR_LEVEL_HIGH(PG08_USART6_RTS) | \
1127
PIN_ODR_LEVEL_HIGH(PG09_USART6_RX) | \
1128
PIN_ODR_LEVEL_HIGH(PG10_SPI_SLAVE6) | \
1129
PIN_ODR_LEVEL_HIGH(PG11_SPI1_SCK) | \
1130
PIN_ODR_LEVEL_HIGH(PG12_SPI6_MISO) | \
1131
PIN_ODR_LEVEL_HIGH(PG13_SPI6_SCK) | \
1132
PIN_ODR_LEVEL_HIGH(PG14_USART6_TX) | \
1133
PIN_ODR_LEVEL_HIGH(PG15_USART6_CTS))
1134
1135
#define VAL_GPIOG_AFRL (PIN_AFIO_AF(PG00_HW_VER_DRIVE, 0) | \
1136
PIN_AFIO_AF(PG01_POWER_IN_A, 0) | \
1137
PIN_AFIO_AF(PG02_POWER_IN_B, 0) | \
1138
PIN_AFIO_AF(PG03_POWER_IN_C, 0) | \
1139
PIN_AFIO_AF(PG04_V5V_PERIPH_EN, 0) | \
1140
PIN_AFIO_AF(PG05_V5V_RC_EN, 0) | \
1141
PIN_AFIO_AF(PG06_V5V_WIFI_EN, 0) | \
1142
PIN_AFIO_AF(PG07_V3V3_SD_CARD_EN, 0))
1143
1144
#define VAL_GPIOG_AFRH (PIN_AFIO_AF(PG08_USART6_RTS, 0) | \
1145
PIN_AFIO_AF(PG09_USART6_RX, 8) | \
1146
PIN_AFIO_AF(PG10_SPI_SLAVE6, 0) | \
1147
PIN_AFIO_AF(PG11_SPI1_SCK, 5) | \
1148
PIN_AFIO_AF(PG12_SPI6_MISO, 5) | \
1149
PIN_AFIO_AF(PG13_SPI6_SCK, 5) | \
1150
PIN_AFIO_AF(PG14_USART6_TX, 8) | \
1151
PIN_AFIO_AF(PG15_USART6_CTS, 0))
1152
1153
#define VAL_GPIOH_MODER (PIN_MODE_ALTERNATE(PH00_OSC_IN) | \
1154
PIN_MODE_ALTERNATE(PH01_OSC_OUT) | \
1155
PIN_MODE_OUTPUT(PH02_CAN1_SILENT_S0) | \
1156
PIN_MODE_OUTPUT(PH03_CAN2_SILENT_S1) | \
1157
PIN_MODE_OUTPUT(PH04_CAN3_SILENT_S2) | \
1158
PIN_MODE_OUTPUT(PH05_SPI_SLAVE7) | \
1159
PIN_MODE_ALTERNATE(PH06_SERVO7) | \
1160
PIN_MODE_ALTERNATE(PH07_I2C3_SCL) | \
1161
PIN_MODE_ALTERNATE(PH08_I2C3_SDA) | \
1162
PIN_MODE_ALTERNATE(PH09_SERVO8) | \
1163
PIN_MODE_OUTPUT(PH10_LED5) | \
1164
PIN_MODE_OUTPUT(PH11_LED6) | \
1165
PIN_MODE_OUTPUT(PH12_LED7) | \
1166
PIN_MODE_ALTERNATE(PH13_CAN1_TX) | \
1167
PIN_MODE_OUTPUT(PH14_HW_REV_DRIVE) | \
1168
PIN_MODE_INPUT(PH15_SPI5_SYNC))
1169
1170
#define VAL_GPIOH_OTYPER (PIN_OTYPE_PUSHPULL(PH00_OSC_IN) | \
1171
PIN_OTYPE_PUSHPULL(PH01_OSC_OUT) | \
1172
PIN_OTYPE_PUSHPULL(PH02_CAN1_SILENT_S0) | \
1173
PIN_OTYPE_PUSHPULL(PH03_CAN2_SILENT_S1) | \
1174
PIN_OTYPE_PUSHPULL(PH04_CAN3_SILENT_S2) | \
1175
PIN_OTYPE_PUSHPULL(PH05_SPI_SLAVE7) | \
1176
PIN_OTYPE_PUSHPULL(PH06_SERVO7) | \
1177
PIN_OTYPE_OPENDRAIN(PH07_I2C3_SCL) | \
1178
PIN_OTYPE_OPENDRAIN(PH08_I2C3_SDA) | \
1179
PIN_OTYPE_PUSHPULL(PH09_SERVO8) | \
1180
PIN_OTYPE_PUSHPULL(PH10_LED5) | \
1181
PIN_OTYPE_PUSHPULL(PH11_LED6) | \
1182
PIN_OTYPE_PUSHPULL(PH12_LED7) | \
1183
PIN_OTYPE_PUSHPULL(PH13_CAN1_TX) | \
1184
PIN_OTYPE_PUSHPULL(PH14_HW_REV_DRIVE) | \
1185
PIN_OTYPE_OPENDRAIN(PH15_SPI5_SYNC))
1186
1187
#define VAL_GPIOH_OSPEEDR (PIN_OSPEED_SPEED_HIGH(PH00_OSC_IN) | \
1188
PIN_OSPEED_SPEED_HIGH(PH01_OSC_OUT) | \
1189
PIN_OSPEED_SPEED_VERYLOW(PH02_CAN1_SILENT_S0) | \
1190
PIN_OSPEED_SPEED_VERYLOW(PH03_CAN2_SILENT_S1) | \
1191
PIN_OSPEED_SPEED_VERYLOW(PH04_CAN3_SILENT_S2) | \
1192
PIN_OSPEED_SPEED_HIGH(PH05_SPI_SLAVE7) | \
1193
PIN_OSPEED_SPEED_HIGH(PH06_SERVO7) | \
1194
PIN_OSPEED_SPEED_HIGH(PH07_I2C3_SCL) | \
1195
PIN_OSPEED_SPEED_HIGH(PH08_I2C3_SDA) | \
1196
PIN_OSPEED_SPEED_HIGH(PH09_SERVO8) | \
1197
PIN_OSPEED_SPEED_VERYLOW(PH10_LED5) | \
1198
PIN_OSPEED_SPEED_VERYLOW(PH11_LED6) | \
1199
PIN_OSPEED_SPEED_VERYLOW(PH12_LED7) | \
1200
PIN_OSPEED_SPEED_HIGH(PH13_CAN1_TX) | \
1201
PIN_OSPEED_SPEED_VERYLOW(PH14_HW_REV_DRIVE) | \
1202
PIN_OSPEED_SPEED_VERYLOW(PH15_SPI5_SYNC))
1203
1204
#define VAL_GPIOH_PUPDR (PIN_PUPDR_FLOATING(PH00_OSC_IN) | \
1205
PIN_PUPDR_FLOATING(PH01_OSC_OUT) | \
1206
PIN_PUPDR_FLOATING(PH02_CAN1_SILENT_S0) | \
1207
PIN_PUPDR_FLOATING(PH03_CAN2_SILENT_S1) | \
1208
PIN_PUPDR_FLOATING(PH04_CAN3_SILENT_S2) | \
1209
PIN_PUPDR_FLOATING(PH05_SPI_SLAVE7) | \
1210
PIN_PUPDR_FLOATING(PH06_SERVO7) | \
1211
PIN_PUPDR_PULLUP(PH07_I2C3_SCL) | \
1212
PIN_PUPDR_PULLUP(PH08_I2C3_SDA) | \
1213
PIN_PUPDR_FLOATING(PH09_SERVO8) | \
1214
PIN_PUPDR_FLOATING(PH10_LED5) | \
1215
PIN_PUPDR_FLOATING(PH11_LED6) | \
1216
PIN_PUPDR_FLOATING(PH12_LED7) | \
1217
PIN_PUPDR_FLOATING(PH13_CAN1_TX) | \
1218
PIN_PUPDR_FLOATING(PH14_HW_REV_DRIVE) | \
1219
PIN_PUPDR_PULLDOWN(PH15_SPI5_SYNC))
1220
1221
#define VAL_GPIOH_ODR (PIN_ODR_LEVEL_HIGH(PH00_OSC_IN) | \
1222
PIN_ODR_LEVEL_HIGH(PH01_OSC_OUT) | \
1223
PIN_ODR_LEVEL_LOW(PH02_CAN1_SILENT_S0) | \
1224
PIN_ODR_LEVEL_LOW(PH03_CAN2_SILENT_S1) | \
1225
PIN_ODR_LEVEL_LOW(PH04_CAN3_SILENT_S2) | \
1226
PIN_ODR_LEVEL_HIGH(PH05_SPI_SLAVE7) | \
1227
PIN_ODR_LEVEL_LOW(PH06_SERVO7) | \
1228
PIN_ODR_LEVEL_HIGH(PH07_I2C3_SCL) | \
1229
PIN_ODR_LEVEL_HIGH(PH08_I2C3_SDA) | \
1230
PIN_ODR_LEVEL_LOW(PH09_SERVO8) | \
1231
PIN_ODR_LEVEL_LOW(PH10_LED5) | \
1232
PIN_ODR_LEVEL_LOW(PH11_LED6) | \
1233
PIN_ODR_LEVEL_LOW(PH12_LED7) | \
1234
PIN_ODR_LEVEL_HIGH(PH13_CAN1_TX) | \
1235
PIN_ODR_LEVEL_LOW(PH14_HW_REV_DRIVE) | \
1236
PIN_ODR_LEVEL_HIGH(PH15_SPI5_SYNC))
1237
1238
#define VAL_GPIOH_AFRL (PIN_AFIO_AF(PH00_OSC_IN, 0) | \
1239
PIN_AFIO_AF(PH01_OSC_OUT, 0) | \
1240
PIN_AFIO_AF(PH02_CAN1_SILENT_S0, 0) | \
1241
PIN_AFIO_AF(PH03_CAN2_SILENT_S1, 0) | \
1242
PIN_AFIO_AF(PH04_CAN3_SILENT_S2, 0) | \
1243
PIN_AFIO_AF(PH05_SPI_SLAVE7, 0) | \
1244
PIN_AFIO_AF(PH06_SERVO7, 9) | \
1245
PIN_AFIO_AF(PH07_I2C3_SCL, 4))
1246
1247
#define VAL_GPIOH_AFRH (PIN_AFIO_AF(PH08_I2C3_SDA, 4) | \
1248
PIN_AFIO_AF(PH09_SERVO8, 9) | \
1249
PIN_AFIO_AF(PH10_LED5, 0) | \
1250
PIN_AFIO_AF(PH11_LED6, 0) | \
1251
PIN_AFIO_AF(PH12_LED7, 0) | \
1252
PIN_AFIO_AF(PH13_CAN1_TX, 9) | \
1253
PIN_AFIO_AF(PH14_HW_REV_DRIVE, 0) | \
1254
PIN_AFIO_AF(PH15_SPI5_SYNC, 0))
1255
1256
#define VAL_GPIOI_MODER (PIN_MODE_OUTPUT(PI00_ARMED) | \
1257
PIN_MODE_ALTERNATE(PI01_SPI2_SCK) | \
1258
PIN_MODE_ALTERNATE(PI02_SPI2_MISO) | \
1259
PIN_MODE_ALTERNATE(PI03_SPI2_MOSI) | \
1260
PIN_MODE_OUTPUT(PI04_SPI_SLAVE8) | \
1261
PIN_MODE_ALTERNATE(PI05_PWM_INPUT1) | \
1262
PIN_MODE_OUTPUT(PI06_SPI_SLAVE9) | \
1263
PIN_MODE_OUTPUT(PI07_SPI_SLAVE10) | \
1264
PIN_MODE_OUTPUT(PI08_SPI_SLAVE11) | \
1265
PIN_MODE_ALTERNATE(PI09_CAN1_RX) | \
1266
PIN_MODE_OUTPUT(PI10_SPI_SLAVE12) | \
1267
PIN_MODE_OUTPUT(PI11_SPI_SLAVE13) | \
1268
PIN_MODE_INPUT(PI12) | \
1269
PIN_MODE_INPUT(PI13) | \
1270
PIN_MODE_INPUT(PI14) | \
1271
PIN_MODE_INPUT(PI15))
1272
1273
#define VAL_GPIOI_OTYPER (PIN_OTYPE_PUSHPULL(PI00_ARMED) | \
1274
PIN_OTYPE_PUSHPULL(PI01_SPI2_SCK) | \
1275
PIN_OTYPE_PUSHPULL(PI02_SPI2_MISO) | \
1276
PIN_OTYPE_PUSHPULL(PI03_SPI2_MOSI) | \
1277
PIN_OTYPE_PUSHPULL(PI04_SPI_SLAVE8) | \
1278
PIN_OTYPE_PUSHPULL(PI05_PWM_INPUT1) | \
1279
PIN_OTYPE_PUSHPULL(PI06_SPI_SLAVE9) | \
1280
PIN_OTYPE_PUSHPULL(PI07_SPI_SLAVE10) | \
1281
PIN_OTYPE_PUSHPULL(PI08_SPI_SLAVE11) | \
1282
PIN_OTYPE_PUSHPULL(PI09_CAN1_RX) | \
1283
PIN_OTYPE_PUSHPULL(PI10_SPI_SLAVE12) | \
1284
PIN_OTYPE_PUSHPULL(PI11_SPI_SLAVE13) | \
1285
PIN_OTYPE_PUSHPULL(PI12) | \
1286
PIN_OTYPE_PUSHPULL(PI13) | \
1287
PIN_OTYPE_PUSHPULL(PI14) | \
1288
PIN_OTYPE_PUSHPULL(PI15))
1289
1290
#define VAL_GPIOI_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PI00_ARMED) | \
1291
PIN_OSPEED_SPEED_HIGH(PI01_SPI2_SCK) | \
1292
PIN_OSPEED_SPEED_HIGH(PI02_SPI2_MISO) | \
1293
PIN_OSPEED_SPEED_HIGH(PI03_SPI2_MOSI) | \
1294
PIN_OSPEED_SPEED_HIGH(PI04_SPI_SLAVE8) | \
1295
PIN_OSPEED_SPEED_HIGH(PI05_PWM_INPUT1) | \
1296
PIN_OSPEED_SPEED_HIGH(PI06_SPI_SLAVE9) | \
1297
PIN_OSPEED_SPEED_HIGH(PI07_SPI_SLAVE10) | \
1298
PIN_OSPEED_SPEED_HIGH(PI08_SPI_SLAVE11) | \
1299
PIN_OSPEED_SPEED_HIGH(PI09_CAN1_RX) | \
1300
PIN_OSPEED_SPEED_HIGH(PI10_SPI_SLAVE12) | \
1301
PIN_OSPEED_SPEED_HIGH(PI11_SPI_SLAVE13) | \
1302
PIN_OSPEED_SPEED_VERYLOW(PI12) | \
1303
PIN_OSPEED_SPEED_VERYLOW(PI13) | \
1304
PIN_OSPEED_SPEED_VERYLOW(PI14) | \
1305
PIN_OSPEED_SPEED_VERYLOW(PI15))
1306
1307
#define VAL_GPIOI_PUPDR (PIN_PUPDR_FLOATING(PI00_ARMED) | \
1308
PIN_PUPDR_FLOATING(PI01_SPI2_SCK) | \
1309
PIN_PUPDR_FLOATING(PI02_SPI2_MISO) | \
1310
PIN_PUPDR_FLOATING(PI03_SPI2_MOSI) | \
1311
PIN_PUPDR_FLOATING(PI04_SPI_SLAVE8) | \
1312
PIN_PUPDR_FLOATING(PI05_PWM_INPUT1) | \
1313
PIN_PUPDR_FLOATING(PI06_SPI_SLAVE9) | \
1314
PIN_PUPDR_FLOATING(PI07_SPI_SLAVE10) | \
1315
PIN_PUPDR_FLOATING(PI08_SPI_SLAVE11) | \
1316
PIN_PUPDR_FLOATING(PI09_CAN1_RX) | \
1317
PIN_PUPDR_FLOATING(PI10_SPI_SLAVE12) | \
1318
PIN_PUPDR_FLOATING(PI11_SPI_SLAVE13) | \
1319
PIN_PUPDR_PULLDOWN(PI12) | \
1320
PIN_PUPDR_PULLDOWN(PI13) | \
1321
PIN_PUPDR_PULLDOWN(PI14) | \
1322
PIN_PUPDR_PULLDOWN(PI15))
1323
1324
#define VAL_GPIOI_ODR (PIN_ODR_LEVEL_LOW(PI00_ARMED) | \
1325
PIN_ODR_LEVEL_HIGH(PI01_SPI2_SCK) | \
1326
PIN_ODR_LEVEL_HIGH(PI02_SPI2_MISO) | \
1327
PIN_ODR_LEVEL_HIGH(PI03_SPI2_MOSI) | \
1328
PIN_ODR_LEVEL_HIGH(PI04_SPI_SLAVE8) | \
1329
PIN_ODR_LEVEL_HIGH(PI05_PWM_INPUT1) | \
1330
PIN_ODR_LEVEL_HIGH(PI06_SPI_SLAVE9) | \
1331
PIN_ODR_LEVEL_HIGH(PI07_SPI_SLAVE10) | \
1332
PIN_ODR_LEVEL_HIGH(PI08_SPI_SLAVE11) | \
1333
PIN_ODR_LEVEL_HIGH(PI09_CAN1_RX) | \
1334
PIN_ODR_LEVEL_HIGH(PI10_SPI_SLAVE12) | \
1335
PIN_ODR_LEVEL_HIGH(PI11_SPI_SLAVE13) | \
1336
PIN_ODR_LEVEL_LOW(PI12) | \
1337
PIN_ODR_LEVEL_LOW(PI13) | \
1338
PIN_ODR_LEVEL_LOW(PI14) | \
1339
PIN_ODR_LEVEL_LOW(PI15))
1340
1341
#define VAL_GPIOI_AFRL (PIN_AFIO_AF(PI00_ARMED, 0) | \
1342
PIN_AFIO_AF(PI01_SPI2_SCK, 5) | \
1343
PIN_AFIO_AF(PI02_SPI2_MISO, 5) | \
1344
PIN_AFIO_AF(PI03_SPI2_MOSI, 5) | \
1345
PIN_AFIO_AF(PI04_SPI_SLAVE8, 0) | \
1346
PIN_AFIO_AF(PI05_PWM_INPUT1, 3) | \
1347
PIN_AFIO_AF(PI06_SPI_SLAVE9, 0) | \
1348
PIN_AFIO_AF(PI07_SPI_SLAVE10, 0))
1349
1350
#define VAL_GPIOI_AFRH (PIN_AFIO_AF(PI08_SPI_SLAVE11, 0) | \
1351
PIN_AFIO_AF(PI09_CAN1_RX, 9) | \
1352
PIN_AFIO_AF(PI10_SPI_SLAVE12, 0) | \
1353
PIN_AFIO_AF(PI11_SPI_SLAVE13, 0) | \
1354
PIN_AFIO_AF(PI12, 0) | \
1355
PIN_AFIO_AF(PI13, 0) | \
1356
PIN_AFIO_AF(PI14, 0) | \
1357
PIN_AFIO_AF(PI15, 0))
1358
1359
#define VAL_GPIOJ_MODER (PIN_MODE_INPUT(PJ00) | \
1360
PIN_MODE_INPUT(PJ01) | \
1361
PIN_MODE_INPUT(PJ02) | \
1362
PIN_MODE_INPUT(PJ03) | \
1363
PIN_MODE_INPUT(PJ04) | \
1364
PIN_MODE_INPUT(PJ05) | \
1365
PIN_MODE_INPUT(PJ06) | \
1366
PIN_MODE_INPUT(PJ07) | \
1367
PIN_MODE_INPUT(PJ08) | \
1368
PIN_MODE_INPUT(PJ09) | \
1369
PIN_MODE_INPUT(PJ10) | \
1370
PIN_MODE_INPUT(PJ11) | \
1371
PIN_MODE_INPUT(PJ12) | \
1372
PIN_MODE_INPUT(PJ13) | \
1373
PIN_MODE_INPUT(PJ14) | \
1374
PIN_MODE_INPUT(PJ15))
1375
1376
#define VAL_GPIOJ_OTYPER (PIN_OTYPE_PUSHPULL(PJ00) | \
1377
PIN_OTYPE_PUSHPULL(PJ01) | \
1378
PIN_OTYPE_PUSHPULL(PJ02) | \
1379
PIN_OTYPE_PUSHPULL(PJ03) | \
1380
PIN_OTYPE_PUSHPULL(PJ04) | \
1381
PIN_OTYPE_PUSHPULL(PJ05) | \
1382
PIN_OTYPE_PUSHPULL(PJ06) | \
1383
PIN_OTYPE_PUSHPULL(PJ07) | \
1384
PIN_OTYPE_PUSHPULL(PJ08) | \
1385
PIN_OTYPE_PUSHPULL(PJ09) | \
1386
PIN_OTYPE_PUSHPULL(PJ10) | \
1387
PIN_OTYPE_PUSHPULL(PJ11) | \
1388
PIN_OTYPE_PUSHPULL(PJ12) | \
1389
PIN_OTYPE_PUSHPULL(PJ13) | \
1390
PIN_OTYPE_PUSHPULL(PJ14) | \
1391
PIN_OTYPE_PUSHPULL(PJ15))
1392
1393
#define VAL_GPIOJ_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PJ00) | \
1394
PIN_OSPEED_SPEED_VERYLOW(PJ01) | \
1395
PIN_OSPEED_SPEED_VERYLOW(PJ02) | \
1396
PIN_OSPEED_SPEED_VERYLOW(PJ03) | \
1397
PIN_OSPEED_SPEED_VERYLOW(PJ04) | \
1398
PIN_OSPEED_SPEED_VERYLOW(PJ05) | \
1399
PIN_OSPEED_SPEED_VERYLOW(PJ06) | \
1400
PIN_OSPEED_SPEED_VERYLOW(PJ07) | \
1401
PIN_OSPEED_SPEED_VERYLOW(PJ08) | \
1402
PIN_OSPEED_SPEED_VERYLOW(PJ09) | \
1403
PIN_OSPEED_SPEED_VERYLOW(PJ10) | \
1404
PIN_OSPEED_SPEED_VERYLOW(PJ11) | \
1405
PIN_OSPEED_SPEED_VERYLOW(PJ12) | \
1406
PIN_OSPEED_SPEED_VERYLOW(PJ13) | \
1407
PIN_OSPEED_SPEED_VERYLOW(PJ14) | \
1408
PIN_OSPEED_SPEED_VERYLOW(PJ15))
1409
1410
#define VAL_GPIOJ_PUPDR (PIN_PUPDR_PULLDOWN(PJ00) | \
1411
PIN_PUPDR_PULLDOWN(PJ01) | \
1412
PIN_PUPDR_PULLDOWN(PJ02) | \
1413
PIN_PUPDR_PULLDOWN(PJ03) | \
1414
PIN_PUPDR_PULLDOWN(PJ04) | \
1415
PIN_PUPDR_PULLDOWN(PJ05) | \
1416
PIN_PUPDR_PULLDOWN(PJ06) | \
1417
PIN_PUPDR_PULLDOWN(PJ07) | \
1418
PIN_PUPDR_PULLDOWN(PJ08) | \
1419
PIN_PUPDR_PULLDOWN(PJ09) | \
1420
PIN_PUPDR_PULLDOWN(PJ10) | \
1421
PIN_PUPDR_PULLDOWN(PJ11) | \
1422
PIN_PUPDR_PULLDOWN(PJ12) | \
1423
PIN_PUPDR_PULLDOWN(PJ13) | \
1424
PIN_PUPDR_PULLDOWN(PJ14) | \
1425
PIN_PUPDR_PULLDOWN(PJ15))
1426
1427
#define VAL_GPIOJ_ODR (PIN_ODR_LEVEL_LOW(PJ00) | \
1428
PIN_ODR_LEVEL_LOW(PJ01) | \
1429
PIN_ODR_LEVEL_LOW(PJ02) | \
1430
PIN_ODR_LEVEL_LOW(PJ03) | \
1431
PIN_ODR_LEVEL_LOW(PJ04) | \
1432
PIN_ODR_LEVEL_LOW(PJ05) | \
1433
PIN_ODR_LEVEL_LOW(PJ06) | \
1434
PIN_ODR_LEVEL_LOW(PJ07) | \
1435
PIN_ODR_LEVEL_LOW(PJ08) | \
1436
PIN_ODR_LEVEL_LOW(PJ09) | \
1437
PIN_ODR_LEVEL_LOW(PJ10) | \
1438
PIN_ODR_LEVEL_LOW(PJ11) | \
1439
PIN_ODR_LEVEL_LOW(PJ12) | \
1440
PIN_ODR_LEVEL_LOW(PJ13) | \
1441
PIN_ODR_LEVEL_LOW(PJ14) | \
1442
PIN_ODR_LEVEL_LOW(PJ15))
1443
1444
#define VAL_GPIOJ_AFRL (PIN_AFIO_AF(PJ00, 0) | \
1445
PIN_AFIO_AF(PJ01, 0) | \
1446
PIN_AFIO_AF(PJ02, 0) | \
1447
PIN_AFIO_AF(PJ03, 0) | \
1448
PIN_AFIO_AF(PJ04, 0) | \
1449
PIN_AFIO_AF(PJ05, 0) | \
1450
PIN_AFIO_AF(PJ06, 0) | \
1451
PIN_AFIO_AF(PJ07, 0))
1452
1453
#define VAL_GPIOJ_AFRH (PIN_AFIO_AF(PJ08, 0) | \
1454
PIN_AFIO_AF(PJ09, 0) | \
1455
PIN_AFIO_AF(PJ10, 0) | \
1456
PIN_AFIO_AF(PJ11, 0) | \
1457
PIN_AFIO_AF(PJ12, 0) | \
1458
PIN_AFIO_AF(PJ13, 0) | \
1459
PIN_AFIO_AF(PJ14, 0) | \
1460
PIN_AFIO_AF(PJ15, 0))
1461
1462
#define VAL_GPIOK_MODER (PIN_MODE_INPUT(PK00) | \
1463
PIN_MODE_INPUT(PK01) | \
1464
PIN_MODE_INPUT(PK02) | \
1465
PIN_MODE_INPUT(PK03) | \
1466
PIN_MODE_INPUT(PK04) | \
1467
PIN_MODE_INPUT(PK05) | \
1468
PIN_MODE_INPUT(PK06) | \
1469
PIN_MODE_INPUT(PK07) | \
1470
PIN_MODE_INPUT(PK08) | \
1471
PIN_MODE_INPUT(PK09) | \
1472
PIN_MODE_INPUT(PK10) | \
1473
PIN_MODE_INPUT(PK11) | \
1474
PIN_MODE_INPUT(PK12) | \
1475
PIN_MODE_INPUT(PK13) | \
1476
PIN_MODE_INPUT(PK14) | \
1477
PIN_MODE_INPUT(PK15))
1478
1479
#define VAL_GPIOK_OTYPER (PIN_OTYPE_PUSHPULL(PK00) | \
1480
PIN_OTYPE_PUSHPULL(PK01) | \
1481
PIN_OTYPE_PUSHPULL(PK02) | \
1482
PIN_OTYPE_PUSHPULL(PK03) | \
1483
PIN_OTYPE_PUSHPULL(PK04) | \
1484
PIN_OTYPE_PUSHPULL(PK05) | \
1485
PIN_OTYPE_PUSHPULL(PK06) | \
1486
PIN_OTYPE_PUSHPULL(PK07) | \
1487
PIN_OTYPE_PUSHPULL(PK08) | \
1488
PIN_OTYPE_PUSHPULL(PK09) | \
1489
PIN_OTYPE_PUSHPULL(PK10) | \
1490
PIN_OTYPE_PUSHPULL(PK11) | \
1491
PIN_OTYPE_PUSHPULL(PK12) | \
1492
PIN_OTYPE_PUSHPULL(PK13) | \
1493
PIN_OTYPE_PUSHPULL(PK14) | \
1494
PIN_OTYPE_PUSHPULL(PK15))
1495
1496
#define VAL_GPIOK_OSPEEDR (PIN_OSPEED_SPEED_VERYLOW(PK00) | \
1497
PIN_OSPEED_SPEED_VERYLOW(PK01) | \
1498
PIN_OSPEED_SPEED_VERYLOW(PK02) | \
1499
PIN_OSPEED_SPEED_VERYLOW(PK03) | \
1500
PIN_OSPEED_SPEED_VERYLOW(PK04) | \
1501
PIN_OSPEED_SPEED_VERYLOW(PK05) | \
1502
PIN_OSPEED_SPEED_VERYLOW(PK06) | \
1503
PIN_OSPEED_SPEED_VERYLOW(PK07) | \
1504
PIN_OSPEED_SPEED_VERYLOW(PK08) | \
1505
PIN_OSPEED_SPEED_VERYLOW(PK09) | \
1506
PIN_OSPEED_SPEED_VERYLOW(PK10) | \
1507
PIN_OSPEED_SPEED_VERYLOW(PK11) | \
1508
PIN_OSPEED_SPEED_VERYLOW(PK12) | \
1509
PIN_OSPEED_SPEED_VERYLOW(PK13) | \
1510
PIN_OSPEED_SPEED_VERYLOW(PK14) | \
1511
PIN_OSPEED_SPEED_VERYLOW(PK15))
1512
1513
#define VAL_GPIOK_PUPDR (PIN_PUPDR_PULLDOWN(PK00) | \
1514
PIN_PUPDR_PULLDOWN(PK01) | \
1515
PIN_PUPDR_PULLDOWN(PK02) | \
1516
PIN_PUPDR_PULLDOWN(PK03) | \
1517
PIN_PUPDR_PULLDOWN(PK04) | \
1518
PIN_PUPDR_PULLDOWN(PK05) | \
1519
PIN_PUPDR_PULLDOWN(PK06) | \
1520
PIN_PUPDR_PULLDOWN(PK07) | \
1521
PIN_PUPDR_PULLDOWN(PK08) | \
1522
PIN_PUPDR_PULLDOWN(PK09) | \
1523
PIN_PUPDR_PULLDOWN(PK10) | \
1524
PIN_PUPDR_PULLDOWN(PK11) | \
1525
PIN_PUPDR_PULLDOWN(PK12) | \
1526
PIN_PUPDR_PULLDOWN(PK13) | \
1527
PIN_PUPDR_PULLDOWN(PK14) | \
1528
PIN_PUPDR_PULLDOWN(PK15))
1529
1530
#define VAL_GPIOK_ODR (PIN_ODR_LEVEL_LOW(PK00) | \
1531
PIN_ODR_LEVEL_LOW(PK01) | \
1532
PIN_ODR_LEVEL_LOW(PK02) | \
1533
PIN_ODR_LEVEL_LOW(PK03) | \
1534
PIN_ODR_LEVEL_LOW(PK04) | \
1535
PIN_ODR_LEVEL_LOW(PK05) | \
1536
PIN_ODR_LEVEL_LOW(PK06) | \
1537
PIN_ODR_LEVEL_LOW(PK07) | \
1538
PIN_ODR_LEVEL_LOW(PK08) | \
1539
PIN_ODR_LEVEL_LOW(PK09) | \
1540
PIN_ODR_LEVEL_LOW(PK10) | \
1541
PIN_ODR_LEVEL_LOW(PK11) | \
1542
PIN_ODR_LEVEL_LOW(PK12) | \
1543
PIN_ODR_LEVEL_LOW(PK13) | \
1544
PIN_ODR_LEVEL_LOW(PK14) | \
1545
PIN_ODR_LEVEL_LOW(PK15))
1546
1547
#define VAL_GPIOK_AFRL (PIN_AFIO_AF(PK00, 0) | \
1548
PIN_AFIO_AF(PK01, 0) | \
1549
PIN_AFIO_AF(PK02, 0) | \
1550
PIN_AFIO_AF(PK03, 0) | \
1551
PIN_AFIO_AF(PK04, 0) | \
1552
PIN_AFIO_AF(PK05, 0) | \
1553
PIN_AFIO_AF(PK06, 0) | \
1554
PIN_AFIO_AF(PK07, 0))
1555
1556
#define VAL_GPIOK_AFRH (PIN_AFIO_AF(PK08, 0) | \
1557
PIN_AFIO_AF(PK09, 0) | \
1558
PIN_AFIO_AF(PK10, 0) | \
1559
PIN_AFIO_AF(PK11, 0) | \
1560
PIN_AFIO_AF(PK12, 0) | \
1561
PIN_AFIO_AF(PK13, 0) | \
1562
PIN_AFIO_AF(PK14, 0) | \
1563
PIN_AFIO_AF(PK15, 0))
1564
1565
#define AF_PA06_SPI1_MISO 5U
1566
#define AF_LINE_SPI1_MISO 5U
1567
#define AF_PA08_CAN3_RX 11U
1568
#define AF_LINE_CAN3_RX 11U
1569
#define AF_PA10_SERVO2 1U
1570
#define AF_LINE_SERVO2 1U
1571
#define AF_PA11_USB_DM 10U
1572
#define AF_LINE_USB_DM 10U
1573
#define AF_PA12_USB_DP 10U
1574
#define AF_LINE_USB_DP 10U
1575
#define AF_PA13_SWDIO 0U
1576
#define AF_LINE_SWDIO 0U
1577
#define AF_PA14_SWCLK 0U
1578
#define AF_LINE_SWCLK 0U
1579
#define AF_PA15_CAN3_TX 11U
1580
#define AF_LINE_CAN3_TX 11U
1581
#define AF_PB05_SPI6_MOSI 8U
1582
#define AF_LINE_SPI6_MOSI 8U
1583
#define AF_PB06_USART1_TX 7U
1584
#define AF_LINE_USART1_TX 7U
1585
#define AF_PB07_USART1_RX 7U
1586
#define AF_LINE_USART1_RX 7U
1587
#define AF_PB08_I2C1_SCL 4U
1588
#define AF_LINE_I2C1_SCL 4U
1589
#define AF_PB09_I2C1_SDA 4U
1590
#define AF_LINE_I2C1_SDA 4U
1591
#define AF_PB12_CAN2_RX 9U
1592
#define AF_LINE_CAN2_RX 9U
1593
#define AF_PB13_CAN2_TX 9U
1594
#define AF_LINE_CAN2_TX 9U
1595
#define AF_PC08_SDIO_D0 12U
1596
#define AF_LINE_SDIO_D0 12U
1597
#define AF_PC09_SDIO_D1 12U
1598
#define AF_LINE_SDIO_D1 12U
1599
#define AF_PC10_SDIO_D2 12U
1600
#define AF_LINE_SDIO_D2 12U
1601
#define AF_PC11_SDIO_D3 12U
1602
#define AF_LINE_SDIO_D3 12U
1603
#define AF_PC12_SDIO_CK 12U
1604
#define AF_LINE_SDIO_CK 12U
1605
#define AF_PC14_OSC32_IN 0U
1606
#define AF_LINE_OSC32_IN 0U
1607
#define AF_PC15_OSC32_OUT 0U
1608
#define AF_LINE_OSC32_OUT 0U
1609
#define AF_PD00_UART4_RX 8U
1610
#define AF_LINE_UART4_RX 8U
1611
#define AF_PD01_UART4_TX 8U
1612
#define AF_LINE_UART4_TX 8U
1613
#define AF_PD02_SDIO_CMD 12U
1614
#define AF_LINE_SDIO_CMD 12U
1615
#define AF_PD05_UART2_TX 7U
1616
#define AF_LINE_UART2_TX 7U
1617
#define AF_PD06_UART2_RX 7U
1618
#define AF_LINE_UART2_RX 7U
1619
#define AF_PD07_SPI1_MOSI 5U
1620
#define AF_LINE_SPI1_MOSI 5U
1621
#define AF_PD08_UART3_TX 7U
1622
#define AF_LINE_UART3_TX 7U
1623
#define AF_PD09_UART3_RX 7U
1624
#define AF_LINE_UART3_RX 7U
1625
#define AF_PD13_SERVO5 2U
1626
#define AF_LINE_SERVO5 2U
1627
#define AF_PD14_SERVO6 2U
1628
#define AF_LINE_SERVO6 2U
1629
#define AF_PE00_UART8_RX 8U
1630
#define AF_LINE_UART8_RX 8U
1631
#define AF_PE01_UART8_TX 8U
1632
#define AF_LINE_UART8_TX 8U
1633
#define AF_PE02_SPI4_SCK 5U
1634
#define AF_LINE_SPI4_SCK 5U
1635
#define AF_PE06_SPI4_MOSI 5U
1636
#define AF_LINE_SPI4_MOSI 5U
1637
#define AF_PE08_UART7_TX 8U
1638
#define AF_LINE_UART7_TX 8U
1639
#define AF_PE09_SERVO4 1U
1640
#define AF_LINE_SERVO4 1U
1641
#define AF_PE11_SERVO3 1U
1642
#define AF_LINE_SERVO3 1U
1643
#define AF_PE13_SPI4_MISO 5U
1644
#define AF_LINE_SPI4_MISO 5U
1645
#define AF_PE14_SERVO1 1U
1646
#define AF_LINE_SERVO1 1U
1647
#define AF_PF00_I2C2_SDA 4U
1648
#define AF_LINE_I2C2_SDA 4U
1649
#define AF_PF01_I2C2_SCL 4U
1650
#define AF_LINE_I2C2_SCL 4U
1651
#define AF_PF06_UART7_RX 8U
1652
#define AF_LINE_UART7_RX 8U
1653
#define AF_PF07_SPI5_SCK 5U
1654
#define AF_LINE_SPI5_SCK 5U
1655
#define AF_PF08_SPI5_MISO 5U
1656
#define AF_LINE_SPI5_MISO 5U
1657
#define AF_PF09_SPI5_MOSI 5U
1658
#define AF_LINE_SPI5_MOSI 5U
1659
#define AF_PF14_I2C4_SCL 4U
1660
#define AF_LINE_I2C4_SCL 4U
1661
#define AF_PF15_I2C4_SDA 4U
1662
#define AF_LINE_I2C4_SDA 4U
1663
#define AF_PG09_USART6_RX 8U
1664
#define AF_LINE_USART6_RX 8U
1665
#define AF_PG11_SPI1_SCK 5U
1666
#define AF_LINE_SPI1_SCK 5U
1667
#define AF_PG12_SPI6_MISO 5U
1668
#define AF_LINE_SPI6_MISO 5U
1669
#define AF_PG13_SPI6_SCK 5U
1670
#define AF_LINE_SPI6_SCK 5U
1671
#define AF_PG14_USART6_TX 8U
1672
#define AF_LINE_USART6_TX 8U
1673
#define AF_PH00_OSC_IN 0U
1674
#define AF_LINE_OSC_IN 0U
1675
#define AF_PH01_OSC_OUT 0U
1676
#define AF_LINE_OSC_OUT 0U
1677
#define AF_PH06_SERVO7 9U
1678
#define AF_LINE_SERVO7 9U
1679
#define AF_PH07_I2C3_SCL 4U
1680
#define AF_LINE_I2C3_SCL 4U
1681
#define AF_PH08_I2C3_SDA 4U
1682
#define AF_LINE_I2C3_SDA 4U
1683
#define AF_PH09_SERVO8 9U
1684
#define AF_LINE_SERVO8 9U
1685
#define AF_PH13_CAN1_TX 9U
1686
#define AF_LINE_CAN1_TX 9U
1687
#define AF_PI01_SPI2_SCK 5U
1688
#define AF_LINE_SPI2_SCK 5U
1689
#define AF_PI02_SPI2_MISO 5U
1690
#define AF_LINE_SPI2_MISO 5U
1691
#define AF_PI03_SPI2_MOSI 5U
1692
#define AF_LINE_SPI2_MOSI 5U
1693
#define AF_PI05_PWM_INPUT1 3U
1694
#define AF_LINE_PWM_INPUT1 3U
1695
#define AF_PI09_CAN1_RX 9U
1696
#define AF_LINE_CAN1_RX 9U
1697
1698
1699
#define ADC1_ADC 1
1700
#define ADC1_ADC_FN IN
1701
#define ADC1_ADC_IN 0
1702
#define ADC2_ADC 1
1703
#define ADC2_ADC_FN IN
1704
#define ADC2_ADC_IN 1
1705
#define ADC3_ADC 1
1706
#define ADC3_ADC_FN IN
1707
#define ADC3_ADC_IN 2
1708
#define ADC4_ADC 1
1709
#define ADC4_ADC_FN IN
1710
#define ADC4_ADC_IN 3
1711
#define ADC5_ADC 1
1712
#define ADC5_ADC_FN IN
1713
#define ADC5_ADC_IN 4
1714
#define SERVO2_TIM 1
1715
#define SERVO2_TIM_FN CH
1716
#define SERVO2_TIM_CH 3
1717
#define SERVO2_TIM_AF 1
1718
#define RSSI_IN_ADC 1
1719
#define RSSI_IN_ADC_FN IN
1720
#define RSSI_IN_ADC_IN 8
1721
#define SCALED_V5_ADC 1
1722
#define SCALED_V5_ADC_FN IN
1723
#define SCALED_V5_ADC_IN 10
1724
#define SCALED_3V3_SENSORS_ADC 1
1725
#define SCALED_3V3_SENSORS_ADC_FN IN
1726
#define SCALED_3V3_SENSORS_ADC_IN 11
1727
#define HW_VER_SENSE_ADC 1
1728
#define HW_VER_SENSE_ADC_FN IN
1729
#define HW_VER_SENSE_ADC_IN 12
1730
#define HW_REV_SENSE_ADC 1
1731
#define HW_REV_SENSE_ADC_FN IN
1732
#define HW_REV_SENSE_ADC_IN 13
1733
#define ADC6_ADC 1
1734
#define ADC6_ADC_FN IN
1735
#define ADC6_ADC_IN 14
1736
#define SERVO5_TIM 4
1737
#define SERVO5_TIM_FN CH
1738
#define SERVO5_TIM_CH 2
1739
#define SERVO5_TIM_AF 2
1740
#define SERVO6_TIM 4
1741
#define SERVO6_TIM_FN CH
1742
#define SERVO6_TIM_CH 3
1743
#define SERVO6_TIM_AF 2
1744
#define SERVO4_TIM 1
1745
#define SERVO4_TIM_FN CH
1746
#define SERVO4_TIM_CH 1
1747
#define SERVO4_TIM_AF 1
1748
#define SERVO3_TIM 1
1749
#define SERVO3_TIM_FN CH
1750
#define SERVO3_TIM_CH 2
1751
#define SERVO3_TIM_AF 1
1752
#define SERVO1_TIM 1
1753
#define SERVO1_TIM_FN CH
1754
#define SERVO1_TIM_CH 4
1755
#define SERVO1_TIM_AF 1
1756
#define SERVO7_TIM 12
1757
#define SERVO7_TIM_FN CH
1758
#define SERVO7_TIM_CH 1
1759
#define SERVO7_TIM_AF 9
1760
#define SERVO8_TIM 12
1761
#define SERVO8_TIM_FN CH
1762
#define SERVO8_TIM_CH 2
1763
#define SERVO8_TIM_AF 9
1764
#define PWM_INPUT1_TIM 8
1765
#define PWM_INPUT1_TIM_FN CH
1766
#define PWM_INPUT1_TIM_CH 1
1767
#define PWM_INPUT1_TIM_AF 3
1768
1769
#define BOARD_GROUP_DECLFOREACH(line, group) \
1770
static const ioline_t group ## _ARRAY[] = {group}; \
1771
for (ioline_t i=0, line = group ## _ARRAY[i]; (i < group ## _SIZE) && (line = group ## _ARRAY[i]); i++)
1772
1773
#define BOARD_GROUP_FOREACH(line, group) \
1774
for (ioline_t i=0, line = group ## _ARRAY[i]; (i < group ## _SIZE) && (line = group ## _ARRAY[i]); i++)
1775
1776
1777
#define BOARD_GROUP_DECLFOR(array, index, group) \
1778
static const ioline_t group ## _ARRAY[] = {group}; \
1779
for (ioline_t index=0, *array = (ioline_t *) group ## _ARRAY; index < group ## _SIZE; index++)
1780
1781
#define BOARD_GROUP_FOR(array, index, group) \
1782
for (ioline_t index=0, *array = (ioline_t *) group ## _ARRAY; index < group ## _SIZE; index++)
1783
1784
#define ENERGY_SAVE_INPUTS \
1785
LINE_SERVO2, \
1786
LINE_LED1, \
1787
LINE_LED2, \
1788
LINE_LED3, \
1789
LINE_SERVO5, \
1790
LINE_SERVO6, \
1791
LINE_SERVO4, \
1792
LINE_SERVO3, \
1793
LINE_LED4, \
1794
LINE_SERVO1, \
1795
LINE_SPI_SLAVE0, \
1796
LINE_SPI_SLAVE1, \
1797
LINE_SPI_SLAVE2, \
1798
LINE_SPI_SLAVE3, \
1799
LINE_SPI_SLAVE4, \
1800
LINE_SPI_SLAVE5, \
1801
LINE_SPI_SLAVE6, \
1802
LINE_SPI_SLAVE7, \
1803
LINE_SERVO7, \
1804
LINE_SERVO8, \
1805
LINE_LED5, \
1806
LINE_LED6, \
1807
LINE_LED7, \
1808
LINE_SPI_SLAVE8, \
1809
LINE_SPI_SLAVE9, \
1810
LINE_SPI_SLAVE10, \
1811
LINE_SPI_SLAVE11, \
1812
LINE_SPI_SLAVE12, \
1813
LINE_SPI_SLAVE13
1814
#define ENERGY_SAVE_INPUTS_SIZE 29
1815
1816
#define ENERGY_SAVE_LOWS \
1817
LINE_V3V3_SENSORS_EN, \
1818
LINE_V3V3_SPEKTRUM_EN, \
1819
LINE_V5V_HIPOWER_EN, \
1820
LINE_V5V_PERIPH_EN, \
1821
LINE_V5V_RC_EN, \
1822
LINE_V5V_WIFI_EN
1823
#define ENERGY_SAVE_LOWS_SIZE 6
1824
1825
#if !defined(_FROM_ASM_)
1826
#ifdef __cplusplus
1827
extern
"C"
{
1828
#endif
1829
void
boardInit
(
void
);
1830
#ifdef __cplusplus
1831
}
1832
#endif
1833
#endif
/* _FROM_ASM_ */
1834
boardInit
void boardInit(void)
Board-specific initialization code.
Definition:
board.c:312
sw
airborne
boards
px4fmu
chibios
v5.0
board.h
Generated on Mon Feb 6 2023 21:00:23 for Paparazzi UAS by
1.9.1