Watch-side features developed on the AMOLED-2.06 and shared across all boards:
- BLE command channel (…0005, notify watch→PC) via ble_send_command(); the
watch stays "dumb" and the daemon maps commands to Home Assistant.
- Battery detail screen + protective low-voltage cutoff; power HAL gains
battery_mv() / shutdown(), with battery_est.{h,cpp} for the time-left anchor.
- Home screen: dynamic 2-column button grid driven by the desktop config
(RX "btns" labels); tap notifies {"cmd":"btn","i":N}.
- Dimmer screen: IMU tilt-joystick over the light's brightness / color temp.
imu_hal_read_accel() added to the HAL (real on 2.06/2.16, no-op elsewhere);
streams absolute {"cmd":"bri"|"ct","v":..}; daemon seeds the dial via "dim".
Per-board tilt axis is calibrated with the DIM_CALIB overlay (off by default).
Multi-board fix: enable LV_FONT_MONTSERRAT_20/28 on the 2.16, 1.8 and C6 envs.
Shared ui.cpp uses these glyphs for the launcher tiles and back chevron, so
those three boards had failed to compile since the Phase-2 UI landed. All four
envs now build clean. README: correct the Windows pairing name to "Clawdmeter".
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
689 B
C
16 lines
689 B
C
#pragma once
|
|
|
|
// Rough "time left on battery" estimator. Watches the AXP fuel-gauge percentage
|
|
// while discharging and projects minutes-to-empty from the average drain rate
|
|
// since discharge began. Coarse by design — the gauge moves in slow 1% steps —
|
|
// so the UI shows it as "~Xh Ym left", emphasis on the ~.
|
|
//
|
|
// Feed it the latest percent + charging flag whenever a fresh battery reading
|
|
// lands (the daemon-independent battery poll in main.cpp).
|
|
void battery_est_update(int percent, bool charging);
|
|
|
|
// Estimated minutes remaining, or:
|
|
// -2 charging / on USB (no estimate to give)
|
|
// -1 not enough discharge history yet ("estimating…")
|
|
int battery_est_minutes(void);
|