v0.2.0
- Upgrade donglora-client from 0.1 (monorepo path dep) to 0.2 (crates.io) - Import wire-level constants from donglora_client::protocol::* - Fix repository URL to github.com/donglora/mux-rs - Add homepage, rust-version, exclude to Cargo.toml - Fix README (remove monorepo paths, add install instructions) - Allow clippy unwrap in test module
DongLoRa Mux (Rust)
USB multiplexer daemon — lets multiple applications share one DongLoRa dongle simultaneously.
Install
cargo install donglora-mux
What It Does
- Owns the USB serial connection exclusively
- Exposes a Unix domain socket (and optional TCP) speaking the same COBS-framed protocol
- RxPacket frames broadcast to all connected clients
- StartRx/StopRx reference-counted across clients
- SetConfig locked once set (single client can change freely)
- Single-instance enforcement via file lock (stale sockets auto-cleaned)
- Automatic dongle reconnect on hot-plug
- No panics — enforced by clippy deny lints
Running
donglora-mux # start the mux daemon
donglora-mux --verbose # start with verbose logging
donglora-mux --tcp 5741 --port /dev/ttyACM0 # with options
Depends On
donglora-client— protocol types, COBS framing, device discovery
Languages
Rust
98.4%
Just
1.6%