diff options
author | Franciszek Malinka <franciszek.malinka@gmail.com> | 2022-06-12 11:17:10 +0200 |
---|---|---|
committer | Franciszek Malinka <franciszek.malinka@gmail.com> | 2022-06-12 11:17:10 +0200 |
commit | d27ca93ac86697f8be6af3c751a5a527f3c07c88 (patch) | |
tree | db77703345d9874b1f2d31fd02f33f27c67ad221 /comm.py | |
parent | 530c341960e528bb44dd6747f37c0c87c68537d8 (diff) |
Python scripts for communication over serial and scramble generation
Diffstat (limited to 'comm.py')
-rw-r--r-- | comm.py | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -0,0 +1,34 @@ +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())) |