Rev 1910 | Rev 2102 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1910 | Rev 2099 | ||
---|---|---|---|
1 | /*********************************************************************************/ |
1 | /*********************************************************************************/ |
2 | /* Flight Control */ |
2 | /* Flight Control */ |
3 | /*********************************************************************************/ |
3 | /*********************************************************************************/ |
4 | 4 | ||
5 | #ifndef _FLIGHT_H |
5 | #ifndef _FLIGHT_H |
6 | #define _FLIGHT_H |
6 | #define _FLIGHT_H |
7 | 7 | ||
8 | #include <inttypes.h> |
8 | #include <inttypes.h> |
9 | #include "analog.h" |
9 | #include "analog.h" |
10 | #include "configuration.h" |
10 | #include "configuration.h" |
11 | 11 | ||
12 | #define PITCH 0 |
12 | #define PITCH 0 |
13 | #define ROLL 1 |
13 | #define ROLL 1 |
- | 14 | #define YAW 2 |
|
14 | - | ||
15 | /* |
- | |
16 | * The output BLC throttles can be set in an [0..256[ interval. Some staticParams limits |
- | |
17 | * (min, throttle, max throttle etc) are in a [0..256[ interval. |
- | |
18 | * The calculation of motor throttle values from sensor and control information (basically |
- | |
19 | * flight.c) take place in an [0..1024[ interval for better precision. |
15 | |
20 | * This is the conversion factor. |
- | |
21 | * --> Replaced back again by CONTROL_SCALING. Even though the 2 things are not quite the |
- | |
22 | * same, they are unseperable anyway. |
- | |
23 | */ |
- | |
24 | 16 | #define MAX_SERVOS 8 |
|
25 | // looping params |
17 | |
26 | // extern long TurnOver180Nick, TurnOver180Roll; |
- | |
27 | 18 | extern int16_t servos[MAX_SERVOS]; |
|
28 | // external control |
- | |
29 | // extern int16_t ExternStickNick, ExternStickRoll, ExternStickYaw; |
19 | |
30 | // extern int16_t naviAccPitch, naviAccRoll, naviCntAcc; |
- | |
31 | 20 | typedef enum { |
|
32 | // TODO: Rip em up, replace by a flight-state machine. |
21 | FLIGHT_MODE_MANUAL, |
33 | // OK first step: Move to control mixer, where the state machine will be located anyway. |
- | |
34 | // extern volatile uint8_t MKFlags; |
- | |
35 | // extern uint16_t isFlying; |
22 | FLIGHT_MODE_RATE, |
36 | 23 | FLIGHT_MODE_ANGLES |
|
37 | #define HH_RANGE ((int32_t)GYRO_DEG_FACTOR_PITCHROLL * 30) |
24 | } FlightMode_t; |
38 | 25 | ||
39 | void flight_control(void); |
26 | void flight_control(void); |
40 | void transmitMotorThrottleData(void); |
27 | void transmitMotorThrottleData(void); |
41 | void flight_setNeutral(void); |
28 | void flight_setNeutral(void); |
42 | 29 | ||
43 | #endif //_FLIGHT_H |
30 | #endif //_FLIGHT_H |
44 | 31 |