Files
dmrlink3/pyproject.toml
Cort BuffingtonandClaude Sonnet 4.6 09c9258226 Fix bridge activation edge + timer init; add system-level TS activity pills
Bridge fixes:
- Move ON triggers from VOICE_TERM to VOICE_HEAD so bridge activates on
  key-down and the VOICE_HEAD packet itself is forwarded immediately
- Initialize TIMER to time()+TIMEOUT instead of time() so TO_TYPE=ON entries
  that start ACTIVE=True don't get killed by the first rule_timer_loop run

Dashboard:
- Replace per-peer slot pills with system-level TS1/TS2 pills showing RX/TX
  state, source radio, peer, TGID, call type, and elapsed duration
- Self row removed from peer table; pills move to the Peers heading row

Base class (dmrlink.py):
- Move TS_CLEAR_TIME to dmrlink.py as single source of truth
- Add rx_start/tx_start per-TS call boundary tracking to IPSC base class
- Add transmit_group_voice() for TX call tracking with bridge events
- Add send_bridge_event() stub to base ReportServer

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 20:51:22 -05:00

24 lines
574 B
TOML

[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.backends.legacy:build"
[project]
name = "dmrlink3"
version = "3.0.0"
description = "Python 3 / asyncio Motorola MOTOTRBO IPSC (IP Site Connect) network bridge and monitor"
authors = [
{name = "Cortney T. Buffington, N0MJS", email = "n0mjs@me.com"},
]
license = {text = "GPLv3"}
readme = "README.md"
requires-python = ">=3.8"
dependencies = [
"dmr_utils3",
"fastapi",
"uvicorn[standard]",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["dmrlink3*", "dashboard*"]