Paparazzi UAS  v4.2.2_stable-4-gcc32f65
Paparazzi is a free software Unmanned Aircraft System.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
my_debug_servo.h
Go to the documentation of this file.
1 #ifndef MY_DEBUG_SERVO_H
2 #define MY_DEBUG_SERVO_H
3 
4 #include <stm32/gpio.h>
5 #include <stm32/rcc.h>
6 
7 /* using servo 2 connector as debug */
8 
9 #define DEBUG_S1_TOGGLE() { GPIOC->ODR ^= GPIO_Pin_6; }
10 #define DEBUG_S1_ON() { GPIOC->BSRR = GPIO_Pin_6; }
11 #define DEBUG_S1_OFF() { GPIOC->BRR = GPIO_Pin_6; }
12 
13 #define DEBUG_S2_TOGGLE() { GPIOC->ODR ^= GPIO_Pin_7; }
14 #define DEBUG_S2_ON() { GPIOC->BSRR = GPIO_Pin_7; }
15 #define DEBUG_S2_OFF() { GPIOC->BRR = GPIO_Pin_7; }
16 
17 #define DEBUG_S3_TOGGLE() { GPIOC->ODR ^= GPIO_Pin_8; }
18 #define DEBUG_S3_ON() { GPIOC->BSRR = GPIO_Pin_8; }
19 #define DEBUG_S3_OFF() { GPIOC->BRR = GPIO_Pin_8; }
20 
21 #define DEBUG_S4_TOGGLE() { GPIOC->ODR ^= GPIO_Pin_9; }
22 #define DEBUG_S4_ON() { GPIOC->BSRR = GPIO_Pin_9; }
23 #define DEBUG_S4_OFF() { GPIOC->BRR = GPIO_Pin_9; }
24 
25 #define DEBUG_S5_TOGGLE() { GPIOB->ODR ^= GPIO_Pin_8; }
26 #define DEBUG_S5_ON() { GPIOB->BSRR = GPIO_Pin_8; }
27 #define DEBUG_S5_OFF() { GPIOB->BRR = GPIO_Pin_8; }
28 
29 #define DEBUG_S6_TOGGLE() { GPIOB->ODR ^= GPIO_Pin_9; }
30 #define DEBUG_S6_ON() { GPIOB->BSRR = GPIO_Pin_9; }
31 #define DEBUG_S6_OFF() { GPIOB->BRR = GPIO_Pin_9; }
32 
33 
34 
35 #define DEBUG_SERVO1_INIT() { \
36  /* S1: PC6 S2: PC7 S3: PC8 */ \
37  GPIO_InitTypeDef GPIO_InitStructure; \
38  GPIOC->BSRR = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 ; \
39  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); \
40  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8; \
41  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; \
42  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; \
43  GPIO_Init(GPIOC, &GPIO_InitStructure); \
44  DEBUG_S1_OFF(); \
45  DEBUG_S2_OFF(); \
46  DEBUG_S3_OFF(); \
47  }
48 
49 #define DEBUG_SERVO2_INIT() { \
50  /* S4: PC9 */ \
51  GPIO_InitTypeDef GPIO_InitStructure; \
52  GPIOC->BSRR = GPIO_Pin_9; \
53  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); \
54  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; \
55  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; \
56  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; \
57  GPIO_Init(GPIOC, &GPIO_InitStructure); \
58  /* S5: PB8 and S6: PB9 */ \
59  GPIOB->BSRR = GPIO_Pin_8 | GPIO_Pin_9; \
60  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); \
61  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; \
62  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; \
63  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; \
64  GPIO_Init(GPIOB, &GPIO_InitStructure); \
65  DEBUG_S4_OFF(); \
66  DEBUG_S5_OFF(); \
67  DEBUG_S6_OFF(); \
68  }
69 
70 
71 #endif /* MY_DEBUG_SERVO_H */