Problem
user-guide/operation.md ("System Operation") is the first page after Getting Started, but ~150 of its 207 lines document firmware internals (Solo/Co-op modes, numbered shutdown sequences, watchdog mechanics) that are invisible to users on HaLOS or any OS with halpid. The everyday content (shutdown behavior, LED meanings) is buried at the bottom or written in firmware vocabulary. The page also carries facts that contradict the firmware.
Verified facts (firmware config.rs @ main, live device fw 3.3.1 / halpid 5.1.1)
auto_restart: the firmware constant is true, but the production test suite sets it to false on every unit since early 2026 (HALPI2-tests 222_set_auto_restart_action.py), so current devices do not restart after a software shutdown. Older units restart after ~5 s (OFF_STATE_DURATION_MS). Toggle with halpi config set auto_restart <bool>.
- Watchdog timeout default: 10 s, not 30 s as operation.md claims.
- Blackout timer: 5 s (solo firmware default and halpid
blackout-time-limit).
- Forced power-off after shutdown request: 60 s. Supercap thresholds: 8.0 V on, 5.5 V solo off. LED bar: LED n covers 5+n…6+n V.
- LED patterns per
led_patterns.rs: operation.md's table is correct; troubleshooting.md's "scrolling green/yellow", "LED 1 flashing red = input >32 V", and "all blinking red = hardware fault" patterns do not exist in firmware.
- Standby is shipped (
halpi standby with delay/datetime wakeup; EnteringStandby=blue, Standby=dim red), not "future" as operation.md says.
- Input voltage: official spec 10–32 VDC (shop, index.md). getting-started.md and troubleshooting.md say 11–32 (wrong). technical-reference/hardware.md says 9–36 — open question, needs an owner decision (component rating vs marketed spec).
Plan — phase 1 (English only)
- Rewrite
user-guide/operation.md in place as Daily Operation (~75 lines): automatic-power-management lead, powering on, shutting down (auto-restart gotcha first), canonical LED table in user vocabulary (keep the ## Status LED Indicators anchor), power-loss behavior, health check, running-without-daemon callout, blinkenlights pointer. No file moves, URL preserved.
- Fill
technical-reference/controller.md (placeholder) with the displaced internals: modes, shutdown sequences, watchdog, standby, exhaustive LED/state table, config parameter defaults, I2C pointer.
- Fill
technical-reference/power-supply.md (placeholder): input stage, current limiting, supercap charging/backup figures, power-loss detection thresholds.
- Seed
faq.md (restart-after-shutdown, keep it off, backup duration, power-loss action, persistent yellow bar).
- Fix misdirected links: getting-started.md:196,200,343,383 → hardware.md anchors; retarget
#power-management-and-shutdown-procedures references (troubleshooting.md, interfaces.md); hardware.md "Boot procedures" link; drop phantom "Common Use Cases" references (index.md, getting-started.md).
- Correct facts everywhere: watchdog 10 s, voltage 10–32 V on user-facing pages, standby status, troubleshooting LED table reconciled with firmware.
mkdocs.yml nav: retitle "System Operation" → "Daily Operation"; tech-ref "Interfaces and Connectivity" → "Interface Reference"; flatten single-page Getting Started section; remove empty placeholder pages (integration, advanced-config, resources, compliance) from nav, keeping files.
Phase 2 (separate PRs, later)
Problem
user-guide/operation.md("System Operation") is the first page after Getting Started, but ~150 of its 207 lines document firmware internals (Solo/Co-op modes, numbered shutdown sequences, watchdog mechanics) that are invisible to users on HaLOS or any OS with halpid. The everyday content (shutdown behavior, LED meanings) is buried at the bottom or written in firmware vocabulary. The page also carries facts that contradict the firmware.Verified facts (firmware
config.rs@ main, live device fw 3.3.1 / halpid 5.1.1)auto_restart: the firmware constant istrue, but the production test suite sets it to false on every unit since early 2026 (HALPI2-tests222_set_auto_restart_action.py), so current devices do not restart after a software shutdown. Older units restart after ~5 s (OFF_STATE_DURATION_MS). Toggle withhalpi config set auto_restart <bool>.blackout-time-limit).led_patterns.rs: operation.md's table is correct; troubleshooting.md's "scrolling green/yellow", "LED 1 flashing red = input >32 V", and "all blinking red = hardware fault" patterns do not exist in firmware.halpi standbywith delay/datetime wakeup; EnteringStandby=blue, Standby=dim red), not "future" as operation.md says.Plan — phase 1 (English only)
user-guide/operation.mdin place as Daily Operation (~75 lines): automatic-power-management lead, powering on, shutting down (auto-restart gotcha first), canonical LED table in user vocabulary (keep the## Status LED Indicatorsanchor), power-loss behavior, health check, running-without-daemon callout, blinkenlights pointer. No file moves, URL preserved.technical-reference/controller.md(placeholder) with the displaced internals: modes, shutdown sequences, watchdog, standby, exhaustive LED/state table, config parameter defaults, I2C pointer.technical-reference/power-supply.md(placeholder): input stage, current limiting, supercap charging/backup figures, power-loss detection thresholds.faq.md(restart-after-shutdown, keep it off, backup duration, power-loss action, persistent yellow bar).#power-management-and-shutdown-proceduresreferences (troubleshooting.md, interfaces.md); hardware.md "Boot procedures" link; drop phantom "Common Use Cases" references (index.md, getting-started.md).mkdocs.ymlnav: retitle "System Operation" → "Daily Operation"; tech-ref "Interfaces and Connectivity" → "Interface Reference"; flatten single-page Getting Started section; remove empty placeholder pages (integration, advanced-config, resources, compliance) from nav, keeping files.Phase 2 (separate PRs, later)
software-development/daemon.md(config parameter + REST API reference promised by software.md)