From 93c2317a5d8ae20f6b3feb13ffc91c3fdc1f2318 Mon Sep 17 00:00:00 2001 From: JensDiemer Date: Tue, 24 Feb 2026 19:06:21 +0100 Subject: [PATCH] Fix MPU6886 X-Axis MPU6886 is part of M5Stack FIRE. I compare the values from this device with Waveshare ESP32-S3-Touch-LCD-2: The X-axis values are inverted. Fix this here. --- internal_filesystem/lib/drivers/imu_sensor/mpu6886.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal_filesystem/lib/drivers/imu_sensor/mpu6886.py b/internal_filesystem/lib/drivers/imu_sensor/mpu6886.py index 0cf8d137..a7a570c5 100644 --- a/internal_filesystem/lib/drivers/imu_sensor/mpu6886.py +++ b/internal_filesystem/lib/drivers/imu_sensor/mpu6886.py @@ -59,7 +59,7 @@ def _write(self, reg: int, data: bytes): def _read_xyz(self, reg: int, scale: float) -> tuple[int, int, int]: data = self.i2c.readfrom_mem(self.address, reg, 6) - x = twos_complement(data[0] << 8 | data[1], 16) + x = twos_complement(data[0] << 8 | data[1], 16) * -1 y = twos_complement(data[2] << 8 | data[3], 16) z = twos_complement(data[4] << 8 | data[5], 16) return (x * scale, y * scale, z * scale)