Rev 701 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 701 | Rev 703 | ||
---|---|---|---|
1 | /*####################################################################################### |
1 | /*####################################################################################### |
2 | Flight Control |
2 | Flight Control |
3 | #######################################################################################*/ |
3 | #######################################################################################*/ |
4 | 4 | ||
5 | #ifndef _FC_H |
5 | #ifndef _FC_H |
6 | #define _FC_H |
6 | #define _FC_H |
- | 7 | ||
- | 8 | typedef struct |
|
- | 9 | { |
|
- | 10 | uint8_t AirPressure_D; |
|
- | 11 | uint8_t MaxHight; |
|
- | 12 | uint8_t Hight_P; |
|
- | 13 | uint8_t Hight_ACC_Effect; |
|
- | 14 | uint8_t CompassYawEffect; |
|
- | 15 | uint8_t Gyro_P; |
|
- | 16 | uint8_t Gyro_I; |
|
- | 17 | uint8_t Gier_P; |
|
- | 18 | uint8_t I_Factor; |
|
- | 19 | uint8_t UserParam1; |
|
- | 20 | uint8_t UserParam2; |
|
- | 21 | uint8_t UserParam3; |
|
- | 22 | uint8_t UserParam4; |
|
- | 23 | uint8_t UserParam5; |
|
- | 24 | uint8_t UserParam6; |
|
- | 25 | uint8_t UserParam7; |
|
- | 26 | uint8_t UserParam8; |
|
- | 27 | uint8_t ServoPitchControl; |
|
- | 28 | uint8_t LoopGasLimit; |
|
- | 29 | uint8_t AchsKopplung1; |
|
- | 30 | uint8_t AchsGegenKopplung1; |
|
- | 31 | uint8_t DynamicStability; |
|
- | 32 | } fc_param_t; |
|
7 | 33 | ||
- | 34 | extern fc_param_t FCParam; |
|
8 | extern volatile unsigned int I2CTimeout; |
35 | |
- | 36 | extern volatile uint16_t I2CTimeout; |
|
- | 37 | ||
9 | extern volatile long IntegralPitch,IntegralPitch2; |
38 | // attitude |
10 | extern volatile long IntegralRoll,IntegralRoll2; |
39 | extern volatile int32_t IntegralPitch, IntegralRoll, IntegralYaw; |
- | 40 | extern volatile int16_t ReadingPitch, ReadingRoll, ReadingYaw; |
|
- | 41 | ||
11 | extern volatile long Reading_IntegralPitch,Reading_IntegralPitch2; |
42 | // offsets |
12 | extern volatile long Reading_IntegralRoll,Reading_IntegralRoll2; |
43 | extern volatile int16_t AdNeutralPitch, AdNeutralRoll, AdNeutralYaw; |
13 | extern volatile long IntegralAccPitch,IntegralAccRoll; |
44 | extern volatile int16_t NeutralAccX, NeutralAccY; |
- | 45 | extern volatile float NeutralAccZ; |
|
- | 46 | ||
14 | extern volatile long Reading_Integral_Top; |
47 | |
- | 48 | extern volatile int32_t Reading_Integral_Top; // calculated in analog.c |
|
- | 49 | ||
15 | extern volatile long Integral_Yaw,Reading_Integral_Yaw,Reading_Integral_Yaw2; |
50 | // compass navigation |
16 | extern volatile int CompassHeading; |
51 | extern volatile int16_t CompassHeading; |
17 | extern volatile int CompassCourse; |
52 | extern volatile int16_t CompassCourse; |
- | 53 | extern volatile int16_t CompassOffCourse; |
|
- | 54 | ||
18 | extern volatile int CompassOffCourse; |
55 | // hight control |
19 | extern int ReadingHight; |
56 | extern int ReadingHight; |
- | 57 | extern int SetPointHight; |
|
20 | extern int SetPointHight; |
58 | |
21 | extern volatile int16_t ReadingPitch,ReadingRoll,ReadingYaw; |
- | |
22 | extern volatile int AdNeutralPitch,AdNeutralRoll,AdNeutralYaw, Mean_AccPitch, Mean_AccRoll; |
59 | // mean accelarations |
- | 60 | extern volatile int16_t Mean_AccPitch, Mean_AccRoll, Mean_AccTop; |
|
23 | extern volatile int NeutralAccX, NeutralAccY,Mean_AccTop; |
61 | |
24 | extern volatile float NeutralAccZ; |
62 | // looping params |
- | 63 | extern long TurnOver180Pitch, TurnOver180Roll; |
|
- | 64 | ||
25 | extern long TurnOver180Pitch, TurnOver180Roll; |
65 | // external control |
26 | extern signed int ExternStickPitch,ExternStickRoll,ExternStickYaw; |
- | |
- | 66 | extern int16_t ExternStickPitch, ExternStickRoll, ExternStickYaw; |
|
27 | extern unsigned char Parameter_UserParam1,Parameter_UserParam2,Parameter_UserParam3,Parameter_UserParam4,Parameter_UserParam5,Parameter_UserParam6,Parameter_UserParam7,Parameter_UserParam8; |
67 | |
28 | 68 | ||
29 | void MotorRegler(void); |
69 | void MotorRegler(void); |
30 | void SendMotorData(void); |
70 | void SendMotorData(void); |
31 | void CalibMean(void); |
71 | void CalibMean(void); |
32 | void Mean(void); |
72 | void Mean(void); |
33 | void SetNeutral(void); |
73 | void SetNeutral(void); |
- | 74 | void Beep(uint8_t numbeeps); |
|
- | 75 | ||
- | 76 | ||
34 | void Piep(unsigned char Anzahl); |
77 | //extern unsigned char h,m,s; |
- | 78 | ||
- | 79 | extern int16_t Poti1, Poti2, Poti3, Poti4; |
|
- | 80 | ||
- | 81 | // setpoints for motors |
|
- | 82 | extern volatile uint8_t Motor_Front, Motor_Rear, Motor_Right, Motor_Left; //used by twimaster isr |
|
35 | - | ||
36 | extern unsigned char h,m,s; |
- | |
37 | extern volatile unsigned char Timeout; |
- | |
38 | extern volatile long IntegralPitch,IntegralPitch2; |
- | |
39 | extern volatile long IntegralRoll,IntegralRoll2; |
- | |
40 | extern volatile long Integral_Yaw; |
- | |
41 | extern volatile long Reading_IntegralPitch,Reading_IntegralPitch2; |
- | |
42 | extern volatile long Reading_IntegralRoll,Reading_IntegralRoll2; |
- | |
43 | extern volatile long Reading_Integral_Yaw; |
- | |
44 | extern volatile int DiffPitch,DiffRoll; |
- | |
45 | extern int Poti1, Poti2, Poti3, Poti4; |
- | |
46 | extern volatile unsigned char Motor_Front,Motor_Rear,Motor_Right,Motor_Left, Count; |
- | |
47 | extern unsigned char MotorValue[5]; |
83 | |
48 | extern int StickPitch,StickRoll,StickYaw; |
84 | extern int16_t StickPitch, StickRoll, StickYaw; |
49 | extern char MotorsOn; |
85 | extern uint8_t MotorsOn; |
50 | 86 | ||
51 | 87 | ||
52 | - | ||
53 | extern unsigned char Parameter_Luftdruck_D; |
- | |
54 | extern unsigned char Parameter_MaxHoehe; |
- | |
55 | extern unsigned char Parameter_Hoehe_P; |
- | |
56 | extern unsigned char Parameter_Hoehe_ACC_Wirkung; |
- | |
57 | extern unsigned char Parameter_CompassYawEffect; |
- | |
58 | extern unsigned char Parameter_Gyro_P; |
- | |
59 | extern unsigned char Parameter_Gyro_I; |
- | |
60 | extern unsigned char Parameter_Gier_P; |
88 | |
61 | extern unsigned char Parameter_ServoPitchControl; |
- | |
62 | extern unsigned char Parameter_AchsKopplung1; |
- | |
63 | extern unsigned char Parameter_AchsGegenKopplung1; |
89 | extern uint8_t Parameter_ServoPitchControl; |
64 | 90 | ||
65 | 91 | ||
66 | #endif //_FC_H |
92 | #endif //_FC_H |
67 | 93 | ||
68 | 94 |