Paparazzi UAS
v5.15_devel-230-gc96ce27
Paparazzi is a free software Unmanned Aircraft System.
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
px4fmu.h
Go to the documentation of this file.
1
#ifndef CONFIG_PX4FMU_5_00_H
2
#define CONFIG_PX4FMU_5_00_H
3
4
#define BOARD_PX4FMU
5
9
#include "
boards/px4fmu/chibios/v5.0/board.h
"
10
15
/*
16
* AHB_CLK
17
*/
18
#define AHB_CLK STM32_HCLK
19
20
/*
21
* LEDs
22
*/
23
#if defined(LINE_LED1)
24
#ifndef USE_LED_1
25
#define USE_LED_1 1
26
#endif
27
#define LED_1_GPIO PAL_PORT(LINE_LED1)
28
#define LED_1_GPIO_PIN PAL_PAD(LINE_LED1)
29
#define LED_1_GPIO_ON gpio_clear
30
#define LED_1_GPIO_OFF gpio_set
31
#define LED_1_AFIO_REMAP ((void)0)
32
#endif
33
34
#if defined(LINE_LED2)
35
#ifndef USE_LED_2
36
#define USE_LED_2 1
37
#endif
38
#define LED_2_GPIO PAL_PORT(LINE_LED2)
39
#define LED_2_GPIO_PIN PAL_PAD(LINE_LED2)
40
#define LED_2_GPIO_ON gpio_clear
41
#define LED_2_GPIO_OFF gpio_set
42
#define LED_2_AFIO_REMAP ((void)0)
43
#endif
44
45
#if defined(LINE_LED3)
46
#ifndef USE_LED_3
47
#define USE_LED_3 1
48
#endif
49
#define LED_3_GPIO PAL_PORT(LINE_LED3)
50
#define LED_3_GPIO_PIN PAL_PAD(LINE_LED3)
51
#define LED_3_GPIO_ON gpio_clear
52
#define LED_3_GPIO_OFF gpio_set
53
#define LED_3_AFIO_REMAP ((void)0)
54
#endif
55
56
#if defined(LINE_LED4)
57
#ifndef USE_LED_4
58
#define USE_LED_4 1
59
#endif
60
#define LED_4_GPIO PAL_PORT(LINE_LED4)
61
#define LED_4_GPIO_PIN PAL_PAD(LINE_LED4)
62
#define LED_4_GPIO_ON gpio_clear
63
#define LED_4_GPIO_OFF gpio_set
64
#define LED_4_AFIO_REMAP ((void)0)
65
#endif
66
67
/*
68
* ADCs
69
*/
70
#if defined(LINE_ADC1)
71
#ifndef USE_ADC_1
72
#define USE_ADC_1 1
73
#endif
74
#if USE_ADC_1
75
#define AD1_1_CHANNEL ADC_CHANNEL_IN0
76
#define ADC_1 AD1_1
77
#define ADC_1_GPIO_PORT PAL_PORT(LINE_ADC1)
78
#define ADC_1_GPIO_PIN PAL_PAD(LINE_ADC1)
79
#endif
80
#endif
81
82
#if defined(LINE_ADC2)
83
#ifndef USE_ADC_2
84
#define USE_ADC_2 1
85
#endif
86
#if USE_ADC_2
87
#define AD1_2_CHANNEL ADC_CHANNEL_IN1
88
#define ADC_2 AD1_2
89
#define ADC_2_GPIO_PORT PAL_PORT(LINE_ADC2)
90
#define ADC_2_GPIO_PIN PAL_PAD(LINE_ADC2)
91
#endif
92
#endif
93
94
#if defined(LINE_ADC3)
95
#ifndef USE_ADC_3
96
#define USE_ADC_3 1
97
#endif
98
#if USE_ADC_3
99
#define AD1_3_CHANNEL ADC_CHANNEL_IN2
100
#define ADC_3 AD1_3
101
#define ADC_3_GPIO_PORT PAL_PORT(LINE_ADC3)
102
#define ADC_3_GPIO_PIN PAL_PAD(LINE_ADC3)
103
#endif
104
#endif
105
106
#if defined(LINE_ADC4)
107
#ifndef USE_ADC_4
108
#define USE_ADC_4 1
109
#endif
110
#if USE_ADC_4
111
#define AD1_4_CHANNEL ADC_CHANNEL_IN3
112
#define ADC_4 AD1_4
113
#define ADC_4_GPIO_PORT PAL_PORT(LINE_ADC4)
114
#define ADC_4_GPIO_PIN PAL_PAD(LINE_ADC4)
115
#endif
116
#endif
117
118
/* allow to define ADC_CHANNEL_VSUPPLY in the airframe file*/
119
#ifndef ADC_CHANNEL_VSUPPLY
120
#define ADC_CHANNEL_VSUPPLY ADC_1
121
#endif
122
123
/* allow to define ADC_CHANNEL_CURRENT in the airframe file*/
124
#if !defined(ADC_CHANNEL_CURRENT) && !ADC_CURRENT_DISABLE
125
#define ADC_CHANNEL_CURRENT ADC_2
126
#endif
127
128
/* Default powerbrick values */
129
#define DefaultVoltageOfAdc(adc) ((3.3f/4096.0f) * 10.3208191126f * adc)
130
#define MilliAmpereOfAdc(adc) ((3.3f/4096.0f) * 24000.0f * adc)
131
132
/*
133
* PWM defines (TODO DRIVER and CHANNEL)
134
*/
135
#if defined(LINE_SERVO1)
136
#ifndef USE_PWM1
137
#define USE_PWM1 1
138
#endif
139
#if USE_PWM1
140
#define PWM_SERVO_1 0
141
#define PWM_SERVO_1_GPIO PAL_PORT(LINE_SERVO1)
142
#define PWM_SERVO_1_PIN PAL_PAD(LINE_SERVO1)
143
#define PWM_SERVO_1_AF AF_LINE_SERVO1
144
#define PWM_SERVO_1_DRIVER PWMD1
145
#define PWM_SERVO_1_CHANNEL 4-1
146
#define PWM_SERVO_1_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
147
#else
148
#define PWM_SERVO_1_ACTIVE PWM_OUTPUT_DISABLED
149
#endif
150
#endif
151
152
#if defined(LINE_SERVO2)
153
#ifndef USE_PWM2
154
#define USE_PWM2 1
155
#endif
156
#if USE_PWM2
157
#define PWM_SERVO_2 1
158
#define PWM_SERVO_2_GPIO PAL_PORT(LINE_SERVO2)
159
#define PWM_SERVO_2_PIN PAL_PAD(LINE_SERVO2)
160
#define PWM_SERVO_2_AF AF_LINE_SERVO2
161
#define PWM_SERVO_2_DRIVER PWMD1
162
#define PWM_SERVO_2_CHANNEL 3-1
163
#define PWM_SERVO_2_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
164
#else
165
#define PWM_SERVO_2_ACTIVE PWM_OUTPUT_DISABLED
166
#endif
167
#endif
168
169
#if defined(LINE_SERVO3)
170
#ifndef USE_PWM3
171
#define USE_PWM3 1
172
#endif
173
#if USE_PWM3
174
#define PWM_SERVO_3 2
175
#define PWM_SERVO_3_GPIO PAL_PORT(LINE_SERVO3)
176
#define PWM_SERVO_3_PIN PAL_PAD(LINE_SERVO3)
177
#define PWM_SERVO_3_AF AF_LINE_SERVO3
178
#define PWM_SERVO_3_DRIVER PWMD1
179
#define PWM_SERVO_3_CHANNEL 2-1
180
#define PWM_SERVO_3_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
181
#else
182
#define PWM_SERVO_3_ACTIVE PWM_OUTPUT_DISABLED
183
#endif
184
#endif
185
186
#if defined(LINE_SERVO4)
187
#ifndef USE_PWM4
188
#define USE_PWM4 1
189
#endif
190
#if USE_PWM4
191
#define PWM_SERVO_4 3
192
#define PWM_SERVO_4_GPIO PAL_PORT(LINE_SERVO4)
193
#define PWM_SERVO_4_PIN PAL_PAD(LINE_SERVO4)
194
#define PWM_SERVO_4_AF AF_LINE_SERVO4
195
#define PWM_SERVO_4_DRIVER PWMD1
196
#define PWM_SERVO_4_CHANNEL 1-1
197
#define PWM_SERVO_4_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
198
#else
199
#define PWM_SERVO_4_ACTIVE PWM_OUTPUT_DISABLED
200
#endif
201
#endif
202
203
#if defined(LINE_SERVO5)
204
#ifndef USE_PWM5
205
#define USE_PWM5 1
206
#endif
207
#if USE_PWM5
208
#define PWM_SERVO_5 4
209
#define PWM_SERVO_5_GPIO PAL_PORT(LINE_SERVO5)
210
#define PWM_SERVO_5_PIN PAL_PAD(LINE_SERVO5)
211
#define PWM_SERVO_5_AF AF_LINE_SERVO5
212
#define PWM_SERVO_5_DRIVER PWMD4
213
#define PWM_SERVO_5_CHANNEL 2-1
214
#define PWM_SERVO_5_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
215
#else
216
#define PWM_SERVO_5_ACTIVE PWM_OUTPUT_DISABLED
217
#endif
218
#endif
219
220
#if defined(LINE_SERVO6)
221
#ifndef USE_PWM6
222
#define USE_PWM6 1
223
#endif
224
#if USE_PWM6
225
#define PWM_SERVO_6 5
226
#define PWM_SERVO_6_GPIO PAL_PORT(LINE_SERVO6)
227
#define PWM_SERVO_6_PIN PAL_PAD(LINE_SERVO6)
228
#define PWM_SERVO_6_AF AF_LINE_SERVO6
229
#define PWM_SERVO_6_DRIVER PWMD4
230
#define PWM_SERVO_6_CHANNEL 3
231
#define PWM_SERVO_6_ACTIVE PWM_OUTPUT_ACTIVE_HIGH
232
#else
233
#define PWM_SERVO_6_ACTIVE PWM_OUTPUT_DISABLED
234
#endif
235
#endif
236
237
238
#ifdef STM32_PWM_USE_TIM1
239
#define PWM_CONF_TIM1 STM32_PWM_USE_TIM1
240
#else
241
#define PWM_CONF_TIM1 1
242
#endif
243
#define PWM_CONF1_DEF { \
244
PWM_FREQUENCY, \
245
PWM_FREQUENCY/TIM1_SERVO_HZ, \
246
NULL, \
247
{ \
248
{ PWM_SERVO_4_ACTIVE, NULL }, \
249
{ PWM_SERVO_3_ACTIVE, NULL }, \
250
{ PWM_SERVO_2_ACTIVE, NULL }, \
251
{ PWM_SERVO_1_ACTIVE, NULL }, \
252
}, \
253
0, \
254
0 \
255
}
256
257
#ifdef STM32_PWM_USE_TIM4
258
#define PWM_CONF_TIM4 STM32_PWM_USE_TIM4
259
#else
260
#define PWM_CONF_TIM4 1
261
#endif
262
#define PWM_CONF4_DEF { \
263
PWM_FREQUENCY, \
264
PWM_FREQUENCY/TIM4_SERVO_HZ, \
265
NULL, \
266
{ \
267
{ PWM_OUTPUT_DISABLED, NULL }, \
268
{ PWM_SERVO_5_ACTIVE, NULL }, \
269
{ PWM_SERVO_6_ACTIVE, NULL }, \
270
{ PWM_OUTPUT_DISABLED, NULL }, \
271
}, \
272
0, \
273
0 \
274
}
275
279
#if defined(LINE_UART1_TX)
280
#define UART1_GPIO_PORT_TX PAL_PORT(LINE_UART1_TX)
281
#define UART1_GPIO_TX PAL_PAD(LINE_UART1_TX)
282
#endif
283
#if defined(LINE_UART1_RX)
284
#define UART1_GPIO_PORT_RX PAL_PORT(LINE_UART1_RX)
285
#define UART1_GPIO_RX PAL_PAD(LINE_UART1_RX)
286
#endif
287
#if defined(AF_LINE_UART1_TX)
288
#define UART1_GPIO_AF AF_LINE_UART1_TX
289
#elif defined(AF_LINE_UART1_RX)
290
#define UART1_GPIO_AF AF_LINE_UART1_RX
291
#else
292
#define UART1_GPIO_AF ((void)0)
293
#endif
294
295
#if defined(LINE_UART2_TX)
296
#define UART2_GPIO_PORT_TX PAL_PORT(LINE_UART2_TX)
297
#define UART2_GPIO_TX PAL_PAD(LINE_UART2_TX)
298
#endif
299
#if defined(LINE_UART2_RX)
300
#define UART2_GPIO_PORT_RX PAL_PORT(LINE_UART2_RX)
301
#define UART2_GPIO_RX PAL_PAD(LINE_UART2_RX)
302
#endif
303
#if defined(AF_LINE_UART2_TX)
304
#define UART2_GPIO_AF AF_LINE_UART2_TX
305
#elif defined(AF_LINE_UART2_RX)
306
#define UART2_GPIO_AF AF_LINE_UART2_RX
307
#else
308
#define UART2_GPIO_AF ((void)0)
309
#endif
310
311
#if defined(LINE_UART3_TX)
312
#define UART3_GPIO_PORT_TX PAL_PORT(LINE_UART3_TX)
313
#define UART3_GPIO_TX PAL_PAD(LINE_UART3_TX)
314
#endif
315
#if defined(LINE_UART3_RX)
316
#define UART3_GPIO_PORT_RX PAL_PORT(LINE_UART3_RX)
317
#define UART3_GPIO_RX PAL_PAD(LINE_UART3_RX)
318
#endif
319
#if defined(AF_LINE_UART3_TX)
320
#define UART3_GPIO_AF AF_LINE_UART3_TX
321
#elif defined(AF_LINE_UART3_RX)
322
#define UART3_GPIO_AF AF_LINE_UART3_RX
323
#else
324
#define UART3_GPIO_AF ((void)0)
325
#endif
326
327
#if defined(LINE_UART4_TX)
328
#define UART4_GPIO_PORT_TX PAL_PORT(LINE_UART4_TX)
329
#define UART4_GPIO_TX PAL_PAD(LINE_UART4_TX)
330
#endif
331
#if defined(LINE_UART4_RX)
332
#define UART4_GPIO_PORT_RX PAL_PORT(LINE_UART4_RX)
333
#define UART4_GPIO_RX PAL_PAD(LINE_UART4_RX)
334
#endif
335
#if defined(AF_LINE_UART4_TX)
336
#define UART4_GPIO_AF AF_LINE_UART4_TX
337
#elif defined(AF_LINE_UART4_RX)
338
#define UART4_GPIO_AF AF_LINE_UART4_RX
339
#else
340
#define UART4_GPIO_AF ((void)0)
341
#endif
342
343
#if defined(LINE_UART5_TX)
344
#define UART5_GPIO_PORT_TX PAL_PORT(LINE_UART5_TX)
345
#define UART5_GPIO_TX PAL_PAD(LINE_UART5_TX)
346
#endif
347
#if defined(LINE_UART5_RX)
348
#define UART5_GPIO_PORT_RX PAL_PORT(LINE_UART5_RX)
349
#define UART5_GPIO_RX PAL_PAD(LINE_UART5_RX)
350
#endif
351
#if defined(AF_LINE_UART5_TX)
352
#define UART5_GPIO_AF AF_LINE_UART5_TX
353
#elif defined(AF_LINE_UART5_RX)
354
#define UART5_GPIO_AF AF_LINE_UART5_RX
355
#else
356
#define UART5_GPIO_AF ((void)0)
357
#endif
358
359
#if defined(LINE_UART6_TX)
360
#define UART6_GPIO_PORT_TX PAL_PORT(LINE_UART6_TX)
361
#define UART6_GPIO_TX PAL_PAD(LINE_UART6_TX)
362
#endif
363
#if defined(LINE_UART6_RX)
364
#define UART6_GPIO_PORT_RX PAL_PORT(LINE_UART6_RX)
365
#define UART6_GPIO_RX PAL_PAD(LINE_UART6_RX)
366
#endif
367
#if defined(AF_LINE_UART6_TX)
368
#define UART6_GPIO_AF AF_LINE_UART6_TX
369
#elif defined(AF_LINE_UART6_RX)
370
#define UART6_GPIO_AF AF_LINE_UART6_RX
371
#else
372
#define UART6_GPIO_AF ((void)0)
373
#endif
374
375
#if defined(LINE_UART7_TX)
376
#define UART7_GPIO_PORT_TX PAL_PORT(LINE_UART7_TX)
377
#define UART7_GPIO_TX PAL_PAD(LINE_UART7_TX)
378
#endif
379
#if defined(LINE_UART7_RX)
380
#define UART7_GPIO_PORT_RX PAL_PORT(LINE_UART7_RX)
381
#define UART7_GPIO_RX PAL_PAD(LINE_UART7_RX)
382
#endif
383
#if defined(AF_LINE_UART7_TX)
384
#define UART7_GPIO_AF AF_LINE_UART7_TX
385
#elif defined(AF_LINE_UART7_RX)
386
#define UART7_GPIO_AF AF_LINE_UART7_RX
387
#else
388
#define UART7_GPIO_AF ((void)0)
389
#endif
390
391
#if defined(LINE_UART8_TX)
392
#define UART8_GPIO_PORT_TX PAL_PORT(LINE_UART8_TX)
393
#define UART8_GPIO_TX PAL_PAD(LINE_UART8_TX)
394
#endif
395
#if defined(LINE_UART8_RX)
396
#define UART8_GPIO_PORT_RX PAL_PORT(LINE_UART8_RX)
397
#define UART8_GPIO_RX PAL_PAD(LINE_UART8_RX)
398
#endif
399
#if defined(AF_LINE_UART8_TX)
400
#define UART8_GPIO_AF AF_LINE_UART8_TX
401
#elif defined(AF_LINE_UART8_RX)
402
#define UART8_GPIO_AF AF_LINE_UART8_RX
403
#else
404
#define UART8_GPIO_AF ((void)0)
405
#endif
406
413
// Digital noise filter: 0 disabled, [0x1 - 0xF] enable up to n t_I2CCLK
414
#define STM32_CR1_DNF(n) ((n & 0x0f) << 8)
415
// Timing register
416
#define I2C_FAST_400KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR (STM32_TIMINGR_PRESC(0U) | \
417
STM32_TIMINGR_SCLDEL(10U) | STM32_TIMINGR_SDADEL(0U) | \
418
STM32_TIMINGR_SCLH(34U) | STM32_TIMINGR_SCLL(86U))
419
#define I2C_STD_100KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR (STM32_TIMINGR_PRESC(1U) | \
420
STM32_TIMINGR_SCLDEL(9U) | STM32_TIMINGR_SDADEL(0U) | \
421
STM32_TIMINGR_SCLH(105U) | STM32_TIMINGR_SCLL(153U))
422
423
424
#ifndef I2C1_CLOCK_SPEED
425
#define I2C1_CLOCK_SPEED 400000
426
#endif
427
428
#if I2C1_CLOCK_SPEED == 400000
429
#define I2C1_CFG_DEF { \
430
.timingr = I2C_FAST_400KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR, \
431
.cr1 = STM32_CR1_DNF(0), \
432
.cr2 = 0 \
433
}
434
#elif I2C1_CLOCK_SPEED == 100000
435
#define I2C1_CFG_DEF { \
436
.timingr = I2C_STD_100KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR, \
437
.cr1 = STM32_CR1_DNF(0), \
438
.cr2 = 0 \
439
}
440
#else
441
#error "Unknown I2C1 clock speed"
442
#endif
443
444
445
#ifndef I2C2_CLOCK_SPEED
446
#define I2C2_CLOCK_SPEED 400000
447
#endif
448
449
#if I2C2_CLOCK_SPEED == 400000
450
#define I2C2_CFG_DEF { \
451
.timingr = I2C_FAST_400KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR, \
452
.cr1 = STM32_CR1_DNF(0), \
453
.cr2 = 0 \
454
}
455
#elif I2C2_CLOCK_SPEED == 100000
456
#define I2C2_CFG_DEF { \
457
.timingr = I2C_STD_100KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR, \
458
.cr1 = STM32_CR1_DNF(0), \
459
.cr2 = 0 \
460
}
461
#else
462
#error "Unknown I2C2 clock speed"
463
#endif
464
465
#ifndef I2C3_CLOCK_SPEED
466
#define I2C3_CLOCK_SPEED 400000
467
#endif
468
469
#if I2C3_CLOCK_SPEED == 400000
470
#define I2C3_CFG_DEF { \
471
.timingr = I2C_FAST_400KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR, \
472
.cr1 = STM32_CR1_DNF(0), \
473
.cr2 = 0 \
474
}
475
#elif I2C3_CLOCK_SPEED == 100000
476
#define I2C3_CFG_DEF { \
477
.timingr = I2C_STD_100KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR, \
478
.cr1 = STM32_CR1_DNF(0), \
479
.cr2 = 0 \
480
}
481
#else
482
#error "Unknown I2C3 clock speed"
483
#endif
484
485
#ifndef I2C4_CLOCK_SPEED
486
#define I2C4_CLOCK_SPEED 400000
487
#endif
488
489
#if I2C4_CLOCK_SPEED == 400000
490
#define I2C4_CFG_DEF { \
491
.timingr = I2C_FAST_400KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR, \
492
.cr1 = STM32_CR1_DNF(0), \
493
.cr2 = 0 \
494
}
495
#elif I2C4_CLOCK_SPEED == 100000
496
#define I2C4_CFG_DEF { \
497
.timingr = I2C_STD_100KHZ_DNF0_100NS_PCLK54MHZ_TIMINGR, \
498
.cr1 = STM32_CR1_DNF(0), \
499
.cr2 = 0 \
500
}
501
#else
502
#error "Unknown I2C4 clock speed"
503
#endif
504
508
#if defined(LINE_SPI1_MISO) && defined(LINE_SPI1_MOSI) && defined(LINE_SPI1_SCK)
509
#define SPI1_GPIO_PORT_MISO PAL_PORT(LINE_SPI1_MISO)
510
#define SPI1_GPIO_MISO PAL_PAD(LINE_SPI1_MISO)
511
#define SPI1_GPIO_PORT_MOSI PAL_PORT(LINE_SPI1_MOSI)
512
#define SPI1_GPIO_MOSI PAL_PAD(LINE_SPI1_MOSI)
513
#define SPI1_GPIO_PORT_SCK PAL_PORT(LINE_SPI1_SCK)
514
#define SPI1_GPIO_SCK PAL_PAD(LINE_SPI1_SCK)
515
516
#if defined(AF_LINE_SPI1_SCK)
517
#define SPI1_GPIO_AF AF_LINE_SPI1_SCK
518
#endif
519
#endif
520
521
#if defined(LINE_SPI2_MISO) && defined(LINE_SPI2_MOSI) && defined(LINE_SPI2_SCK)
522
#define SPI2_GPIO_PORT_MISO PAL_PORT(LINE_SPI2_MISO)
523
#define SPI2_GPIO_MISO PAL_PAD(LINE_SPI2_MISO)
524
#define SPI2_GPIO_PORT_MOSI PAL_PORT(LINE_SPI2_MOSI)
525
#define SPI2_GPIO_MOSI PAL_PAD(LINE_SPI2_MOSI)
526
#define SPI2_GPIO_PORT_SCK PAL_PORT(LINE_SPI2_SCK)
527
#define SPI2_GPIO_SCK PAL_PAD(LINE_SPI2_SCK)
528
529
#if defined(AF_LINE_SPI2_SCK)
530
#define SPI2_GPIO_AF AF_LINE_SPI2_SCK
531
#endif
532
#endif
533
534
#if defined(LINE_SPI3_MISO) && defined(LINE_SPI3_MOSI) && defined(LINE_SPI3_SCK)
535
#define SPI3_GPIO_PORT_MISO PAL_PORT(LINE_SPI3_MISO)
536
#define SPI3_GPIO_MISO PAL_PAD(LINE_SPI3_MISO)
537
#define SPI3_GPIO_PORT_MOSI PAL_PORT(LINE_SPI3_MOSI)
538
#define SPI3_GPIO_MOSI PAL_PAD(LINE_SPI3_MOSI)
539
#define SPI3_GPIO_PORT_SCK PAL_PORT(LINE_SPI3_SCK)
540
#define SPI3_GPIO_SCK PAL_PAD(LINE_SPI3_SCK)
541
542
#if defined(AF_LINE_SPI3_SCK)
543
#define SPI3_GPIO_AF AF_LINE_SPI3_SCK
544
#endif
545
#endif
546
547
#if defined(LINE_SPI4_MISO) && defined(LINE_SPI4_MOSI) && defined(LINE_SPI4_SCK)
548
#define SPI4_GPIO_PORT_MISO PAL_PORT(LINE_SPI4_MISO)
549
#define SPI4_GPIO_MISO PAL_PAD(LINE_SPI4_MISO)
550
#define SPI4_GPIO_PORT_MOSI PAL_PORT(LINE_SPI4_MOSI)
551
#define SPI4_GPIO_MOSI PAL_PAD(LINE_SPI4_MOSI)
552
#define SPI4_GPIO_PORT_SCK PAL_PORT(LINE_SPI4_SCK)
553
#define SPI4_GPIO_SCK PAL_PAD(LINE_SPI4_SCK)
554
555
#if defined(AF_LINE_SPI4_SCK)
556
#define SPI4_GPIO_AF AF_LINE_SPI4_SCK
557
#endif
558
#endif
559
560
#if defined(LINE_SPI5_MISO) && defined(LINE_SPI5_MOSI) && defined(LINE_SPI5_SCK)
561
#define SPI5_GPIO_PORT_MISO PAL_PORT(LINE_SPI5_MISO)
562
#define SPI5_GPIO_MISO PAL_PAD(LINE_SPI5_MISO)
563
#define SPI5_GPIO_PORT_MOSI PAL_PORT(LINE_SPI5_MOSI)
564
#define SPI5_GPIO_MOSI PAL_PAD(LINE_SPI5_MOSI)
565
#define SPI5_GPIO_PORT_SCK PAL_PORT(LINE_SPI5_SCK)
566
#define SPI5_GPIO_SCK PAL_PAD(LINE_SPI5_SCK)
567
568
#if defined(AF_LINE_SPI5_SCK)
569
#define SPI5_GPIO_AF AF_LINE_SPI5_SCK
570
#endif
571
#endif
572
573
#if defined(LINE_SPI6_MISO) && defined(LINE_SPI6_MOSI) && defined(LINE_SPI6_SCK)
574
#define SPI6_GPIO_PORT_MISO PAL_PORT(LINE_SPI6_MISO)
575
#define SPI6_GPIO_MISO PAL_PAD(LINE_SPI6_MISO)
576
#define SPI6_GPIO_PORT_MOSI PAL_PORT(LINE_SPI6_MOSI)
577
#define SPI6_GPIO_MOSI PAL_PAD(LINE_SPI6_MOSI)
578
#define SPI6_GPIO_PORT_SCK PAL_PORT(LINE_SPI6_SCK)
579
#define SPI6_GPIO_SCK PAL_PAD(LINE_SPI6_SCK)
580
581
#if defined(AF_LINE_SPI6_SCK)
582
#define SPI6_GPIO_AF AF_LINE_SPI6_SCK
583
#endif
584
#endif
585
589
#if defined(LINE_SPI_SLAVE0)
590
#define SPI_SELECT_SLAVE0_PORT PAL_PORT(LINE_SPI_SLAVE0)
591
#define SPI_SELECT_SLAVE0_PIN PAL_PAD(LINE_SPI_SLAVE0)
592
#endif
593
594
#if defined(LINE_SPI_SLAVE1)
595
#define SPI_SELECT_SLAVE1_PORT PAL_PORT(LINE_SPI_SLAVE1)
596
#define SPI_SELECT_SLAVE1_PIN PAL_PAD(LINE_SPI_SLAVE1)
597
#endif
598
599
#if defined(LINE_SPI_SLAVE2)
600
#define SPI_SELECT_SLAVE2_PORT PAL_PORT(LINE_SPI_SLAVE2)
601
#define SPI_SELECT_SLAVE2_PIN PAL_PAD(LINE_SPI_SLAVE2)
602
#endif
603
604
#if defined(LINE_SPI_SLAVE3)
605
#define SPI_SELECT_SLAVE3_PORT PAL_PORT(LINE_SPI_SLAVE3)
606
#define SPI_SELECT_SLAVE3_PIN PAL_PAD(LINE_SPI_SLAVE3)
607
#endif
608
609
#if defined(LINE_SPI_SLAVE4)
610
#define SPI_SELECT_SLAVE4_PORT PAL_PORT(LINE_SPI_SLAVE4)
611
#define SPI_SELECT_SLAVE4_PIN PAL_PAD(LINE_SPI_SLAVE4)
612
#endif
613
614
#if defined(LINE_SPI_SLAVE5)
615
#define SPI_SELECT_SLAVE5_PORT PAL_PORT(LINE_SPI_SLAVE5)
616
#define SPI_SELECT_SLAVE5_PIN PAL_PAD(LINE_SPI_SLAVE5)
617
#endif
618
619
#if defined(LINE_SPI_SLAVE6)
620
#define SPI_SELECT_SLAVE6_PORT PAL_PORT(LINE_SPI_SLAVE6)
621
#define SPI_SELECT_SLAVE6_PIN PAL_PAD(LINE_SPI_SLAVE6)
622
#endif
623
630
#ifndef USE_BARO_BOARD
631
#define USE_BARO_BOARD 1
632
#endif
633
637
#if defined(LINE_SDIO_D0) && defined(LINE_SDIO_D1) && defined(LINE_SDIO_D2) && defined(LINE_SDIO_D3) && defined(LINE_SDIO_CK) && defined(LINE_SDIO_CMD)
638
#define SDIO_D0_PORT PAL_PORT(LINE_SDIO_D0)
639
#define SDIO_D0_PIN PAL_PAD(LINE_SDIO_D0)
640
#define SDIO_D1_PORT PAL_PORT(LINE_SDIO_D1)
641
#define SDIO_D1_PIN PAL_PAD(LINE_SDIO_D1)
642
#define SDIO_D2_PORT PAL_PORT(LINE_SDIO_D2)
643
#define SDIO_D2_PIN PAL_PAD(LINE_SDIO_D2)
644
#define SDIO_D3_PORT PAL_PORT(LINE_SDIO_D3)
645
#define SDIO_D3_PIN PAL_PAD(LINE_SDIO_D3)
646
#define SDIO_CK_PORT PAL_PORT(LINE_SDIO_CK)
647
#define SDIO_CK_PIN PAL_PAD(LINE_SDIO_CK)
648
#define SDIO_CMD_PORT PAL_PORT(LINE_SDIO_CMD)
649
#define SDIO_CMD_PIN PAL_PAD(LINE_SDIO_CMD)
650
651
#if defined(AF_LINE_SDIO_CMD)
652
#define SDIO_AF AF_LINE_SDIO_CMD
653
#else
654
#define SDIO_AF ((void)0)
655
#endif
656
#endif
657
658
#if defined(LINE_USB_VBUS)
659
#define SDLOG_USB_VBUS_PORT PAL_PORT(LINE_USB_VBUS)
660
#define SDLOG_USB_VBUS_PIN PAL_PAD(LINE_USB_VBUS)
661
#endif
662
663
// bat monitoring for file closing
664
#define SDLOG_BAT_ADC ADCD1
665
#define SDLOG_BAT_CHAN AD1_1_CHANNEL
666
// usb led status
667
#define SDLOG_USB_LED 3
668
669
670
/*
671
* Actuators for fixedwing
672
*/
673
/* Default actuators driver */
674
#define DEFAULT_ACTUATORS "subsystems/actuators/actuators_pwm.h"
675
#define ActuatorDefaultSet(_x,_y) ActuatorPwmSet(_x,_y)
676
#define ActuatorsDefaultInit() ActuatorsPwmInit()
677
#define ActuatorsDefaultCommit() ActuatorsPwmCommit()
678
679
#endif
/* CONFIG_PX4FMU_4_00_H */
680
board.h
sw
airborne
boards
px4fmu
chibios
v5.0
px4fmu.h
Generated on Wed Feb 10 2021 04:33:58 for Paparazzi UAS by
1.8.8