BetterFrame/kiosk
Mitchell R 51c58e7abf feat: Pi fan control + temp monitoring + stream swap on layout change
Kiosk:
- hwmon.rs reads /sys/class/thermal + /sys/class/hwmon for CPU temp,
  fan RPM, fan PWM
- Heartbeat reports cpu_temp_c, fan_rpm, fan_pwm
- WS message "fan" with {pwm: N} or {mode: "auto"} sets pwm1_enable+pwm1
- Picture content_fit Cover → Contain (no more cropping/overlay cuts)
- ensure_warm tears down + rebuilds pipeline when desired stream
  changes (M↔S swap on layout change)

Server:
- Migration v0.8: add cpu_temp_c, fan_rpm, fan_pwm to kiosks
- Heartbeat persists hwmon fields
- KioskEditPage shows CPU/fan/PWM + Auto/Off/50%/Full buttons
- POST /admin/kiosks/:id/fan dispatches via coordinator WS
2026-05-11 11:47:07 +02:00
..
src feat: Pi fan control + temp monitoring + stream swap on layout change 2026-05-11 11:47:07 +02:00
Cargo.lock refactor: Nx-Witness layout builder + drop regions/is_default 2026-05-10 21:55:19 +02:00
Cargo.toml feat: WebKit for web/html cells + display auto-discovery via heartbeat 2026-05-10 22:39:53 +02:00
prototype.sh fix(deploy): require proxied local services 2026-05-11 09:51:00 +02:00