fixed web-control path and watchdog stoping

This commit is contained in:
Helva 2026-02-08 14:04:31 +01:00
parent f75c654a39
commit 4b040391da
2 changed files with 21 additions and 3 deletions

View File

@ -9,7 +9,7 @@ SERIAL_PORT = "/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0" # ggf. /de
BAUD = 115200 BAUD = 115200
# Safety: if websocket stops sending, we also stop. # Safety: if websocket stops sending, we also stop.
STOP_AFTER_SEC = 0.35 STOP_AFTER_SEC = 0.5
app = FastAPI() app = FastAPI()
@ -30,11 +30,14 @@ def send_lr(l: int, r: int):
def health(): def health():
return {"ok": True, "serial": SERIAL_PORT} return {"ok": True, "serial": SERIAL_PORT}
@app.websocket("/drive-ws") @app.websocket("/ws")
async def ws(websocket: WebSocket): async def ws(websocket: WebSocket):
global last_msg_ts global last_msg_ts
await websocket.accept() await websocket.accept()
last_msg_ts = time.time()
send_lr(0, 0)
async def watchdog(): async def watchdog():
while True: while True:
await asyncio.sleep(0.05) await asyncio.sleep(0.05)

View File

@ -265,7 +265,22 @@
lastL = L; lastR = R; lastL = L; lastR = R;
readoutEl.textContent = `T ${throttle.toFixed(2)} | Turn ${turn.toFixed(2)} → L ${L} | R ${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() { function hardStop() {