55 lines
1.9 KiB
Markdown
55 lines
1.9 KiB
Markdown
# LXST Client
|
|
|
|
Single-file Python application for managing LXST Channel connections via Reticulum Network (RNS) and LXMF protocols using the Whisplay HAT.
|
|
|
|
## Running
|
|
|
|
python client.py [-c CONFIGDIR] [-w WHITELIST]
|
|
|
|
Options:
|
|
-c, --config : config directory (default: ~/.lxst-client or /etc/lxst-client)
|
|
-w, --whitelist : path to bridge_whitelist.json
|
|
-v, --verbose : enable debug logging
|
|
--rnsconfig : alternative Reticulum config directory
|
|
|
|
## Whisplay GUI Controls
|
|
|
|
### Channel list (STATE_READY)
|
|
|
|
Short press (<1s) Cycle to next channel in list
|
|
Long press (>=1s) Call the selected channel
|
|
|
|
### In call — Push-to-Talk mode (default)
|
|
|
|
Hold (>=1s) Talk (unmute microphone)
|
|
Release Stop talking (mute microphone)
|
|
Short press (<1s) Switch to always-on mode
|
|
Double press Hang up
|
|
|
|
### In call — Always-on mode (toggled)
|
|
|
|
Short press (<1s) Switch to push-to-talk mode
|
|
Double press Hang up
|
|
|
|
### RGB LED indicates state:
|
|
Blue = ready, showing channels
|
|
Orange = calling
|
|
Green = in call
|
|
Yellow = transmitting (PTT mode, mic active)
|
|
|
|
## Initial Setup Order
|
|
|
|
1. Ensure ~/.lxst-client or /etc/lxst-client exists
|
|
2. Place bridge_whitelist.json in either directory (or pass with -w)
|
|
3. First run creates identity automatically at configdir/identity
|
|
4. In GUI mode: run `python client.py -W` — auto-discovers on startup
|
|
5. Messages appear in configdir/lxmf/
|
|
|
|
## Known quirks
|
|
|
|
- If bridge_whitelist.json is missing, client prints an error and returns.
|
|
- Identity is auto-generated on first run if not present.
|
|
- Use -v for RNS debug output (path discovery is verbose here).
|
|
- Path discovery waits up to 10s for relays; increase timeout in client code if needed.
|
|
- Whisplay mode requires Pillow and the Whisplay runtime (whisplay.py / whisplay_client.py).
|