swaits 90a306853d feat: add keepalive ping and state restoration after dongle reconnect
UART boards (CP2102 bridge) keep the serial port alive across ESP32 resets,
so the mux never detected the board rebooting. Now the writer sends a
keepalive Ping every 5s of idle and declares the dongle lost after a
2s timeout.

On reconnect, saved radio config and RX state are re-sent to the dongle
so connected clients continue working without re-establishing state.
2026-04-11 02:34:05 -06:00
2026-04-08 21:47:16 -06:00
2026-04-08 21:47:16 -06:00
2026-04-08 21:47:16 -06:00

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

S
Description
No description provided
Readme MIT
97 KiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 98.4%
Just 1.6%