1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-25 01:05:27 +03:00

Airmode Plus with Insane Acrobility Factor

This commit is contained in:
borisbstyle 2016-01-06 17:18:12 +01:00
parent 42dfba8218
commit d2122e0674
4 changed files with 81 additions and 12 deletions

View file

@ -20,6 +20,7 @@
#define GYRO_I_MAX 256 // Gyro I limiter
#define YAW_P_LIMIT_MIN 100 // Maximum value for yaw P limiter
#define YAW_P_LIMIT_MAX 500 // Maximum value for yaw P limiter
#define IS_POSITIVE(x) ((x > 0) ? true : false)
typedef enum {
PIDROLL,
@ -57,7 +58,7 @@ typedef struct pidProfile_s {
float H_level;
uint8_t H_sensitivity;
uint16_t yaw_p_limit; // set P term limit (fixed value was 300)
uint16_t airModeInsaneAcrobilityFactor; // Air mode acrobility factor
uint8_t dterm_cut_hz; // (default 17Hz, Range 1-50Hz) Used for PT1 element in PID1, PID2 and PID5
uint8_t delta_from_gyro_error; // Used for filering Pterm noise on noisy frames
uint8_t gyro_soft_lpf; // Gyro FIR filter
@ -71,6 +72,14 @@ typedef struct pidProfile_s {
#endif
} pidProfile_t;
typedef struct airModePlus {
float factor;
float wowFactor;
float iTermScaler;
bool isCurrentlyAtZero;
bool previousReferenceIsPositive;
} airModePlus_t;
extern int16_t axisPID[XYZ_AXIS_COUNT];
extern int32_t axisPID_P[3], axisPID_I[3], axisPID_D[3];