import serial
|
|
|
|
class GridEye(object):
|
|
def __init__(self, port, baudrate=115200):
|
|
self.serial = serial.Serial(port, baudrate, timeout=0.1)
|
|
|
|
def readData(self):
|
|
datas = []
|
|
for i in range(4):
|
|
retry = True
|
|
while retry:
|
|
self.serial.reset_input_buffer()
|
|
self.serial.reset_output_buffer()
|
|
self.serial.write(bytes([ord('0')+i]))
|
|
raw_data = self.serial.read(64*5+3)
|
|
if raw_data.split(b':')[0] != bytes([ord('0')+i]):
|
|
continue
|
|
data = [int(x, 16)*0.25 for x in raw_data.split()[1:]]
|
|
#data = self.serial.read(64*5+3)
|
|
if b'FFFF' not in data:
|
|
retry = False
|
|
datas.append(data)
|
|
|
|
return datas
|