Skip to content

Cover board support #13

Description

@jkaflik

Context

The OpenMower LowLevel firmware supports the stock/custom CoverUI board over a second serial link. This firmware currently defines PIN_UI_TX and PIN_UI_RX, but does not implement Cover board communication.

Upstream Reference Behavior

OpenMower LowLevel CoverUI protocol supports:

  • Version request/response.
  • Button events.
  • Emergency state events from stock CoverUI.
  • Rain value events from stock CoverUI.
  • Topic subscriptions from CoverUI.
  • LED matrix updates.
  • CRC validation and COBS framing through PacketSerial.

Acceptance Criteria

  • Initialize the UI serial port on PIN_UI_TX and PIN_UI_RX for HW 0.13.x.
  • Implement packet framing and CRC validation compatible with OpenMower CoverUI protocol.
  • Detect UI board availability using version request/response.
  • Publish CoverUI button events to ROS 2.
  • Accept CoverUI emergency states and feed them into firmware emergency handling.
  • Accept CoverUI rain values and feed them into rain detection.
  • Send useful LED status updates to the CoverUI board.
  • Expose UI board availability in board status telemetry.

Notes

This is separate from onboard NeoPixel LED status. The protocol structs in upstream ui_board.h are a useful compatibility reference.

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