Python client for GEX
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gex-client-py/main.py

59 lines
1.1 KiB

#!/bin/env python3
import time
import gex
from gex.PayloadParser import PayloadParser
from gex.PayloadBuilder import PayloadBuilder
if False:
pb = PayloadBuilder()
pb.u8(128)
pb.i8(-1)
pb.u16(1)
pb.u32(123456789)
pb.float(3.1415)
pb.bool(True)
pb.bool(False)
pb.str("FUCKLE")
buf = pb.close()
print(buf)
pp = PayloadParser(buf)
print('>',pp.u8())
print('>',pp.i8())
print('>',pp.u16())
print('>',pp.u32())
print('>',pp.float())
print('>',pp.bool())
print('>',pp.bool())
print('>',pp.str())
if False:
client = gex.Gex()
# Check connection
resp = client.query_raw(type=gex.MSG_PING)
print("Ping resp = ", resp.data.decode("ascii"))
# Blink a LED at call-sign 1, command 0x02 = toggle
for i in range(0,10):
client.send(cs=1, cmd=0x02)
time.sleep(.1)
#
# port = serial.Serial(
# port='/dev/ttyACM0',
# timeout=0.1
# )
#
# print("Send request")
# port.write(b'\x01\x80\x00\x00\x00\x01\x7f')
#
# print("Wait for response")
# rv = port.read(1)
# rv += port.read(port.in_waiting)
#
# print(rv)