Eighteen Rust crates for robotics
Each one is its own repository, tagged and versioned on its own — usable alone, or combined the way the ones on this page already combine each other.
Start here
- Every crate — what each one does, and what it depends on.
- Install — one crate as a normal Cargo dependency, or the whole set as submodules.
How it's put together
- Every crate is published from its own repository. None of them is a Cargo workspace member of any other — a dependency between two of them is an ordinary Cargo dependency on a tagged release, the same as a crates.io dependency would be.
- This root pins each one to a commit as a git submodule. That's a known-good combination, not a shared build — clone a crate on its own and it still builds.
- Five crates depend on nothing else here: datapod, keylock, stateup, tagdata, and wirebit. Most of what else is here builds on datapod in particular — it's the data types the rest agree on.