Subversion Repositories FlightCtrl

Rev

Rev 2118 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#ifndef _RC_H
#define _RC_H

#include <inttypes.h>
#include "configuration.h"

extern void RC_Init(void);
// the RC-Signal. todo: Not export any more.
extern volatile int16_t PPM_in[MAX_CHANNELS];
// extern volatile int16_t PPM_diff[MAX_CHANNELS];      // the differentiated RC-Signal. Should that be exported??
extern volatile uint8_t NewPpmData; // 0 indicates a new recieved PPM Frame
extern volatile uint8_t RCQuality;  // rc signal quality indicator (0 to 200)

// defines for lookup staticParams.ChannelAssignment
#define CH_ELEVATOR     0
#define CH_AILERONS         1
#define CH_THROTTLE         2
#define CH_RUDDER       3
#define CH_MODESWITCH   4
#define CH_POTS         4

// Number of cycles a command must be repeated before commit.
#define COMMAND_TIMER 200
#define COMMAND_CHANNEL_HORIZONTAL CH_AILERONS

// void RC_periodicTask(void);
void RC_periodicTaskAndPRYT(int16_t* PRYT);
uint8_t RC_getArgument(void);
uint8_t RC_getCommand(void);
int16_t RC_getVariable(uint8_t varNum);
void RC_calibrate(void);
uint8_t RC_getSignalQuality(void);
int16_t RC_getZeroThrottle(void);
void RC_setZeroTrim(void);

#endif //_RC_H