import serial import sys import time device = sys.argv[1] bandwidth = 115200 rot_str = [ "R", "R\'", "R2", "L", "L\'", "L2", "U", "U\'", "U2", "D", "D\'", "D2", "F", "F\'", "F2", "B", "B\'", "B2", ] def rot_to_byte(rot): return rot_str.index(rot) with serial.Serial(device, bandwidth, timeout=1) as ser: print("Sleepin for some time") time.sleep(4) print("Ready!") while True: rots = input().strip().split(' ') print(rots) for rot in rots: if not rot in rot_str: print(f"Invalid rotation {rot}, discarding.") rots = [] for rot in rots: ser.write(bytes([rot_to_byte(rot)])) print(f"Sending rotation: {rot}") print(str(ser.readline()))