#pragma once #include // Optional accelerometer-driven orientation tracker. Returns 0..3 (quarter // turns CW from default mounting). Boards without an IMU — or boards with // rotation intentionally disabled, like AMOLED-1.8 fixed at 0° — return 0 // from imu_hal_rotation_quadrant() and no-op on init/tick. void imu_hal_init(void); void imu_hal_tick(void); uint8_t imu_hal_rotation_quadrant(void); // Raw accelerometer read in g-units (gravity = 1.0). Used by the tilt-dimmer // screen to derive wrist pitch/roll. Returns true and fills x/y/z when a fresh // sample is available; returns false (leaving the outputs untouched) on boards // without an accelerometer or when no new data is ready yet. bool imu_hal_read_accel(float* x, float* y, float* z);