Quaternion: don't update if we have a very long deltat

this can be caused by stopping the system in a debugger
This commit is contained in:
Andrew Tridgell committed 2012-03-10 10:34:30 +11:00
1 parent 6d356b6c6e
commit c7ef72cf28
1 file changed
+7
@@ -257,6 +257,13 @@ void AP_Quaternion::update(void)
_imu->update();
deltat = _imu->get_delta_time();
if (deltat > 1.0) {
// if we stop updating for 1s, we should discard this
// input data. This can happen if you are running the
// code under a debugger, and using this data point
// will just throw off your attitude by a huge amount
return;
}
// get current IMU state
gyro = _imu->get_gyro();