[wpilib] Fix PIDController continuous range error calculations (#3170)

The inputs should all be errors, so the range should be symmetric.

Fixes #3168.
Fixes #3304.
This commit is contained in:
Tyler Veness
2021-05-21 23:52:30 -07:00
committed by GitHub
parent 04dae799a2
commit 87384ea684
8 changed files with 55 additions and 23 deletions

View File

@@ -17,8 +17,10 @@ class PIDInputOutputTest : public testing::Test {
TEST_F(PIDInputOutputTest, ContinuousInputTest) {
controller->SetP(1);
controller->EnableContinuousInput(-180, 180);
EXPECT_DOUBLE_EQ(controller->Calculate(-179, 179), -2);
EXPECT_LT(controller->Calculate(-179, 179), 0);
controller->EnableContinuousInput(0, 360);
EXPECT_DOUBLE_EQ(controller->Calculate(1, 359), -2);
}
TEST_F(PIDInputOutputTest, ProportionalGainOutputTest) {