Skip to content

Restructure System Operation into a user-first Daily Operation page #46

Description

@mairas

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)

  1. 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.
  2. Fill technical-reference/controller.md (placeholder) with the displaced internals: modes, shutdown sequences, watchdog, standby, exhaustive LED/state table, config parameter defaults, I2C pointer.
  3. Fill technical-reference/power-supply.md (placeholder): input stage, current limiting, supercap charging/backup figures, power-loss detection thresholds.
  4. Seed faq.md (restart-after-shutdown, keep it off, backup duration, power-loss action, persistent yellow bar).
  5. 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).
  6. Correct facts everywhere: watchdog 10 s, voltage 10–32 V on user-facing pages, standby status, troubleshooting LED table reconciled with firmware.
  7. 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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions