altos: Allow use of ADXL375 as IMU
authorKeith Packard <keithp@keithp.com>
Sun, 2 Aug 2020 20:04:27 +0000 (13:04 -0700)
committerKeith Packard <keithp@keithp.com>
Thu, 22 Oct 2020 04:33:58 +0000 (21:33 -0700)
This lets EasyMotor report all three axes of acceleration and use
that for idle detection.

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

index b43a1cd498dd636a65c0c59c55bcf7af83090bbb..dcd8fc31b8e9a33ee9debadf826bc9a6e6ed3303 100644 (file)
@@ -346,6 +346,13 @@ typedef int16_t    accel_t;
 #endif
 #define ao_data_accel_invert(accel)            (-(accel))
 
 #endif
 #define ao_data_accel_invert(accel)            (-(accel))
 
+#if USE_ADXL375_IMU
+#define ao_data_along(packet)                  ((packet)->adxl375.AO_ADXL375_AXIS)
+#define ao_data_across(packet)                 ((packet)->adxl375.AO_ADXL375_ACROSS_AXIS)
+#define ao_data_through(packet)                        ((packet)->adxl375.z)
+#define ao_data_accel_to_sample(accel)         ao_adxl375_accel_to_sample(accel)
+#endif
+
 #endif /* HAS_ADXL375 */
 
 #if !HAS_ACCEL && HAS_MPU6000
 #endif /* HAS_ADXL375 */
 
 #if !HAS_ACCEL && HAS_MPU6000