Files
lxst-client/AGENTS.md
T
2026-05-30 19:18:33 -05:00

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).