summaryrefslogtreecommitdiffstats
path: root/meta/comm.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/comm.py')
-rw-r--r--meta/comm.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/meta/comm.py b/meta/comm.py
new file mode 100644
index 0000000..c10ad97
--- /dev/null
+++ b/meta/comm.py
@@ -0,0 +1,25 @@
+import serial
+import sys
+
+def readcmd():
+ while True:
+ line = ser.readline().strip().decode()
+ if len(line) > 0:
+ print("<", line)
+ if line[0] == '!':
+ break
+ return line
+
+def sendcmd(line):
+ print(">", line)
+ ser.write(line.encode() + b"\r")
+
+with serial.Serial(sys.argv[1], 9600, timeout=1) as ser:
+ sendcmd("!INIT")
+ assert(readcmd() == "!OK")
+
+ while True:
+ line = readcmd()
+ assert(line == "!FLAG")
+ sendcmd("!OK")
+ sendcmd("ENO{S4f3_Cr4cKd}")