summaryrefslogtreecommitdiff
path: root/stacks/daemon/tx_pace.py
diff options
context:
space:
mode:
authorinfo@mode42.com <info@mode42.com>2026-08-07 18:23:28 +0000
committerinfo@mode42.com <info@mode42.com>2026-08-07 18:23:28 +0000
commitfa05a5f8238e9e1417235711656e5062ccc843a7 (patch)
tree46fbbd18de54492b59307c16efcc7f3152723238 /stacks/daemon/tx_pace.py
Initial push
Diffstat (limited to 'stacks/daemon/tx_pace.py')
-rw-r--r--stacks/daemon/tx_pace.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/stacks/daemon/tx_pace.py b/stacks/daemon/tx_pace.py
new file mode 100644
index 0000000..b7e284b
--- /dev/null
+++ b/stacks/daemon/tx_pace.py
@@ -0,0 +1,21 @@
+"""Minimum idle gap between RF/KISS frame sends (host-side pacing)."""
+from __future__ import annotations
+
+import threading
+import time
+
+MIN_TX_GAP_SEC = 1.5
+
+_lock = threading.Lock()
+_last_tx = 0.0
+
+
+def tx_pace_before_send() -> None:
+ """Sleep until at least MIN_TX_GAP_SEC since the previous send."""
+ global _last_tx
+ with _lock:
+ now = time.monotonic()
+ wait = MIN_TX_GAP_SEC - (now - _last_tx)
+ if wait > 0:
+ time.sleep(wait)
+ _last_tx = time.monotonic()
git clone -b <branch> https://cgit.mode42.com/<repo>.git
git clone -b <branch> git://cgit.mode42.com/<repo>.git

info@mode42.com