accumulated hacks
[fw/altos] / src / kernel / ao_flight.c
index f72efa068b8bc506305b73471c895c3f5a9564c9..ba1f00d0abc72196b89cdf9ca76b778ff3150eb9 100644 (file)
@@ -21,6 +21,8 @@
 #include <ao_log.h>
 #endif
 
+#include <ao_flight.h>
+
 #if HAS_MPU6000 || HAS_MPU9250
 #include <ao_quaternion.h>
 #endif
@@ -108,10 +110,12 @@ ao_flight(void)
 #if HAS_ACCEL
                        if (ao_config.accel_plus_g == 0 ||
                            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 ||
-                           ao_ground_height < -1000 ||
-                           ao_ground_height > 7000)
+                           ao_ground_accel < ao_config.accel_plus_g - ACCEL_NOSE_UP
+#if HAS_BARO
+                           || ao_ground_accel > ao_config.accel_minus_g + ACCEL_NOSE_UP
+                           || ao_ground_height < -1000 || ao_ground_height > 7000
+#endif
+                               )
                        {
                                /* Detected an accel value outside -1.5g to 1.5g
                                 * (or uncalibrated values), so we go into invalid mode
@@ -203,7 +207,9 @@ ao_flight(void)
                                ao_launch_tick = ao_boost_tick = ao_sample_tick;
 
                                /* start logging data */
+#if HAS_LOG
                                ao_log_start();
+#endif
 
 #if HAS_TELEMETRY
                                /* Increase telemetry rate */
@@ -444,7 +450,9 @@ ao_flight_dump(void)
        printf ("  max_height  %d\n", ao_max_height);
        printf ("  avg_height  %d\n", ao_avg_height);
        printf ("  error_h     %d\n", ao_error_h);
+#if !HAS_ACCEL
        printf ("  error_avg   %d\n", ao_error_h_sq_avg);
+#endif
 }
 
 static void