From 4b040391da2e92849b55fa3986bbe4bd98ff24d7 Mon Sep 17 00:00:00 2001 From: Helva Date: Sun, 8 Feb 2026 14:04:31 +0100 Subject: [PATCH] fixed web-control path and watchdog stoping --- drive/opt/drive-ctl/server.py | 7 +++++-- drive/var/www/drive/index.html | 17 ++++++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/drive/opt/drive-ctl/server.py b/drive/opt/drive-ctl/server.py index b6b2149..9f15229 100644 --- a/drive/opt/drive-ctl/server.py +++ b/drive/opt/drive-ctl/server.py @@ -9,7 +9,7 @@ SERIAL_PORT = "/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0" # ggf. /de BAUD = 115200 # Safety: if websocket stops sending, we also stop. -STOP_AFTER_SEC = 0.35 +STOP_AFTER_SEC = 0.5 app = FastAPI() @@ -30,11 +30,14 @@ def send_lr(l: int, r: int): def health(): return {"ok": True, "serial": SERIAL_PORT} -@app.websocket("/drive-ws") +@app.websocket("/ws") async def ws(websocket: WebSocket): global last_msg_ts await websocket.accept() + last_msg_ts = time.time() + send_lr(0, 0) + async def watchdog(): while True: await asyncio.sleep(0.05) diff --git a/drive/var/www/drive/index.html b/drive/var/www/drive/index.html index d305c59..62607f0 100644 --- a/drive/var/www/drive/index.html +++ b/drive/var/www/drive/index.html @@ -265,7 +265,22 @@ lastL = L; lastR = R; readoutEl.textContent = `T ${throttle.toFixed(2)} | Turn ${turn.toFixed(2)} → L ${L} | R ${R}`; - sendLR(L, R, force); + // sendLR(L, R, force); + + // ---- Heartbeat: keep sending current values while driving ---- + setInterval(() => { + // wenn nicht verbunden -> nix + if (!connected) return; + + // Wenn du NUR beim aktiven Fahren senden willst: + const driving = (Math.abs(throttle) > 0.02) || (Math.abs(turn) > 0.02); + + if (driving) { + // erzwinge Senden auch wenn sich nichts geändert hat + sendLR(lastL, lastR, true); + } +}, 400); // 40 Hz + } function hardStop() {