mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-20 23:05:19 +03:00
AIR MODE implementation
This commit is contained in:
parent
b3f0bd1402
commit
83d186057f
5 changed files with 88 additions and 30 deletions
|
@ -50,6 +50,7 @@
|
|||
extern uint16_t cycleTime;
|
||||
extern uint8_t motorCount;
|
||||
extern float dT;
|
||||
extern float rpy_limiting;
|
||||
|
||||
int16_t axisPID[3];
|
||||
|
||||
|
@ -170,6 +171,10 @@ static void pidLuxFloat(pidProfile_t *pidProfile, controlRateConfig_t *controlRa
|
|||
// multiplication of rcCommand corresponds to changing the sticks scaling here
|
||||
RateError = AngleRate - gyroRate;
|
||||
|
||||
if (IS_RC_MODE_ACTIVE(BOXAIRMODE)) {
|
||||
RateError = RateError * rpy_limiting;
|
||||
}
|
||||
|
||||
// -----calculate P component
|
||||
PTerm = RateError * pidProfile->P_f[axis] * PIDweight[axis] / 100;
|
||||
|
||||
|
@ -286,6 +291,10 @@ static void pidRewrite(pidProfile_t *pidProfile, controlRateConfig_t *controlRat
|
|||
// multiplication of rcCommand corresponds to changing the sticks scaling here
|
||||
RateError = AngleRateTmp - (gyroADC[axis] / 4);
|
||||
|
||||
if (IS_RC_MODE_ACTIVE(BOXAIRMODE)) {
|
||||
RateError = RateError * rpy_limiting;
|
||||
}
|
||||
|
||||
// -----calculate P component
|
||||
PTerm = (RateError * pidProfile->P8[axis] * PIDweight[axis] / 100) >> 7;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue