altos/telemega-v6.0: bmi088 axes were wrong
authorKeith Packard <keithp@keithp.com>
Thu, 9 Feb 2023 23:22:17 +0000 (15:22 -0800)
committerKeith Packard <keithp@keithp.com>
Fri, 10 Feb 2023 02:26:27 +0000 (18:26 -0800)
X is 'along', Y is 'across'.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/telemega-v6.0/ao_pins.h

index 5bc224fe950ac97dde27ef82c8407537ea4e0d11..89af7ed2135107c95af3fc5459a43f00b500bd24 100644 (file)
@@ -340,8 +340,8 @@ struct ao_adc {
  *
  *     pin 1 NE corner of chip
  *
- *     +along          +Y      +roll   +Y
- *     +across         -X      +pitch  -X
+ *     +along          +X      +roll   +X
+ *     +across         -Y      +pitch  -Y
  *     +through        +Z      +yaw    +Z
  */
 
@@ -353,12 +353,12 @@ struct ao_adc {
 #define AO_BMI088_GYR_CS_PIN   13
 #define HAS_IMU                        1
 
-#define ao_bmi088_along(m)     ((m)->acc.y)
-#define ao_bmi088_across(m)    (-(m)->acc.x)
+#define ao_bmi088_along(m)     ((m)->acc.x)
+#define ao_bmi088_across(m)    ((m)->acc.y)
 #define ao_bmi088_through(m)   ((m)->acc.z)
 
-#define ao_bmi088_roll(m)      ((m)->gyr.y)
-#define ao_bmi088_pitch(m)     (-(m)->gyr.x)
+#define ao_bmi088_roll(m)      ((m)->gyr.x)
+#define ao_bmi088_pitch(m)     ((m)->gyr.y)
 #define ao_bmi088_yaw(m)       ((m)->gyr.z)
 
 #define ao_data_along(packet)  ao_bmi088_along(&(packet)->bmi088)