Rev 2110 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2110 | Rev 2118 | ||
---|---|---|---|
1 | #ifndef _RC_H |
1 | #ifndef _RC_H |
2 | #define _RC_H |
2 | #define _RC_H |
3 | 3 | ||
4 | #include <inttypes.h> |
4 | #include <inttypes.h> |
5 | #include "configuration.h" |
5 | #include "configuration.h" |
6 | 6 | ||
7 | // Number of cycles a command must be repeated before commit. |
7 | // Number of cycles a command must be repeated before commit. |
8 | #define COMMAND_TIMER 200 |
8 | #define COMMAND_TIMER 200 |
9 | 9 | ||
10 | extern void RC_Init(void); |
10 | extern void RC_Init(void); |
11 | // the RC-Signal. todo: Not export any more. |
11 | // the RC-Signal. todo: Not export any more. |
12 | extern volatile int16_t PPM_in[MAX_CHANNELS]; |
12 | extern volatile int16_t PPM_in[MAX_CHANNELS]; |
13 | // extern volatile int16_t PPM_diff[MAX_CHANNELS]; // the differentiated RC-Signal. Should that be exported?? |
13 | // extern volatile int16_t PPM_diff[MAX_CHANNELS]; // the differentiated RC-Signal. Should that be exported?? |
14 | extern volatile uint8_t NewPpmData; // 0 indicates a new recieved PPM Frame |
14 | extern volatile uint8_t NewPpmData; // 0 indicates a new recieved PPM Frame |
15 | extern volatile uint8_t RCQuality; // rc signal quality indicator (0 to 200) |
15 | extern volatile uint8_t RCQuality; // rc signal quality indicator (0 to 200) |
16 | 16 | ||
17 | // defines for lookup staticParams.ChannelAssignment |
17 | // defines for lookup staticParams.ChannelAssignment |
18 | #define CH_ELEVATOR 0 |
18 | #define CH_ELEVATOR 0 |
19 | #define CH_AILERONS 1 |
19 | #define CH_AILERONS 1 |
20 | #define CH_THROTTLE 2 |
20 | #define CH_THROTTLE 2 |
21 | #define CH_RUDDER 3 |
21 | #define CH_RUDDER 3 |
22 | #define CH_MODESWITCH 4 |
22 | #define CH_MODESWITCH 4 |
23 | #define CH_POTS 4 |
23 | #define CH_POTS 4 |
24 | - | ||
25 | // These are a little individual for differnt R/C systems... trim for zero channel readings at zero |
- | |
26 | // stick, and trim VARIABLE_OFFSET for full variable range 0..255. |
- | |
27 | #define VARIABLE_OFFSET 106 |
- | |
28 | #define RC_TRIM 19 |
- | |
29 | // Set this for a full stick range of about -1024..1024. |
- | |
30 | #define RC_SCALING 1 |
- | |
31 | 24 | ||
32 | // void RC_periodicTask(void); |
25 | // void RC_periodicTask(void); |
33 | void RC_periodicTaskAndPRYT(int16_t* PRYT); |
26 | void RC_periodicTaskAndPRYT(int16_t* PRYT); |
34 | uint8_t RC_getArgument(void); |
27 | uint8_t RC_getArgument(void); |
35 | uint8_t RC_getCommand(void); |
28 | uint8_t RC_getCommand(void); |
36 | int16_t RC_getVariable(uint8_t varNum); |
29 | int16_t RC_getVariable(uint8_t varNum); |
37 | void RC_calibrate(void); |
30 | void RC_calibrate(void); |
38 | uint8_t RC_getSignalQuality(void); |
31 | uint8_t RC_getSignalQuality(void); |
39 | uint8_t RC_getLooping(uint8_t looping); |
32 | uint8_t RC_getLooping(uint8_t looping); |
40 | #ifdef USE_MK3MAG |
33 | #ifdef USE_MK3MAG |
41 | uint8_t RC_testCompassCalState(void); |
34 | uint8_t RC_testCompassCalState(void); |
42 | #endif |
35 | #endif |
43 | #endif //_RC_H |
36 | #endif //_RC_H |
44 | 37 |