555
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.

24 lines
702 B

  1. import serial
  2. class GridEye(object):
  3. def __init__(self, port, baudrate=115200):
  4. self.serial = serial.Serial(port, baudrate, timeout=0.1)
  5. def readData(self):
  6. datas = []
  7. for i in range(4):
  8. retry = True
  9. while retry:
  10. self.serial.reset_input_buffer()
  11. self.serial.reset_output_buffer()
  12. self.serial.write(bytes([ord('0')+i]))
  13. raw_data = self.serial.read(64*5+3)
  14. if raw_data.split(b':')[0] != bytes([ord('0')+i]):
  15. continue
  16. data = [int(x, 16)*0.25 for x in raw_data.split()[1:]]
  17. #data = self.serial.read(64*5+3)
  18. if b'FFFF' not in data:
  19. retry = False
  20. datas.append(data)
  21. return datas