diff --git a/ArduPlane/Attitude.pde b/ArduPlane/Attitude.pde index 2f16e57cbc6c4aa175afd002c91e2925096c2dbc..af70bef9839d818fe01c63ffeb65dca89b5a9f9e 100644 --- a/ArduPlane/Attitude.pde +++ b/ArduPlane/Attitude.pde @@ -364,6 +364,11 @@ static void stabilize() rollController.reset_I(); pitchController.reset_I(); yawController.reset_I(); + + // if moving very slowly also zero the steering integrator + if (gps.ground_speed() < 1) { + steerController.reset_I(); + } } } diff --git a/ArduPlane/system.pde b/ArduPlane/system.pde index 537faa230f2d2fc9f52c819ef2131dbd5e41989d..48f4a20fafb48dbf6cc22418b2c1a29edb9a163e 100644 --- a/ArduPlane/system.pde +++ b/ArduPlane/system.pde @@ -390,6 +390,7 @@ static void set_mode(enum FlightMode mode) rollController.reset_I(); pitchController.reset_I(); yawController.reset_I(); + steerController.reset_I(); } // exit_mode - perform any cleanup required when leaving a flight mode