diff --git a/internal_filesystem/builtin/apps/com.micropythonos.settings/assets/calibrate_imu.py b/internal_filesystem/builtin/apps/com.micropythonos.settings/assets/calibrate_imu.py index a0b67a89..bd43fc96 100644 --- a/internal_filesystem/builtin/apps/com.micropythonos.settings/assets/calibrate_imu.py +++ b/internal_filesystem/builtin/apps/com.micropythonos.settings/assets/calibrate_imu.py @@ -85,7 +85,6 @@ class CalibrateIMUActivity(Activity): btn_cont.set_height(lv.SIZE_CONTENT) btn_cont.set_style_border_width(0, 0) btn_cont.set_flex_flow(lv.FLEX_FLOW.ROW) - btn_cont.set_style_pad_all(1,0) btn_cont.set_style_flex_main_place(lv.FLEX_ALIGN.SPACE_BETWEEN, 0) # Action button @@ -135,7 +134,7 @@ class CalibrateIMUActivity(Activity): """Update UI based on current state.""" if self.current_state == CalibrationState.READY: self.status_label.set_text("Place device on flat, stable surface\n\nKeep device completely still during calibration") - self.detail_label.set_text("Calibration will take ~2 seconds\nUI will freeze during calibration") + self.detail_label.set_text("Calibration will take ~1 seconds\nUI will freeze during calibration") self.action_button_label.set_text("Calibrate Now") self.action_button.remove_state(lv.STATE.DISABLED) self.progress_bar.add_flag(lv.obj.FLAG.HIDDEN) @@ -187,7 +186,7 @@ class CalibrateIMUActivity(Activity): if self.is_desktop: stationarity = {'is_stationary': True, 'message': 'Mock: Stationary'} else: - stationarity = SensorManager.check_stationarity(samples=30) + stationarity = SensorManager.check_stationarity(samples=25) if stationarity is None or not stationarity['is_stationary']: msg = stationarity['message'] if stationarity else "Stationarity check failed" @@ -206,12 +205,12 @@ class CalibrateIMUActivity(Activity): gyro = SensorManager.get_default_sensor(SensorManager.TYPE_GYROSCOPE) if accel: - accel_offsets = SensorManager.calibrate_sensor(accel, samples=100) + accel_offsets = SensorManager.calibrate_sensor(accel, samples=50) else: accel_offsets = None if gyro: - gyro_offsets = SensorManager.calibrate_sensor(gyro, samples=100) + gyro_offsets = SensorManager.calibrate_sensor(gyro, samples=50) else: gyro_offsets = None diff --git a/internal_filesystem/lib/mpos/board/linux.py b/internal_filesystem/lib/mpos/board/linux.py index a82a12ce..0b055568 100644 --- a/internal_filesystem/lib/mpos/board/linux.py +++ b/internal_filesystem/lib/mpos/board/linux.py @@ -116,7 +116,7 @@ import mpos.sensor_manager as SensorManager # Initialize with no I2C bus - will detect MCU temp if available # (On Linux desktop, this will fail gracefully but set _initialized flag) -SensorManager.init(None) +SensorManager.init(None, mounted_position=SensorManager.FACING_EARTH) print("linux.py finished") diff --git a/internal_filesystem/lib/mpos/sensor_manager.py b/internal_filesystem/lib/mpos/sensor_manager.py index ce9cf6b8..cf10b70c 100644 --- a/internal_filesystem/lib/mpos/sensor_manager.py +++ b/internal_filesystem/lib/mpos/sensor_manager.py @@ -87,7 +87,7 @@ def init(i2c_bus, address=0x6B, mounted_position=FACING_SKY): Returns: bool: True if initialized successfully """ - global _i2c_bus, _i2c_address, _initialized, _has_mcu_temperature + global _i2c_bus, _i2c_address, _initialized, _has_mcu_temperature, _mounted_position _i2c_bus = i2c_bus _i2c_address = address @@ -226,7 +226,7 @@ def read_sensor(sensor): if sensor.type == TYPE_ACCELEROMETER: if _imu_driver: ax, ay, az = _imu_driver.read_acceleration() - if _mounted_position == SensorManager.FACING_EARTH: + if _mounted_position == FACING_EARTH: az += _GRAVITY return (ax, ay, az) elif sensor.type == TYPE_GYROSCOPE: