Skip to content

Homogenize module behavior: status, missing device/slave guards, action button handling

Several real modules diverge in behavior where they should all follow the same convention. Noted by Gilles, 2026-10-13.

1. Status

Not every module exposes a status, and some that do get it wrong. Needs a consistent convention applied everywhere.

2. Missing/unreachable device or slave guard

Some modules still crash when a configured device or slave module is missing or unreachable at runtime. The guard against this already exists and works correctly in the more mature modules - it's just missing from others, not something to design from scratch.

3. Action button behavior

Inconsistent handling of action buttons across modules. guider and focus do this correctly as the reference: they update the bool's value on click, and handle the SV click message consistently. Other modules need to be aligned on this same pattern.

Scope, in priority order

  1. focus
  2. guider
  3. planner
  4. sequencer
  5. navigator
  6. blindpec
  7. inspector
  8. monitor
  9. polar

To verify separately (may or may not need the same treatment):

  • allsky
  • meteo (somewhat particular, needs its own look)

Out of scope: dummy (template/example module, not a real one - not worth it).