Skip to content

Commit

Permalink
Improve LED and button description (#27)
Browse files Browse the repository at this point in the history
* Improve LED and button description

* Add S2 LED

* Add S2 button action in mowing state

* Add Joystick usage
  • Loading branch information
alexvaut committed Aug 8, 2023
1 parent 6b6e9f9 commit d869a18
Showing 1 changed file with 53 additions and 16 deletions.
69 changes: 53 additions & 16 deletions content/en/docs/cover-ui-assembly/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,56 @@ You need `.uf2` file from `firmware.zip`. Hold `BOOT` button on Pico, insert USB

This is described in more details in [MicroPython guide](https://www.raspberrypi.com/documentation/microcontrollers/micropython.html#drag-and-drop-micropython), you can follow that, just use our `.uf2` file instead.

## Meaning of LEDs and buttons

Borrowed from Apehaenger's [custom firmware project](https://github.com/Apehaenger/CoverUI/tree/main/Firmware/CoverUI/yfc500#usage).

* 2hr-8hr LEDs act as 4 digit progressbar for GPS quality. Blink = uncalibrated
* Home button: Stop mowing and go back home to dock
* Play button: Start mowing of recorded area(s)
* S1: On = ROS is running but idle, Blink-slow = ROS in autonomous mode, Blink-fast = ROS in nirvana?
* S2 LED: >TODO<
* S2 Button: Short press, skip over to next mowing area. Long press (>= 3s), delete all recorded areas!
* Lock Button: Clear emergency state (probably long press >=3s)
* Mon-Sun as 7 digit progressbar for battery charge state (only in undocked state)
* Lifted: Show emergency states. >TODO<
* Wire: Also indicate a poor GPS. On = < 25%, Blink-fast = < 50%, Blink-slow < 75%, Off >= 75%
* Battery: On = Battery empty
* Charging LED: Fast blink = empty. Slow blink = approx. 1/2 charged. On = Fully charged.
## Meaning of the LEDs

* **1st row** : 2hr-8hr act as 4 digit progressbar for GPS quality. Blink = uncalibrated.
* **2nd row**:
- S1: General state. On = ROS is running but idle, Blink-slow = ROS in autonomous mode (either mowing, docking or undocking), Blink-fast = ROS is recording or any other state (only in undocked state).
- S2: Sub status depending on the general state.
- Idle: Off.
- Area recording: Blink-slow = Record outline, Blink-fast = Record obstacle.
- Mowing: Off.
- Docking: Blink-slow.
- Undocking: Blink-fast.
- Lock: Not used.
* **3rd row** : Mon-Sun act as 7 digit progressbar for battery charge state (only in undocked state).
* **4th row** :
- Lifted: Emergency status. On = no heart beat for more than 0.5s, Blink-fast = Stop button, Blink-slow = Lifted or tilted, Off = no emergency.
- Wire: GPS Status. On = < 25%, Blink-fast = < 50%, Blink-slow < 75%, Off >= 75%.
- Battery: On = Battery empty.
- Charging: Fast blink = empty. Slow blink = approx. 1/2 charged. On = Fully charged.

## Button usage

* State = Idle
- Home: don't do anything since the assumption is that idle = docking station.
- Play: Start mowing of recorded area(s).
- S1: Start recording area(s).
- S2 (press 2s): Delete area(s) and docking point.
* State = Area recording
- Home: Stop area recording and go to docking station (if any).
- S2 (press 2s): Delete area(s) and docking point.
* State = Mowing
- Home: Go to docking station.
- Play: Continue.
- S1: Pause.
- S2: skip over to next mowing area.
* State = Docking
* State = Undocking

* Any state
- Lock (press 2s): reset emergency mode (beta version doesn't support it but alpha does).

## Joystick usage

* State = Area recording
- A + Left stick button: Move mower slowly.
- A + LB + Left stick button: Move mower fast.
- B: Start/Stop recording a polygon (first one if the main area, following polygons are obstacles within the current main area).
- Y + Pad-Up: Finish the current area and save it as a navigation area.
- Y + Pad-Down: Finish the current area and save it as a mowing area.
- X: Save docking positions (first and second).
* Not available in other states



0 comments on commit d869a18

Please sign in to comment.