Files
swaits 903729ccbe feat: upgrade to donglora-client 0.2, fix org URLs, publish-ready
- 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
2026-04-07 16:14:50 -06:00

36 lines
1015 B
Markdown

# DongLoRa Mux (Rust)
USB multiplexer daemon — lets multiple applications share one DongLoRa
dongle simultaneously.
## Install
```sh
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
```sh
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`](https://crates.io/crates/donglora-client) — protocol
types, COBS framing, device discovery