altos: Sanity check barometer before going to pad mode
authorKeith Packard <keithp@keithp.com>
Wed, 8 May 2013 02:29:06 +0000 (19:29 -0700)
committerKeith Packard <keithp@keithp.com>
Wed, 8 May 2013 03:08:01 +0000 (20:08 -0700)
Make sure the barometer is reporting some sensible value before
letting TM try to fly the rocket.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/core/ao_flight.c

index 64c95063ae9f5ea1e59a12dd6a2317d3e0be328e..9d9d4c6e0b3ddea72a724b1b3eacee94dbb9f76c 100644 (file)
@@ -94,7 +94,9 @@ ao_flight(void)
                        if (ao_config.accel_plus_g == 0 ||
                            ao_config.accel_minus_g == 0 ||
                            ao_ground_accel < ao_config.accel_plus_g - ACCEL_NOSE_UP ||
                        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_accel > ao_config.accel_minus_g + ACCEL_NOSE_UP ||
+                           ao_ground_height < -1000 ||
+                           ao_ground_height > 7000)
                        {
                                /* Detected an accel value outside -1.5g to 1.5g
                                 * (or uncalibrated values), so we go into invalid mode
                        {
                                /* Detected an accel value outside -1.5g to 1.5g
                                 * (or uncalibrated values), so we go into invalid mode