mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-01-02 14:13:42 -04:00
f4b024f194
git-svn-id: https://arducopter.googlecode.com/svn/trunk@480 f9c3cf11-9bcb-44bc-f272-b75c42450872
47 lines
862 B
C++
47 lines
862 B
C++
#ifndef RC_h
|
|
#define RC_h
|
|
|
|
#include <inttypes.h>
|
|
#include "WProgram.h"
|
|
|
|
#define CH1 0
|
|
#define CH2 1
|
|
#define CH3 2
|
|
#define CH4 3
|
|
#define CH5 4
|
|
#define CH6 5
|
|
#define CH7 6
|
|
#define CH8 7
|
|
|
|
#define MIN_PULSEWIDTH 900
|
|
#define MAX_PULSEWIDTH 2100
|
|
|
|
#define ELEVONS 1
|
|
|
|
class RC
|
|
{
|
|
public:
|
|
// RC();
|
|
virtual void init();
|
|
virtual void trim();
|
|
virtual void read();
|
|
virtual void output();
|
|
virtual void set_channel_direction(uint8_t ch, int8_t dir);
|
|
virtual void set_ch_pwm(uint8_t ch, uint16_t pwm);
|
|
virtual void twitch_servos(void);
|
|
|
|
void set_failsafe(uint16_t fs);
|
|
void set_mix_mode(uint8_t mode);
|
|
|
|
uint8_t failsafe;
|
|
|
|
protected:
|
|
void check_throttle_failsafe(uint16_t throttle);
|
|
uint8_t _fs_counter;
|
|
uint8_t _mix_mode; // 0 = normal, 1 = elevons
|
|
uint8_t _direction_mask;
|
|
uint16_t _fs_value; // PWM value to trigger failsafe flag
|
|
};
|
|
|
|
#endif
|