2 Commits
Author SHA1 Message Date
Cort BuffingtonandClaude Sonnet 4.6 adc1712058 Update docs: bridge trigger timing, per-system activation, dashboard features
bridge_rules_SAMPLE.py:
- Document that ON and OFF triggers both fire on key-down (VOICE_HEAD)
- Clarify per-system activation: each system manages its own entry state
- Note ACTIVE=True + TO_TYPE=ON starts the timeout countdown on load;
  recommend TO_TYPE=NONE for permanently-active entries

README.md:
- Expand bridge.py key features to describe edge triggering and per-system
  activation behavior
- Note ACTIVE=True/TO_TYPE=ON timer-on-load behavior
- Add dashboard features section documenting TS pills (RX/TX/hang/idle),
  bridge table timer countdown, and immediate push on state change

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:25:15 -05:00
Cort BuffingtonandClaude Sonnet 4.6 ce191c2b34 Initial port: Python 3 / asyncio reimplementation of dmrlink
Full port of dmrlink (Python 2 / Twisted) to Python 3 with asyncio, aligned
with the HBlink3 2026_cleanup branch style.

- const.py:  merged ipsc_const + ipsc_mask, all bytes literals corrected for Py3
- log.py:    root-logger config matching HBlink3 log.py
- config.py: configparser Py3 port; bytes built with bytes([]) / bytes.fromhex()
- dmrlink.py: full asyncio IPSC protocol engine; ReportServer (NDJSON/TCP)
  replaces Twisted DatagramProtocol, LoopingCall, NetstringReceiver, and pickle
- bridge.py: asyncio port of confbridge.py, renamed to match HBlink3 convention;
  BridgeReportServer adds NDJSON bridge/call-event streaming
- dashboard/: FastAPI + WebSocket dashboard adapted for IPSC data shapes
  (MASTER/PEER mode, PEERS dict, bridge_event call log)
- requirements.txt, pyproject.toml: package metadata

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 12:41:31 -05:00