Skip to content

Rain detection #8

Description

@jkaflik

Context

The OpenMower LowLevel firmware reports rain using both the mainboard mux input and the CoverUI rain event. This firmware currently defines the mux pins but does not read rain state.

Upstream Reference Behavior

OpenMower LowLevel:

  • Scans the mux address lines on core1.
  • Uses mux address 5 as the mainboard rain input.
  • Also accepts rain state from CoverUI Get_Rain packets.
  • Exposes rain as a status bit.
  • Uses rain state for UI LEDs and sound events.

Acceptance Criteria

  • Initialize PIN_MUX_OUT, PIN_MUX_IN, and mux address pins.
  • Periodically scan the rain mux channel.
  • Publish rain state to ROS 2.
  • Debounce or filter the rain signal enough to avoid chatter.
  • Keep the implementation compatible with future Cover board rain events.
  • Add an onboard LED status flag for rain or document why it is intentionally omitted.

Notes

Relevant pins are already present in src/pins.h: PIN_MUX_IN, PIN_MUX_OUT, PIN_MUX_ADDRESS_0..2.

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