feat: add Rust client library and mux daemon
Add donglora-client (clients/rust/) and donglora-mux (mux/rust/) as Rust implementations of the existing Python client library and mux daemon. Both are standalone Cargo projects with no-panic guarantees enforced by clippy deny lints. donglora-client provides protocol types, COBS framing, USB device discovery, serial/mux transports, and a high-level Client<T> with send/recv. donglora-mux is a fully async (tokio) multiplexer daemon with dongle hot-plug reconnect, per-client bounded send queues, SetConfig locking, and StartRx/StopRx reference counting. 52 unit tests across both crates. Updates README roadmap checkboxes and CONTRIBUTING docs to reflect the new implementations.
This commit is contained in:
21 files changed
+4049
-6
No files matched your search
+2
-2
@@ -22,8 +22,8 @@ common tasks consume. No shared board code — each board is self-contained.
|
||||
|
||||
## Client Libraries
|
||||
|
||||
The Python library (`clients/python/`)
|
||||
is the reference implementation. To add a library in another language:
|
||||
Client libraries exist in [Python](clients/python/) and [Rust](clients/rust/).
|
||||
To add a library in another language:
|
||||
|
||||
1. Create a directory with the language's standard project layout
|
||||
2. Implement the wire protocol from [firmware/PROTOCOL.md](firmware/PROTOCOL.md)
|
||||
|
||||
Reference in new issue
Block a user