Skip to content

Commit 175d814

Browse files
committed
Update README
Signed-off-by: Daniel Schaefer <[email protected]>
1 parent a6c6256 commit 175d814

File tree

1 file changed

+49
-3
lines changed

1 file changed

+49
-3
lines changed

README.md

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,57 @@
11
# Lotus LED Matrix Module
22

3-
Project setup based off of: https://github.com/rp-rs/rp2040-project-template
3+
It's a 9x34 (306) LED matrix, controlled by RP2040 MCU and IS31FL3741A LED controller.
4+
Connection to the host system is via USB 2.0 and currently there is a USB Serial API to control it without reflashing.
45

5-
## Control
6+
Rust project setup based off of: https://github.com/rp-rs/rp2040-project-template
7+
8+
## Features
9+
10+
- Reset into bootloader when firmware crashes/panics
11+
- API over USB ACM Serial Port - Requires not Drivers on Windows and Linux
12+
- Display various pre-programmed patterns
13+
- Light up a percentage of the screen
14+
- Change brightness
15+
- Send a black/white image to display
16+
- Go to sleep
17+
- Reset into bootloader
18+
- Scroll and loop the display content vertically
19+
- A commandline script and graphical application to control it
20+
- Sleep Mode
21+
- Transition slowly turns off/on the LEDs
22+
- Current hardware does not have the SLEEP# GPIO connected, can't sleep automatically
23+
24+
Future features:
25+
26+
- API
27+
- Send a greyscale image to display
28+
- Read current system state (brightness, sleeping, ...)
29+
30+
## Control from the host
631

732
Requirements: Python and [PySimpleGUI](https://www.pysimplegui.org).
833

934
Use `control.py`. Either the commandline, see `control.py --help` or the graphical version: `control.py --gui`
1035

36+
```
37+
options:
38+
-h, --help show this help message and exit
39+
--bootloader Jump to the bootloader to flash new firmware
40+
--sleep, --no-sleep Simulate the host going to sleep or waking up
41+
--brightness BRIGHTNESS
42+
Adjust the brightness. Value 0-255
43+
--animate, --no-animate
44+
Start/stop vertical scrolling
45+
--pattern {full,lotus,gradient,double-gradient,zigzag,panic,lotus2}
46+
Display a pattern
47+
--image IMAGE Display a PNG or GIF image (black and white only)
48+
--percentage PERCENTAGE
49+
Fill a percentage of the screen
50+
--clock Display the current time
51+
--gui Launch the graphical version of the program
52+
--panic Crash the firmware (TESTING ONLY)
53+
```
54+
1155
## Building
1256

1357
Dependencies: Rust
@@ -20,7 +64,6 @@ cargo install flip-link
2064
cargo install elf2uf2-rs --locked
2165
```
2266

23-
2467
Build:
2568

2669
```sh
@@ -43,6 +86,9 @@ This can be done by pressing the bootsel button while plugging it in.
4386
cargo run
4487
```
4588

89+
Or by copying the above generated UF2 file to the partition mounted when the
90+
module is in the bootloder.
91+
4692
## Panic
4793

4894
On panic the RP2040 resets itself into bootloader mode.

0 commit comments

Comments
 (0)