Add a thin dual-SSD1683 driver (src/epd.rs, ported from GxEPD2's GxEPD2_579_GDEY0579T93) for the 792x272 e-paper panel: reset/init, RAM addressing, the split-and-mirror full-frame blit across the master/slave seam at x=396, and full-refresh waveform. Frame implements embedded-graphics' DrawTarget. Replace the Spike 1 blink harness in main.rs with the Spike 2 test: SPI at 4 MHz over SCK 12 / DIN 11 / CS 7 / DC 6 / RST 5 / BUSY 4, alternating normal/inverted frames with a seam-straddling circle, "Typoena", and the build tag. Verified on hardware 2026-07-04.
34 lines
1010 B
TOML
34 lines
1010 B
TOML
[package]
|
|
name = "firmware"
|
|
version = "0.1.0"
|
|
authors = ["Julien Calixte <julien.calixte@theodo.com>"]
|
|
edition = "2024"
|
|
resolver = "2"
|
|
rust-version = "1.85"
|
|
|
|
[[bin]]
|
|
name = "firmware"
|
|
harness = false # do not use the built-in cargo test harness -> resolve rust-analyzer errors
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
|
|
[profile.dev]
|
|
debug = true # Symbols are nice, and they don't increase the size on Flash
|
|
opt-level = "z"
|
|
[patch.crates-io]
|
|
esp-idf-sys = { git = "https://github.com/esp-rs/esp-idf-sys.git" }
|
|
esp-idf-hal = { git = "https://github.com/esp-rs/esp-idf-hal.git" }
|
|
esp-idf-svc = { git = "https://github.com/esp-rs/esp-idf-svc.git" }
|
|
|
|
[dependencies]
|
|
anyhow = "1"
|
|
log = "0.4"
|
|
esp-idf-svc = { version = "0.52.1", features = ["critical-section", "embassy-time-driver", "embassy-sync"] }
|
|
# Remove `generic-queue-8` if you plan to use `embassy-time` WITH `embassy-executor`
|
|
embassy-time = { version = "0.5", features = ["generic-queue-8"] }
|
|
embedded-graphics = "0.8"
|
|
|
|
[build-dependencies]
|
|
embuild = "0.33"
|