Rev 1645 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1645 | Rev 1775 | ||
---|---|---|---|
1 | /*********************************************************************************/ |
1 | /*********************************************************************************/ |
2 | /* Stick control interface */ |
2 | /* Stick control interface */ |
3 | /*********************************************************************************/ |
3 | /*********************************************************************************/ |
4 | /* |
4 | /* |
5 | OBSOLETED BY controlMixer.h. But this is how it looked - maybe somebody will find it simpler? |
5 | OBSOLETED BY controlMixer.h. But this is how it looked - maybe somebody will find it simpler? |
6 | 6 | ||
7 | #ifndef _CONTROL_H |
7 | #ifndef _CONTROL_H |
8 | #define _CONTROL_H |
8 | #define _CONTROL_H |
9 | 9 | ||
10 | #include <inttypes.h> |
10 | #include <inttypes.h> |
11 | #define CONTROL_SCALING 4 |
11 | #define CONTROL_SCALING 4 |
12 | 12 | ||
13 | // defines for lookup staticParams.ChannelAssignment |
13 | // defines for lookup staticParams.ChannelAssignment |
14 | #define CH_PITCH 0 |
14 | #define CH_PITCH 0 |
15 | #define CH_ROLL 1 |
15 | #define CH_ROLL 1 |
16 | #define CH_THROTTLE 2 |
16 | #define CH_THROTTLE 2 |
17 | #define CH_YAW 3 |
17 | #define CH_YAW 3 |
18 | #define CH_POTS 4 |
18 | #define CH_POTS 4 |
19 | #define POT_OFFSET 110 |
19 | #define POT_OFFSET 110 |
20 | 20 | ||
21 | extern int16_t stickPitch, stickRoll, stickYaw, stickThrottle; |
21 | extern int16_t stickPitch, stickRoll, stickYaw, stickThrottle; |
22 | extern int16_t stickOffsetNick, stickOffsetRoll; |
22 | extern int16_t stickOffsetNick, stickOffsetRoll; |
23 | extern uint16_t maxStickPitch, maxStickRoll; |
23 | extern uint16_t maxStickPitch, maxStickRoll; |
24 | extern uint8_t loopingPitch, loopingRoll; |
24 | extern uint8_t loopingPitch, loopingRoll; |
25 | 25 | ||
26 | // external control |
26 | // external control |
27 | extern int16_t externalStickPitch, externalStickRoll, externalStickYaw; |
27 | extern int16_t externalStickPitch, externalStickRoll, externalStickYaw; |
28 | 28 | ||
29 | // current GPS-stick values |
29 | // current GPS-stick values |
30 | extern int16_t GPSStickPitch, GPSStickRoll; |
30 | extern int16_t GPSStickPitch, GPSStickRoll; |
31 | 31 | ||
32 | typedef struct { |
32 | typedef struct { |
33 | uint8_t digital[2]; |
33 | uint8_t digital[2]; |
34 | uint8_t eemoteButtons; |
34 | uint8_t eemoteButtons; |
35 | int8_t pitch; |
35 | int8_t pitch; |
36 | int8_t roll; |
36 | int8_t roll; |
37 | int8_t yaw; |
37 | int8_t yaw; |
38 | uint8_t throttle; |
38 | uint8_t throttle; |
39 | int8_t height; |
39 | int8_t height; |
40 | uint8_t free; |
40 | uint8_t free; |
41 | uint8_t frame; |
41 | uint8_t frame; |
42 | uint8_t config; |
42 | uint8_t config; |
43 | } __attribute__((packed)) ExternalControl_t; |
43 | } __attribute__((packed)) ExternalControl_t; |
44 | 44 | ||
45 | extern ExternalControl_t externalControl; |
45 | extern ExternalControl_t externalControl; |
46 | 46 | ||
47 | //uint8_t control_getLeftStickCalibrateIndex(void); |
47 | //uint8_t control_getLeftStickCalibrateIndex(void); |
48 | //uint8_t control_getLeftStickMotorStartIndex(void); |
48 | //uint8_t control_getLeftStickMotorStartIndex(void); |
49 | //uint8_t control_getRightRCStickIndex(void); |
49 | //uint8_t control_getRightRCStickIndex(void); |
50 | void control_initPots(void); |
50 | void control_initPots(void); |
51 | void control_updatePots(void); |
51 | void control_updatePots(void); |
52 | 52 | ||
53 | void setCompassCalState(void); |
53 | void setCompassCalState(void); |
54 | void updateCompass(void); |
54 | void updateCompass(void); |
55 | 55 | ||
56 | void control_setNeutral(void); |
56 | void control_setNeutral(void); |
57 | void control_update(void); |
57 | void control_update(void); |
58 | 58 | ||
59 | #define STICK_COMMAND_UNDEF 0 |
59 | #define STICK_COMMAND_UNDEF 0 |
60 | #define STICK_COMMAND_START 6 |
60 | #define STICK_COMMAND_START 6 |
61 | #define STICK_COMMAND_STOP 8 |
61 | #define STICK_COMMAND_STOP 8 |
62 | #define STICK_COMMAND_GYROCAL 2 |
62 | #define STICK_COMMAND_GYROCAL 2 |
63 | #define STICK_COMMAND_ACCCAL 4 |
63 | #define STICK_COMMAND_ACCCAL 4 |
64 | 64 | ||
65 | void control_senseStickCommands(void); |
65 | void control_senseStickCommands(void); |
66 | uint8_t control_getStickCommand(void); |
66 | uint8_t control_getStickCommand(void); |
67 | uint8_t control_isStickCommandRepeated(void); |
67 | uint8_t control_isStickCommandRepeated(void); |
68 | 68 | ||
69 | void control_performPilotCalibrationCommands(uint8_t stickCommand); |
69 | void control_performPilotCalibrationCommands(uint8_t stickCommand); |
70 | 70 | ||
71 | extern volatile int16_t RC_Quality; // rc signal quality indicator (0 to 200) |
71 | extern volatile int16_t RC_Quality; // rc signal quality indicator (0 to 200) |
72 | extern uint8_t control_hasNewRCData(void); |
72 | extern uint8_t control_hasNewRCData(void); |
73 | 73 | ||
74 | #endif //_CONTROL_H |
74 | #endif //_CONTROL_H |
75 | */ |
75 | */ |
- | 76 | ||
76 | 77 |