#ifndef RC_h #define RC_h #include #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 read_pwm(); virtual void set_ch_pwm(uint8_t ch, uint16_t pwm); virtual void init(); virtual void trim(); virtual void set_channel_direction(uint8_t ch, int8_t dir); virtual void set_throttle(float percent); void set_failsafe(uint16_t fs); void set_mix_mode(uint8_t mode); uint8_t failsafe; uint8_t reverse_throttle; 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