__pdata uint16_t ao_boost_tick; /* time of launch detect */
__pdata uint16_t ao_motor_number; /* number of motors burned so far */
-#if HAS_IMU
+#if HAS_SENSOR_ERRORS
/* Any sensor can set this to mark the flight computer as 'broken' */
__xdata uint8_t ao_sensor_errors;
#endif
ao_config.accel_minus_g == 0 ||
ao_ground_accel < ao_config.accel_plus_g - ACCEL_NOSE_UP ||
ao_ground_accel > ao_config.accel_minus_g + ACCEL_NOSE_UP ||
-#if HAS_IMU
- ao_sensor_errors ||
-#endif
ao_ground_height < -1000 ||
ao_ground_height > 7000)
{
#endif
} else {
/* Set idle mode */
- ao_flight_state = ao_flight_idle;
+ ao_flight_state = ao_flight_idle;
+#if HAS_SENSOR_ERRORS
+ if (ao_sensor_errors)
+ ao_flight_state = ao_flight_invalid;
+#endif
#if HAS_ACCEL && HAS_RADIO && PACKET_HAS_SLAVE
/* Turn on packet system in idle mode on TeleMetrum */