Paparazzi UAS
v5.8.2_stable-0-g6260b7c
Paparazzi is a free software Unmanned Aircraft System.
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
Paparazzi UAS
Style Guides
Onboard Modules
Paparazzi Messages
Paparazzi Technical Primers
Math library
CATIA
Datalink library
Todo List
Bibliography
Modules
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
krooz_sd.h
Go to the documentation of this file.
1
#ifndef CONFIG_KROOZ_SD_H
2
#define CONFIG_KROOZ_SD_H
3
4
#define BOARD_KROOZ
5
6
/* KroozSD has a 12MHz external clock and 168MHz internal. */
7
#define EXT_CLK 12000000
8
#define AHB_CLK 168000000
9
10
/*
11
* Onboard LEDs
12
*/
13
14
/* red, on PA8 */
15
#ifndef USE_LED_1
16
#define USE_LED_1 1
17
#endif
18
#define LED_1_GPIO GPIOA
19
#define LED_1_GPIO_PIN GPIO13
20
#define LED_1_GPIO_ON gpio_clear
21
#define LED_1_GPIO_OFF gpio_set
22
#define LED_1_AFIO_REMAP ((void)0)
23
24
/* green, shared with JTAG_TRST */
25
#ifndef USE_LED_2
26
#define USE_LED_2 1
27
#endif
28
#define LED_2_GPIO GPIOA
29
#define LED_2_GPIO_PIN GPIO14
30
#define LED_2_GPIO_ON gpio_clear
31
#define LED_2_GPIO_OFF gpio_set
32
#define LED_2_AFIO_REMAP ((void)0)
33
34
/* green, shared with ADC12 (ADC_6 on connector ANALOG2) */
35
#ifndef USE_LED_3
36
#define USE_LED_3 1
37
#endif
38
#define LED_3_GPIO GPIOA
39
#define LED_3_GPIO_PIN GPIO15
40
#define LED_3_GPIO_ON gpio_clear
41
#define LED_3_GPIO_OFF gpio_set
42
#define LED_3_AFIO_REMAP ((void)0)
43
44
/*
45
* not actual LEDS, used as GPIOs
46
*/
47
48
/* PB4, Camera power On/Off */
49
#define CAM_SW_GPIO GPIOB
50
#define CAM_SW_GPIO_CLK RCC_GPIOB
51
#define CAM_SW_GPIO_PIN GPIO4
52
#define CAM_SW_AFIO_REMAP ((void)0)
53
54
/* PC2, Camera shot */
55
#define CAM_SH_GPIO GPIOC
56
#define CAM_SH_GPIO_CLK RCC_GPIOC
57
#define CAM_SH_GPIO_PIN GPIO2
58
#define CAM_SH_AFIO_REMAP ((void)0)
59
60
/* PC15, Camera video */
61
#define CAM_V_GPIO GPIOC
62
#define CAM_V_GPIO_CLK RCC_GPIOC
63
#define CAM_V_GPIO_PIN GPIO15
64
#define CAM_V_AFIO_REMAP ((void)0)
65
66
#define BEEPER_GPIO GPIOC
67
#define BEEPER_GPIO_CLK RCC_GPIOC
68
#define BEEPER_GPIO_PIN GPIO14
69
#define BEEPER_AFIO_REMAP ((void)0)
70
71
72
/* Default actuators driver */
73
#define DEFAULT_ACTUATORS "subsystems/actuators/actuators_pwm.h"
74
#define ActuatorDefaultSet(_x,_y) ActuatorPwmSet(_x,_y)
75
#define ActuatorsDefaultInit() ActuatorsPwmInit()
76
#define ActuatorsDefaultCommit() ActuatorsPwmCommit()
77
78
#define DefaultVoltageOfAdc(adc) (0.008874*adc)
79
80
/* UART */
81
#define UART1_GPIO_AF GPIO_AF7
82
#define UART1_GPIO_PORT_RX GPIOA
83
#define UART1_GPIO_RX GPIO10
84
#define UART1_GPIO_PORT_TX GPIOA
85
#define UART1_GPIO_TX GPIO9
86
87
#define UART3_GPIO_AF GPIO_AF7
88
#define UART3_GPIO_PORT_RX GPIOC
89
#define UART3_GPIO_RX GPIO11
90
#define UART3_GPIO_PORT_TX GPIOC
91
#define UART3_GPIO_TX GPIO10
92
93
#define UART5_GPIO_AF GPIO_AF8
94
#define UART5_GPIO_PORT_RX GPIOD
95
#define UART5_GPIO_RX GPIO2
96
#define UART5_GPIO_PORT_TX GPIOC
97
#define UART5_GPIO_TX GPIO12
98
99
/* SPI */
100
#define SPI1_GPIO_AF GPIO_AF5
101
#define SPI1_GPIO_PORT_MISO GPIOA
102
#define SPI1_GPIO_MISO GPIO6
103
#define SPI1_GPIO_PORT_MOSI GPIOA
104
#define SPI1_GPIO_MOSI GPIO7
105
#define SPI1_GPIO_PORT_SCK GPIOA
106
#define SPI1_GPIO_SCK GPIO5
107
108
#define SPI2_GPIO_AF GPIO_AF5
109
#define SPI2_GPIO_PORT_MISO GPIOB
110
#define SPI2_GPIO_MISO GPIO14
111
#define SPI2_GPIO_PORT_MOSI GPIOB
112
#define SPI2_GPIO_MOSI GPIO15
113
#define SPI2_GPIO_PORT_SCK GPIOB
114
#define SPI2_GPIO_SCK GPIO13
115
116
#define SPI_SELECT_SLAVE0_PORT GPIOA
117
#define SPI_SELECT_SLAVE0_PIN GPIO4
118
#define SPI_SELECT_SLAVE1_PORT GPIOB
119
#define SPI_SELECT_SLAVE1_PIN GPIO12
120
#define SPI_SELECT_SLAVE2_PORT GPIOB
121
#define SPI_SELECT_SLAVE2_PIN GPIO2
122
123
/* I2C mapping */
124
#define I2C1_GPIO_PORT GPIOB
125
#define I2C1_GPIO_SCL GPIO8
126
#define I2C1_GPIO_SDA GPIO9
127
128
#define I2C2_GPIO_PORT GPIOB
129
#define I2C2_GPIO_SCL GPIO10
130
#define I2C2_GPIO_SDA GPIO11
131
132
#define I2C3_GPIO_PORT_SCL GPIOA
133
#define I2C3_GPIO_PORT_SDA GPIOC
134
#define I2C3_GPIO_SCL GPIO8
135
#define I2C3_GPIO_SDA GPIO9
136
137
/* Onboard ADCs */
138
#define USE_AD_TIM1 1
139
140
/* provide defines that can be used to access the ADC_x in the code or airframe file
141
* these directly map to the index number of the 4 adc channels defined above
142
* 4th (index 3) is used for bat monitoring by default
143
*/
144
/* allow to define ADC_CHANNEL_VSUPPLY in the airframe file*/
145
#ifndef ADC_CHANNEL_VSUPPLY
146
#define ADC_CHANNEL_VSUPPLY ADC_4
147
#endif
148
149
#define ADC_CHANNEL_CAM1 ADC_1
150
151
/* provide defines that can be used to access the ADC_x in the code or airframe file
152
* these directly map to the index number of the 4 adc channels defined above
153
* 4th (index 3) is used for bat monitoring by default
154
*/
155
#if USE_ADC_1
156
#define AD1_1_CHANNEL 12
157
#define ADC_1 AD1_1
158
#define ADC_1_GPIO_PORT GPIOC
159
#define ADC_1_GPIO_PIN GPIO2
160
#endif
161
162
#if USE_ADC_2
163
#define AD1_2_CHANNEL 10
164
#define ADC_2 AD1_2
165
#define ADC_2_GPIO_PORT GPIOC
166
#define ADC_2_GPIO_PIN GPIO0
167
#endif
168
169
#if USE_ADC_3
170
#define AD1_3_CHANNEL 11
171
#define ADC_3 AD1_3
172
#define ADC_3_GPIO_PORT GPIOC
173
#define ADC_3_GPIO_PIN GPIO1
174
#endif
175
176
// Internal ADC for battery enabled by default
177
#ifndef USE_ADC_4
178
#define USE_ADC_4 1
179
#endif
180
#if USE_ADC_4
181
#define AD1_4_CHANNEL 13
182
#define ADC_4 AD1_4
183
#define ADC_4_GPIO_PORT GPIOC
184
#define ADC_4_GPIO_PIN GPIO3
185
#endif
186
187
188
/* by default activate onboard baro */
189
#ifndef USE_BARO_BOARD
190
#define USE_BARO_BOARD 1
191
#endif
192
193
194
/* PWM */
195
#define PWM_USE_TIM3 1
196
#define PWM_USE_TIM4 1
197
#define PWM_USE_TIM5 1
198
199
#define USE_PWM0 1
200
#define USE_PWM1 1
201
#define USE_PWM2 1
202
#define USE_PWM3 1
203
#define USE_PWM4 1
204
#define USE_PWM5 1
205
#define USE_PWM6 1
206
#define USE_PWM7 1
207
#define USE_PWM8 1
208
#define USE_PWM9 1
209
//#define USE_PWM10 1
210
211
#if USE_PWM10
212
#define ACTUATORS_PWM_NB 11
213
#define PWM_USE_TIM2 1
214
#else
215
#define ACTUATORS_PWM_NB 10
216
#endif
217
218
// PWM_SERVO_x is the index of the servo in the actuators_pwm_values array
219
#if USE_PWM0
220
#define PWM_SERVO_0 0
221
#define PWM_SERVO_0_TIMER TIM3
222
#define PWM_SERVO_0_GPIO GPIOB
223
#define PWM_SERVO_0_PIN GPIO1
224
#define PWM_SERVO_0_AF GPIO_AF2
225
#define PWM_SERVO_0_OC TIM_OC4
226
#define PWM_SERVO_0_OC_BIT (1<<3)
227
#else
228
#define PWM_SERVO_0_OC_BIT 0
229
#endif
230
231
#if USE_PWM1
232
#define PWM_SERVO_1 1
233
#define PWM_SERVO_1_TIMER TIM3
234
#define PWM_SERVO_1_GPIO GPIOC
235
#define PWM_SERVO_1_PIN GPIO8
236
#define PWM_SERVO_1_AF GPIO_AF2
237
#define PWM_SERVO_1_OC TIM_OC3
238
#define PWM_SERVO_1_OC_BIT (1<<2)
239
#else
240
#define PWM_SERVO_1_OC_BIT 0
241
#endif
242
243
#if USE_PWM2
244
#define PWM_SERVO_2 2
245
#define PWM_SERVO_2_TIMER TIM3
246
#define PWM_SERVO_2_GPIO GPIOC
247
#define PWM_SERVO_2_PIN GPIO7
248
#define PWM_SERVO_2_AF GPIO_AF2
249
#define PWM_SERVO_2_OC TIM_OC2
250
#define PWM_SERVO_2_OC_BIT (1<<1)
251
#else
252
#define PWM_SERVO_2_OC_BIT 0
253
#endif
254
255
#if USE_PWM3
256
#define PWM_SERVO_3 3
257
#define PWM_SERVO_3_TIMER TIM3
258
#define PWM_SERVO_3_GPIO GPIOB
259
#define PWM_SERVO_3_PIN GPIO4
260
#define PWM_SERVO_3_AF GPIO_AF2
261
#define PWM_SERVO_3_OC TIM_OC1
262
#define PWM_SERVO_3_OC_BIT (1<<0)
263
#else
264
#define PWM_SERVO_3_OC_BIT 0
265
#endif
266
267
#if USE_PWM4
268
#define PWM_SERVO_4 4
269
#define PWM_SERVO_4_TIMER TIM4
270
#define PWM_SERVO_4_GPIO GPIOB
271
#define PWM_SERVO_4_PIN GPIO7
272
#define PWM_SERVO_4_AF GPIO_AF2
273
#define PWM_SERVO_4_OC TIM_OC2
274
#define PWM_SERVO_4_OC_BIT (1<<1)
275
#else
276
#define PWM_SERVO_4_OC_BIT 0
277
#endif
278
279
#if USE_PWM5
280
#define PWM_SERVO_5 5
281
#define PWM_SERVO_5_TIMER TIM4
282
#define PWM_SERVO_5_GPIO GPIOB
283
#define PWM_SERVO_5_PIN GPIO6
284
#define PWM_SERVO_5_AF GPIO_AF2
285
#define PWM_SERVO_5_OC TIM_OC1
286
#define PWM_SERVO_5_OC_BIT (1<<0)
287
#else
288
#define PWM_SERVO_5_OC_BIT 0
289
#endif
290
291
#if USE_PWM6
292
#define PWM_SERVO_6 6
293
#define PWM_SERVO_6_TIMER TIM5
294
#define PWM_SERVO_6_GPIO GPIOA
295
#define PWM_SERVO_6_PIN GPIO3
296
#define PWM_SERVO_6_AF GPIO_AF2
297
#define PWM_SERVO_6_OC TIM_OC4
298
#define PWM_SERVO_6_OC_BIT (1<<3)
299
#else
300
#define PWM_SERVO_6_OC_BIT 0
301
#endif
302
303
#if USE_PWM7
304
#define PWM_SERVO_7 7
305
#define PWM_SERVO_7_TIMER TIM5
306
#define PWM_SERVO_7_GPIO GPIOA
307
#define PWM_SERVO_7_PIN GPIO2
308
#define PWM_SERVO_7_AF GPIO_AF2
309
#define PWM_SERVO_7_OC TIM_OC3
310
#define PWM_SERVO_7_OC_BIT (1<<2)
311
#else
312
#define PWM_SERVO_7_OC_BIT 0
313
#endif
314
315
#if USE_PWM8
316
#define PWM_SERVO_8 8
317
#define PWM_SERVO_8_TIMER TIM5
318
#define PWM_SERVO_8_GPIO GPIOA
319
#define PWM_SERVO_8_PIN GPIO1
320
#define PWM_SERVO_8_AF GPIO_AF2
321
#define PWM_SERVO_8_OC TIM_OC2
322
#define PWM_SERVO_8_OC_BIT (1<<1)
323
#else
324
#define PWM_SERVO_8_OC_BIT 0
325
#endif
326
327
#if USE_PWM9
328
#define PWM_SERVO_9 9
329
#define PWM_SERVO_9_TIMER TIM5
330
#define PWM_SERVO_9_GPIO GPIOA
331
#define PWM_SERVO_9_PIN GPIO0
332
#define PWM_SERVO_9_AF GPIO_AF2
333
#define PWM_SERVO_9_OC TIM_OC1
334
#define PWM_SERVO_9_OC_BIT (1<<0)
335
#else
336
#define PWM_SERVO_9_OC_BIT 0
337
#endif
338
339
#if USE_PWM10
340
#define PWM_SERVO_10 10
341
#define PWM_SERVO_10_TIMER TIM2
342
#define PWM_SERVO_10_GPIO GPIOB
343
#define PWM_SERVO_10_PIN GPIO3
344
#define PWM_SERVO_10_AF GPIO_AF1
345
#define PWM_SERVO_10_OC TIM_OC2
346
#define PWM_SERVO_10_OC_BIT (1<<1)
347
#else
348
#define PWM_SERVO_10_OC_BIT 0
349
#endif
350
351
#define PWM_TIM2_CHAN_MASK (PWM_SERVO_10_OC_BIT)
352
#define PWM_TIM3_CHAN_MASK (PWM_SERVO_0_OC_BIT|PWM_SERVO_1_OC_BIT|PWM_SERVO_2_OC_BIT|PWM_SERVO_3_OC_BIT)
353
#define PWM_TIM4_CHAN_MASK (PWM_SERVO_4_OC_BIT|PWM_SERVO_5_OC_BIT)
354
#define PWM_TIM5_CHAN_MASK (PWM_SERVO_6_OC_BIT|PWM_SERVO_7_OC_BIT|PWM_SERVO_8_OC_BIT|PWM_SERVO_9_OC_BIT)
355
356
/* PPM */
357
358
#define USE_PPM_TIM2 1
359
360
#define PPM_CHANNEL TIM_IC2
361
#define PPM_TIMER_INPUT TIM_IC_IN_TI2
362
#define PPM_IRQ NVIC_TIM2_IRQ
363
//#define PPM_IRQ2 NVIC_TIM2_UP_TIM10_IRQ
364
// Capture/Compare InteruptEnable and InterruptFlag
365
#define PPM_CC_IE TIM_DIER_CC2IE
366
#define PPM_CC_IF TIM_SR_CC2IF
367
#define PPM_GPIO_PORT GPIOB
368
#define PPM_GPIO_PIN GPIO3
369
#define PPM_GPIO_AF GPIO_AF1
370
371
/*
372
* Spektrum
373
*/
374
/* The line that is pulled low at power up to initiate the bind process */
375
#define SPEKTRUM_BIND_PIN GPIO9
376
#define SPEKTRUM_BIND_PIN_PORT GPIOA
377
378
#endif
/* CONFIG_KROOZ_SD_H */
sw
airborne
boards
krooz_sd.h
Generated on Tue Jun 21 2016 14:01:12 for Paparazzi UAS by
1.8.8