From 7b548eaa540ce084e7addd0be1c01d9ee36b10ec Mon Sep 17 00:00:00 2001 From: James Cotton Date: Tue, 21 Feb 2012 00:37:52 -0600 Subject: [PATCH] Fix bug in the integral for altitude hold where it was accumulating wrong variable. --- flight/Modules/AltitudeHold/altitudehold.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flight/Modules/AltitudeHold/altitudehold.c b/flight/Modules/AltitudeHold/altitudehold.c index 81cc9f4f4..8d1c14542 100644 --- a/flight/Modules/AltitudeHold/altitudehold.c +++ b/flight/Modules/AltitudeHold/altitudehold.c @@ -332,7 +332,7 @@ static void altitudeHoldTask(void *parameters) error = (starting_altitude + altitudeHoldDesired.Altitude) - altHold.Altitude; // Compute integral off altitude error - throttleIntegral += ((starting_altitude + altitudeHoldDesired.Altitude) - altHold.Velocity) * altitudeHoldSettings.Ki * dT; + throttleIntegral += error * altitudeHoldSettings.Ki * dT; // Only update stabilizationDesired less frequently if((thisTime - lastUpdateTime) < 20)