diff --git a/libraries/AP_InertialSensor/AP_InertialSensor_SITL.cpp b/libraries/AP_InertialSensor/AP_InertialSensor_SITL.cpp index e60a5a6062..4d75d58a40 100644 --- a/libraries/AP_InertialSensor/AP_InertialSensor_SITL.cpp +++ b/libraries/AP_InertialSensor/AP_InertialSensor_SITL.cpp @@ -179,15 +179,19 @@ void AP_InertialSensor_SITL::timer_update(void) #endif for (uint8_t i=0; i= next_accel_sample[i]) { - generate_accel(i); - while (now >= next_accel_sample[i]) { - next_accel_sample[i] += 1000000UL / accel_sample_hz[i]; + if (((1U<accel_fail_mask) == 0) { + generate_accel(i); + while (now >= next_accel_sample[i]) { + next_accel_sample[i] += 1000000UL / accel_sample_hz[i]; + } } } if (now >= next_gyro_sample[i]) { - generate_gyro(i); - while (now >= next_gyro_sample[i]) { - next_gyro_sample[i] += 1000000UL / gyro_sample_hz[i]; + if (((1U<gyro_fail_mask) == 0) { + generate_gyro(i); + while (now >= next_gyro_sample[i]) { + next_gyro_sample[i] += 1000000UL / gyro_sample_hz[i]; + } } } }