From a5a8a4d8de49484a2edba62cc9b84377aa5415a6 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Fri, 21 Feb 2020 00:19:25 -0800 Subject: [PATCH] altos/altoslib: BMX160 Y axis gyro direction is opposite from MPU Just need to flip the sign to make the values go the same direction. Signed-off-by: Keith Packard --- altoslib/AltosIMU.java | 3 ++- altoslib/AltosTelemetryMegaSensor.java | 3 ++- src/telemega-v4.0/ao_pins.h | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/altoslib/AltosIMU.java b/altoslib/AltosIMU.java index 7a5c222e..98998956 100644 --- a/altoslib/AltosIMU.java +++ b/altoslib/AltosIMU.java @@ -223,8 +223,9 @@ public class AltosIMU implements Cloneable { case imu_type_easymega_v1: return gyro_x; case imu_type_easymega_v2: - case imu_type_telemega_v4: return -gyro_y; + case imu_type_telemega_v4: + return gyro_y; default: return AltosLib.MISSING; } diff --git a/altoslib/AltosTelemetryMegaSensor.java b/altoslib/AltosTelemetryMegaSensor.java index 320761ca..471e1787 100644 --- a/altoslib/AltosTelemetryMegaSensor.java +++ b/altoslib/AltosTelemetryMegaSensor.java @@ -93,8 +93,9 @@ public class AltosTelemetryMegaSensor extends AltosTelemetryStandard { case AltosIMU.imu_type_easymega_v1: return gyro_x(); case AltosIMU.imu_type_easymega_v2: - case AltosIMU.imu_type_telemega_v4: return -gyro_y(); + case AltosIMU.imu_type_telemega_v4: + return gyro_y(); default: return AltosLib.MISSING; } diff --git a/src/telemega-v4.0/ao_pins.h b/src/telemega-v4.0/ao_pins.h index 8f044316..dac3ae5f 100644 --- a/src/telemega-v4.0/ao_pins.h +++ b/src/telemega-v4.0/ao_pins.h @@ -338,7 +338,7 @@ struct ao_adc { #define ao_data_through(packet) ((packet)->bmx160.acc_z) #define ao_data_roll(packet) ((packet)->bmx160.gyr_x) -#define ao_data_pitch(packet) (-(packet)->bmx160.gyr_y) +#define ao_data_pitch(packet) ((packet)->bmx160.gyr_y) #define ao_data_yaw(packet) ((packet)->bmx160.gyr_z) #define ao_data_mag_along(packet) ((packet)->bmx160.mag_x) -- 2.30.2