Skip to content

Commit c1f3d17

Browse files
committed
Merge B1 Display PoC
Signed-off-by: Daniel Schaefer <[email protected]>
1 parent 1cfa950 commit c1f3d17

File tree

12 files changed

+696
-69
lines changed

12 files changed

+696
-69
lines changed

Cargo.lock

Lines changed: 92 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
edition = "2021"
3-
name = "led_matrix_fw"
3+
name = "lotus_inputmodules"
44
version = "0.1.1"
55

66
[dependencies]
@@ -24,9 +24,34 @@ usb-device= "0.2.9"
2424
heapless = "0.7.9"
2525
usbd-serial = "0.1.1"
2626
usbd-hid = "0.5.1"
27-
is31fl3741 = { git = "https://github.com/JohnAZoidberg/is31fl3741", branch = "all-at-once" }
2827
fugit = "0.3.6"
2928

29+
# LED Matrix
30+
is31fl3741 = { git = "https://github.com/JohnAZoidberg/is31fl3741", branch = "all-at-once", optional = true }
31+
32+
33+
# B1 Display
34+
display-interface-spi = { version = "0.4.1", optional = true }
35+
mipidsi = { version = "0.6.0", optional = true }
36+
embedded-graphics = { version = "0.7", optional = true }
37+
tinybmp = { version = "0.4.0", optional = true }
38+
39+
[lib]
40+
name = "lotus_input"
41+
path = "src/lib.rs"
42+
43+
[[bin]]
44+
name = "ledmatrix"
45+
required-features = ["ledmatrix"]
46+
47+
[[bin]]
48+
name = "b1display"
49+
required-features = ["b1display"]
50+
51+
[features]
52+
ledmatrix = [ "is31fl3741" ]
53+
b1display = [ "display-interface-spi", "mipidsi", "embedded-graphics", "tinybmp" ]
54+
3055
# cargo build/run
3156
[profile.dev]
3257
codegen-units = 1

README.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
# Lotus LED Matrix Module
1+
# Lotus Input Module Firmware
22

3-
It's a 9x34 (306) LED matrix, controlled by RP2040 MCU and IS31FL3741A LED controller.
4-
5-
Connection to the host system is via USB 2.0 and currently there is a USB Serial API to control it without reflashing.
3+
See below sections for LED Matrix and LCD Display module details.
64

75
Rust project setup based off of: https://github.com/rp-rs/rp2040-project-template
86

@@ -99,13 +97,15 @@ cargo install elf2uf2-rs --locked
9997
Build:
10098

10199
```sh
102-
cargo build
100+
cargo build --bin ledmatrix --features=ledmatrix
101+
cargo build --bin b1display --features=b1display
103102
```
104103

105104
Generate UF2 file:
106105

107106
```sh
108-
elf2uf2-rs target/thumbv6m-none-eabi/debug/led_matrix_fw led_matrix.uf2
107+
elf2uf2-rs target/thumbv6m-none-eabi/debug/ledmatrix ledmatrix.uf2
108+
elf2uf2-rs target/thumbv6m-none-eabi/debug/b1display b1dipslay.uf2
109109
```
110110

111111
## Flashing
@@ -132,3 +132,11 @@ Additionally the panic message is written to flash, which can be read as follows
132132
sudo picotool save -r 0x15000000 0x15004000 message.bin
133133
strings message.bin | head
134134
```
135+
136+
## LED Matrix
137+
138+
It's a 9x34 (306) LED matrix, controlled by RP2040 MCU and IS31FL3741A LED controller.
139+
140+
Connection to the host system is via USB 2.0 and currently there is a USB Serial API to control it without reflashing.
141+
142+
## B1 Display

assets/logo.bmp

26.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)