From 57fe3c97919193cfa5a0bebfe0d49febefe2d034 Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Fri, 27 Jun 2025 21:26:46 +0200 Subject: [PATCH] Fix IMU --- .../apps/com.micropythonos.imu/assets/imu.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/internal_filesystem/apps/com.micropythonos.imu/assets/imu.py b/internal_filesystem/apps/com.micropythonos.imu/assets/imu.py index f9fc5357..431831d1 100644 --- a/internal_filesystem/apps/com.micropythonos.imu/assets/imu.py +++ b/internal_filesystem/apps/com.micropythonos.imu/assets/imu.py @@ -34,19 +34,22 @@ class IMU(Activity): from qmi8658 import QMI8658 import machine self.sensor = QMI8658(I2C(0, sda=machine.Pin(48), scl=machine.Pin(47))) + print("IMU sensor initialized") + #print(f"{self.sensor.temperature=} {self.sensor.acceleration=} {self.sensor.gyro=}") except Exception as e: warning = f"Warning: could not initialize IMU hardware:\n{e}" print(warning) self.templabel.set_text(warning) self.setContentView(screen) - def onStart(self, screen): - self.refresh_timer = lv.timer_create(self.refresh, 100, None) - - def onStop(self, screen): - if self.refresh_timer: - self.refresh_timer.delete() + def onStart(self, screen): + print("starting imu refresh_timer") + self.refresh_timer = lv.timer_create(self.refresh, 100, None) + def onStop(self, screen): + if self.refresh_timer: + print("stopping imu refresh_timer") + self.refresh_timer.delete() def map_nonlinear(self, value: float) -> int: # Preserve sign and work with absolute value @@ -62,8 +65,9 @@ class IMU(Activity): return int(50.0 + (sign * scaled)) # Shift to [0, 100] def refresh(self, timer): + #print("refresh timer") if self.sensor: - #print(f"""{sensor.temperature=} {sensor.acceleration=} {sensor.gyro=}""") + #print(f"{self.sensor.temperature=} {self.sensor.acceleration=} {self.sensor.gyro=}") temp = self.sensor.temperature ax = self.sensor.acceleration[0] axp = int((ax * 100 + 100)/2)