Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 2099 → Rev 2102

/branches/dongfang_FC_fixedwing/configuration.h
26,6 → 26,17
#define FC_ERROR1_RES2 0x40
#define FC_ERROR1_RES3 0x80
 
typedef enum {
FLIGHT_MODE_NONE,
FLIGHT_MODE_MANUAL,
FLIGHT_MODE_RATE,
FLIGHT_MODE_ANGLES
} FlightMode_t;
 
#define CONTROL_SERVO_REVERSE_ELEVATOR 1
#define CONTROL_SERVO_REVERSE_AILERONS 2
#define CONTROL_SERVO_REVERSE_RUDDER 4
 
typedef struct {
uint8_t SWMajor;
uint8_t SWMinor;
39,18 → 50,12
 
typedef struct {
/*PMM*/uint8_t gyroPitchD;
/* P */uint8_t gyroRollD;
/* P */uint8_t gyroRollD;\
/* P */uint8_t gyroYawD;
 
// Control
/* P */uint8_t externalControl;
 
// Height control
/*PMM*/uint8_t heightP;
/* P */uint8_t heightI;
/*PMM*/uint8_t heightD;
/* P */uint8_t heightSetting;
 
// Output and servo
/*PMM*/uint8_t output0Timing;
/*PMM*/uint8_t output1Timing;
123,6 → 128,12
 
extern IMUConfig_t IMUConfig;
 
typedef struct {
uint8_t P;
uint8_t I;
uint8_t D;
} PID_t;
 
// values above 250 representing poti1 to poti4
typedef struct {
// Global bitflags
135,18 → 146,8
uint8_t levelCorrection[2];
 
// Control
uint8_t gyroPitchP;
uint8_t gyroPitchI;
uint8_t gyroPitchD;
PID_t gyroPID[3];
 
uint8_t gyroRollP;
uint8_t gyroRollI;
uint8_t gyroRollD;
 
uint8_t gyroYawP;
uint8_t gyroYawI;
uint8_t gyroYawD;
 
uint8_t stickIElevator;
uint8_t stickIAilerons;
uint8_t stickIRudder;
160,6 → 161,8
uint8_t emergencyFlightDuration;
 
// Servos
uint8_t controlServosReverse;
 
uint8_t servoCount;
uint8_t servoManualMaxSpeed;
servo_t servoConfigurations[2]; // [PITCH, ROLL]
178,16 → 181,6
 
extern ParamSet_t staticParams;
 
// MKFlags
#define MKFLAG_MOTOR_RUN (1<<0)
//#define MKFLAG_FLY (1<<1)
#define MKFLAG_CALIBRATE (1<<2)
#define MKFLAG_START (1<<3)
#define MKFLAG_EMERGENCY_FLIGHT (1<<4)
#define MKFLAG_LOWBAT (1<<5)
#define MKFLAG_RESERVE2 (1<<6)
#define MKFLAG_RESERVE3 (1<<7)
 
// bit mask for staticParams.bitConfig
#define CFG_SIMPLE_HEIGHT_CONTROL (1<<0)
#define CFG_SIMPLE_HC_HOLD_SWITCH (1<<1)
223,22 → 216,18
 
#define VARIABLE_COUNT 8
 
extern volatile uint8_t MKFlags;
extern uint8_t requiredMotors;
extern int16_t variables[VARIABLE_COUNT]; // The "Poti"s.
extern uint8_t boardRelease;
extern uint8_t CPUType;
 
extern volatile uint8_t MKFlags;
extern uint16_t isFlying;
extern volatile uint8_t isMotorRunning;
extern FlightMode_t currentFlightMode;
 
void IMUConfig_default(void);
void channelMap_default(void);
void paramSet_default(uint8_t setnumber);
void mixerMatrix_default(void);
 
void configuration_setNormalFlightParameters(void);
void configuration_setFailsafeFlightParameters(void);
void configuration_setFlightParameters(uint8_t newFlightMode);
void configuration_applyVariablesToParams(void);
 
void setCPUType(void);