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 2012-03-04 20:35:08 +11:00
parent 8b73166605
commit 1ea1b500a6
1 changed files with 7 additions and 0 deletions

View File

@ -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();