altos: Support bmx160-only configs
authorKeith Packard <keithp@keithp.com>
Thu, 9 Apr 2020 00:22:21 +0000 (17:22 -0700)
committerKeith Packard <keithp@keithp.com>
Thu, 9 Apr 2020 00:25:33 +0000 (17:25 -0700)
Get z-axis accel from bmx160 data

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

index 56fada68bd381635c3f1a8bf309b3ce487f6142e..b28c76b7fb40cf7a3efe36946050267ddc6cbf3b 100644 (file)
@@ -135,6 +135,9 @@ struct ao_data {
 #endif
 #if HAS_BMX160
        struct ao_bmx160_sample         bmx160;
+#if !HAS_ADXL375
+       int16_t z_accel;
+#endif
 #endif
 };
 
@@ -444,6 +447,19 @@ static inline float ao_convert_accel(int16_t sensor)
 
 #endif
 
+#if !HAS_ACCEL && HAS_BMX160
+
+#define HAS_ACCEL      1
+
+typedef int16_t accel_t;
+
+#define ao_data_accel(packet)                  ((packet)->z_accel)
+#define ao_data_accel_cook(packet)             ((packet)->bmx160.acc_y)
+#define ao_data_set_accel(packet, accel)       ((packet)->z_accel = (accel))
+#define ao_data_accel_invert(a)                        (-(a))
+
+#endif
+
 #if !HAS_GYRO && HAS_BMX160
 
 #define HAS_GYRO       1