summaryrefslogtreecommitdiffstats
path: root/meta/comm.py
blob: c10ad97256ebf3b6f6861c0b76aeadf91952aac1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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}")