altos: Allow 'Z' MPU6000 axis to be changed at compile time
authorKeith Packard <keithp@keithp.com>
Thu, 19 Jul 2012 20:41:03 +0000 (13:41 -0700)
committerKeith Packard <keithp@keithp.com>
Thu, 19 Jul 2012 20:41:03 +0000 (13:41 -0700)
This axis selects which axis to use for computing flight acceleration
when no high-g accelerometer is present.

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

index fdc49ca202df0425eb56e75162f8adc86b13e037..3944edac4cca6b97fac9685e6e4cfa63ce66e567 100644 (file)
@@ -91,9 +91,13 @@ typedef int16_t alt_t;
 typedef int16_t accel_t;
 
 /* MPU6000 is hooked up so that positive y is positive acceleration */
-#define ao_data_accel(packet)                  ((packet)->mpu6000.accel_y)
-#define ao_data_accel_cook(packet)             (-(packet)->mpu6000.accel_y)
-#define ao_data_set_accel(packet, accel)       ((packet)->mpu6000.accel_y = (accel))
+#ifndef ao_accel_axis
+#define ao_accel_axis  accel_y
+#endif
+
+#define ao_data_accel(packet)                  ((packet)->mpu6000.ao_accel_axis)
+#define ao_data_accel_cook(packet)             (-(packet)->mpu6000.ao_accel_axis)
+#define ao_data_set_accel(packet, accel)       ((packet)->mpu6000.ao_accel_axis = (accel))
 #define ao_data_accel_invert(a)                        (-(a))
 
 #else /* HAS_MPU6000 && !HAS_HIGHG_ACCEL */