Land the v0.1 editor integration: the git_sync module (libgit2 on the SD /sd/repo, dedicated 96KB git thread, lazy Wi-Fi, :sync push with synced/up-to-date/failed snackbars), the boot splash (Spike 9) plus its bin and justfile recipes, and a power-on→cursor boot-timing log. Also re-syncs the roadmap/spikes/v0.1-product status and adds the SD hardware reference photo.
23 lines
1010 B
Rust
23 lines
1010 B
Rust
//! Shared library surface for the Typoena firmware crate.
|
|
//!
|
|
//! The editor binary (`src/main.rs`) and the spike binaries under `src/bin/`
|
|
//! are each separate crate roots; anything they need to share lives here and is
|
|
//! reached as `firmware::…`:
|
|
//!
|
|
//! - [`net`] — resilient Wi-Fi bring-up, extracted from three duplicated
|
|
//! `connect_wifi` copies so the retry logic lives in exactly one place.
|
|
//! - [`persistence`] — SD mount + atomic save/load, graduated from the Spike 3
|
|
//! bench binary so the editor and the spike share one implementation.
|
|
//! - [`epd`] — the SSD1683 panel driver, shared by the editor binary and the
|
|
//! Spike 9 boot-splash bench binary so both drive the panel through one copy.
|
|
|
|
pub mod epd;
|
|
pub mod net;
|
|
pub mod persistence;
|
|
|
|
// On-device git publish (the editor's `:sync` transport). Behind the `git`
|
|
// feature so a light build never pulls libgit2/git2 — see main.rs `publish` and
|
|
// the feature note in Cargo.toml.
|
|
#[cfg(feature = "git")]
|
|
pub mod git_sync;
|