Skip to content

Repository files navigation

Retinue -- the radio family

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.

Status (2026-08-12)

  • 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 the radio-face / radio-hand firmware-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) and signalman (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.

Use

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.toml

License

Mozilla 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.

History

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.

About

Managed cadre of mesh protocols. Reference-compatible Rust implementations of Reticulum, Meshtastic, and MeshCore.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages