Subversion Repositories FlightCtrl

Rev

Rev 1910 | Rev 2103 | 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