I have a program that is supposed to take joystick position readings from an arduino (over serial), and translate them to mouse movements on my computer.
There is only one problem with this...
The string to integer conversion is way too slow, and it takes forever for the movements to register.
I need either a faster way to convert a string to an integer value, or a way to skip the conversion altogether.
This is my current code:
import serial
import pyautogui
import time
ser = serial.Serial('COM3', 9600, timeout=1)
while True:
time.sleep(0.0001)
ser_bytes = ser.readline()
decoded_bytes = ser_bytes[0:len(ser_bytes)-2].decode("utf-8")
pos = decoded_bytes.split(':')
xpos = int(pos[0])
ypos = int(pos[1])
print("x:", xpos, " y:", ypos)
pyautogui.move(xpos, ypos)
Note: Output from arduino has 3 values: 0:0:0 First number: x Second number: y Third number: joystick button