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); |