Skip to content

LED status extension #12

Description

@jkaflik

Context

Current firmware has a simple onboard NeoPixel status sequencer. Upstream OpenMower LowLevel uses onboard LED feedback plus CoverUI LED state for charging, battery, GPS, mode, and emergency conditions.

Current Local Behavior

Onboard NeoPixel flags exist for:

  • ROS connected.
  • Charging.
  • Discharging.
  • Battery low.
  • IMU failed.

Upstream Reference Behavior

OpenMower LowLevel indicates:

  • Emergency latch via red blinking onboard LED.
  • ROS running versus waiting states.
  • IMU communication/init failures.
  • Charging and battery status on CoverUI LEDs.
  • Poor GPS, high-level mode, and emergency state on CoverUI LEDs.

Acceptance Criteria

  • Add LED status flags for emergency, rain, heartbeat/ROS timeout, and charger present if useful.
  • Decide how to show fatal versus non-fatal IMU failure.
  • Make LED priority explicit so safety states are not hidden by normal status cycling.
  • Avoid ambiguous colors when multiple states are active.
  • Document the updated LED state table in README.
  • Keep the implementation compatible with future Cover board LED support.

Notes

Emergency/failsafe indication should have priority over nominal states like charging or ROS connected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions