From 76fe86a3bc47eb62b0f007afb5ee0cfea0d12b6d Mon Sep 17 00:00:00 2001 From: LailaTheElf Date: Thu, 14 Aug 2025 20:51:28 +0200 Subject: [PATCH] fix bugs --- commander.html | 6 +++--- ground-station.py | 23 +++++++++++++---------- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/commander.html b/commander.html index f7f62df..b864912 100644 --- a/commander.html +++ b/commander.html @@ -198,10 +198,10 @@ function getBoatLog(e) { - let cmd = prompt("enter command"); + // let cmd = prompt("enter command"); let boat = getDataFomEl(e.target); - console.log("send cmd", boat, cmd); - conn.send(passEl.value + ";sendcmd;" + boat['id'] + ";" + cmd); + // console.log("send cmd", boat, cmd); + // conn.send(passEl.value + ";sendcmd;" + boat['id'] + ";" + cmd); conn.send(passEl.value + ";sendcmd;" + boat['id'] + ";servotrim:0"); conn.send(passEl.value + ";sendcmd;" + boat['id'] + ";servotrim:1"); diff --git a/ground-station.py b/ground-station.py index e594bfd..adafa92 100644 --- a/ground-station.py +++ b/ground-station.py @@ -130,15 +130,16 @@ async def getlog(client, data): async def sendcmd(data): """send command to boat""" - for b in Boats: - if b['id'] == data[2]: - del data[0] - del data[1] - del data[2] - print(data) - data = ";".join(data) - await sendToBoat(b, data + "\n") - return + if len(data) > 3: + for b in Boats: + if b['id'] == data[2]: + del data[0] + del data[1] + del data[2] + print(data) + data = ";".join(data) + await sendToBoat(b, data + "\n") + return async def kick_client(clientId): """kick a client""" @@ -159,7 +160,7 @@ async def on_message(message, client): data = message.replace('\n', '').split(';') if data[0] != client["id"]: print("invalid id: " + str(data[0]) + " != " + str(client["id"])) - else: + elif len(data) >= 2: if data[1] == "boats": await echo_boats(client) elif data[1] == "ctrl": @@ -192,6 +193,8 @@ async def on_message(message, client): print("WARN: invalid command (admin): '" + data[1] + "'") else: print("WARN: invalid command (" + client['id'] + "): '" + data[1] + "'") + else: + print("WARN: to little arguments") async def new_client(clientId, ws): """handler for every new client connection"""