Add Pico UART client and tests

This commit is contained in:
root
2026-06-03 02:39:30 -06:00
parent 482549b5bb
commit 9189cc7343
2 changed files with 112 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
import json
class UartClient:
def __init__(self, uart):
self.uart = uart
self.buffer = ""
def send_message(self, message):
payload = json.dumps(message, separators=(",", ":")) + "\n"
self.uart.write(payload.encode("utf-8"))
def read_available_messages(self):
messages = []
while self.uart.any():
chunk = self.uart.read()
if not chunk:
break
self.buffer += chunk.decode("utf-8")
while "\n" in self.buffer:
line, self.buffer = self.buffer.split("\n", 1)
line = line.strip()
if not line:
continue
try:
messages.append(json.loads(line))
except ValueError:
messages.append({
"type": "error",
"message": "invalid_json",
"raw": line,
})
return messages