One workspace for a LoRa radio stack: mesh protocols, a shared radio interface layer, operator apps, and firmware that runs on my limited subset of hardware. Each crate has its own README with more detail, but here's a generated overview.
- Host crates:
retinue(independent Reticulum protocol implementation: identity, announces, links, resources, routing),tulle(radio interface layer),selvage(shared PHY profiles),sennet(Meshtastic-compatible mesh),tucket(MeshCore interop),outrider(LXMF messages, byte-exact against LXMF 1.1.1),postilion(shared host library), and theradio-face/radio-handfirmware-support crates. Published crates are at 0.0.x on crates.io; MSRV 1.88, held by CI. - Apps:
linkboy(inspects, plans, and flashes firmware packages over serial DFU; restored a T114 from stock Meshtastic firmware 2026-08-12) andsignalman(runs a household radio from a serial port). A desktop GUI,apps/signalman-desktop, roots its own workspace and is deliberately excluded from this one. - Firmware images for Heltec V4 and Heltec T114 boards live in
firmware/. The T114 image gained a bounded transport profile for the channel-node role on 2026-08-12 (~275 KB flash); its on-metal RF receipt is still open. - On-air Reticulum-over-LoRa milestones landed July 2026; interop is receipt-driven against reference Reticulum (RNS 1.5.2) and Prns.
- Validation inventory:
python validation/run.py verify(14 suites).
Current plans live in design_docs/: close the on-metal receipts for the new
T114 image, then build out the resident listener-executive boundary in which
protocol modes are bounded radio leases.
cargo test -p retinue # or any host crate by name
# Flashing tool
cargo run -p linkboy -- list
cargo run -p linkboy -- flash <device> <package>
# Radio host app
cargo run -p signalman -- <port> [name] [bw_khz] [phy|rnode]
# Firmware (workspace member, not a default member)
cargo build -p tulle-t114-phy --release --target thumbv7em-none-eabihf
# Desktop GUI (own workspace root)
cargo build --manifest-path apps/signalman-desktop/Cargo.tomlMozilla Public License 2.0 (LICENSE), including the firmware
(though the firmware images themselves when created are GPLv3).
Vendored third-party forks under vendor/ (lora-phy, embedded-graphics,
embedded-graphics-core) keep their own MIT/Apache-2.0 terms.
THIRD_PARTY_NOTICES.md aggregates derivations;
per-crate NOTICE and PROVENANCE files record specifics.
tulle, sennet, and tucket merged into this workspace on 2026-07-23 with
history preserved; their standalone repositories are archived.
This README was generated by AI and has/will be edited by the author upon release.