altos: Use BMI088 as z-axis accel as needed
authorKeith Packard <keithp@keithp.com>
Thu, 16 Mar 2023 17:25:19 +0000 (10:25 -0700)
committerKeith Packard <keithp@keithp.com>
Sun, 7 Jan 2024 00:36:07 +0000 (16:36 -0800)
When there's no high-g accel available, use the 'along' axis
to measure acceleration.

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

index 8545c7d4ddfabfa10763d4b79095ef6bf410ad54..a6ae6fa84b3efe1158901da889c9daea8e07e22d 100644 (file)
@@ -503,6 +503,18 @@ static inline float ao_convert_accel(int16_t sensor)
 
 #endif
 
+#if !HAS_ACCEL && HAS_BMI088
+
+#define HAS_ACCEL      1
+
+typedef int16_t accel_t;
+
+#define ao_data_accel_raw(packet)              -ao_data_along(packet)
+#define ao_data_accel_invert(a)                        (-(a))
+#define ao_data_accel_to_sample(accel)         ao_bmi_accel_to_sample(accel)
+
+#endif
+
 #if !HAS_GYRO && HAS_BMI088
 
 #define HAS_GYRO       1