Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1612 dongfang 1
/*#######################################################################################
2
Stick control interface
3
#######################################################################################*/
4
/*
5
 
6
#ifndef _CONTROL_H
7
#define _CONTROL_H
8
 
9
#include <inttypes.h>
10
#define STICK_GAIN 4
11
 
12
// defines for lookup staticParams.ChannelAssignment
13
#define CH_PITCH        0
14
#define CH_ROLL         1
15
#define CH_THROTTLE     2
16
#define CH_YAW          3
17
#define CH_POTS         4
18
#define POT_OFFSET      110
19
 
20
extern int16_t stickPitch, stickRoll, stickYaw, stickThrottle;
21
extern int16_t stickOffsetNick, stickOffsetRoll;
22
extern uint16_t maxStickPitch, maxStickRoll;
23
extern uint8_t loopingPitch, loopingRoll;
24
 
25
// external control
26
extern int16_t externalStickPitch, externalStickRoll, externalStickYaw;
27
 
28
// current GPS-stick values
29
extern int16_t GPSStickPitch, GPSStickRoll;
30
 
31
typedef struct {
32
  uint8_t       digital[2];
33
  uint8_t       eemoteButtons;
34
  int8_t        pitch;
35
  int8_t        roll;
36
  int8_t        yaw;
37
  uint8_t       throttle;
38
  int8_t        height;
39
  uint8_t       free;
40
  uint8_t       frame;
41
  uint8_t       config;
42
} __attribute__((packed)) ExternalControl_t;
43
 
44
extern ExternalControl_t externalControl;
45
 
46
//uint8_t control_getLeftStickCalibrateIndex(void);
47
//uint8_t control_getLeftStickMotorStartIndex(void);
48
//uint8_t control_getRightRCStickIndex(void);
49
void control_initPots(void);
50
void control_updatePots(void);
51
 
52
void setCompassCalState(void);
53
void updateCompass(void);
54
 
55
void control_setNeutral(void);
56
void control_update(void);
57
 
58
#define STICK_COMMAND_UNDEF 0
59
#define STICK_COMMAND_START 6
60
#define STICK_COMMAND_STOP  8
61
#define STICK_COMMAND_GYROCAL 2
62
#define STICK_COMMAND_ACCCAL 4
63
 
64
void control_senseStickCommands(void);
65
uint8_t control_getStickCommand(void);
66
uint8_t control_isStickCommandRepeated(void);
67
 
68
void control_performPilotCalibrationCommands(uint8_t stickCommand);
69
 
70
extern volatile int16_t RC_Quality;     // rc signal quality indicator (0 to 200)
71
extern uint8_t control_hasNewRCData(void);
72
 
73
#endif //_CONTROL_H
74
*/