Proto/tests/speed.py
2023-09-29 13:21:17 +02:00

50 lines
1.0 KiB
Python

import socket
from struct import pack, unpack
from time import time, sleep
def sock():
addr = ("localhost", 13370)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(addr)
return s
def heartbeat(s):
s.sendall(pack(">BI", 0x40, 2))
beat1 = s.recv(1024)
start = time()
beat2 = s.recv(1024)
dur = time() - start
print(f"heartbeat {dur:.2f}")
def doublecam(s):
s.sendall(pack(">BHHH", 0x80,1,0,80))
s.sendall(pack(">BHHH", 0x80,1,0,80))
print("Dc", s.recv(1024))
def camera(s):
s.sendall(pack(">BHHH", 0x80,1,0,80))
s.sendall(b"\x20\x05snack" +pack(">I", 100000))
def camera2(s):
s.sendall(pack(">BHHH", 0x80,1,85,80))
s.sendall(b"\x20\x05snack" +pack(">I", 103600))
def dispatch(s):
s.sendall(pack(">BBHH", 0x81,2,2,1))
return s
def readTicket(d):
l = unpack("BB", d.recv(2))[1]
plt = d.recv(l)
dt = unpack(">HHIHIH", d.recv(16))
print(f"Ticket {plt} speed {dt[5]}")
heartbeat(sock())
doublecam(sock())
camera(sock())
camera2(sock())
sleep(1)
dsp = dispatch(sock())
readTicket(dsp)