mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-24 00:35:39 +03:00
Merge pull request #7193 from joelucid/ac_fixes
fix abs control refactor, make abs control cutoff configurable
This commit is contained in:
commit
b04d6d69af
4 changed files with 41 additions and 45 deletions
|
@ -589,29 +589,22 @@ TEST(pidControllerTest, testAbsoluteControl) {
|
|||
pidStabilisationState(PID_STABILISATION_ON);
|
||||
|
||||
float gyroRate = 0;
|
||||
bool itermRelaxIsEnabled = false;
|
||||
float setpointLpf = 6;
|
||||
float setpointHpf = 30;
|
||||
|
||||
float itermErrorRate = 10;
|
||||
float currentPidSetpoint = 10;
|
||||
|
||||
applyAbsoluteControl(FD_PITCH, gyroRate, itermRelaxIsEnabled, setpointLpf, setpointHpf,
|
||||
¤tPidSetpoint, &itermErrorRate);
|
||||
applyAbsoluteControl(FD_PITCH, gyroRate, ¤tPidSetpoint, &itermErrorRate);
|
||||
|
||||
ASSERT_NEAR(10.8, itermErrorRate, calculateTolerance(10.8));
|
||||
ASSERT_NEAR(10.8, currentPidSetpoint, calculateTolerance(10.8));
|
||||
|
||||
itermRelaxIsEnabled = true;
|
||||
applyAbsoluteControl(FD_PITCH, gyroRate, itermRelaxIsEnabled, setpointLpf, setpointHpf,
|
||||
¤tPidSetpoint, &itermErrorRate);
|
||||
applyAbsoluteControl(FD_PITCH, gyroRate, ¤tPidSetpoint, &itermErrorRate);
|
||||
ASSERT_NEAR(10.8, itermErrorRate, calculateTolerance(10.8));
|
||||
ASSERT_NEAR(10.8, currentPidSetpoint, calculateTolerance(10.8));
|
||||
|
||||
gyroRate = -53;
|
||||
axisError[FD_PITCH] = -60;
|
||||
applyAbsoluteControl(FD_PITCH, gyroRate, itermRelaxIsEnabled, setpointLpf, setpointHpf,
|
||||
¤tPidSetpoint, &itermErrorRate);
|
||||
applyAbsoluteControl(FD_PITCH, gyroRate, ¤tPidSetpoint, &itermErrorRate);
|
||||
ASSERT_NEAR(-79.2, itermErrorRate, calculateTolerance(-79.2));
|
||||
ASSERT_NEAR(-79.2, currentPidSetpoint, calculateTolerance(-79.2));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue