J'ai un programme qui est censé prendre les lectures de position du joystick à partir d'un arduino (via une liaison série), et les traduire en mouvements de souris sur mon ordinateur.
Il n'y a qu'un seul problème...
La conversion des chaînes de caractères en nombres entiers est beaucoup trop lente et l'enregistrement des mouvements prend une éternité.
J'ai besoin d'un moyen plus rapide de convertir une chaîne de caractères en une valeur entière, ou d'un moyen d'ignorer complètement la conversion.
Voici mon code actuel :
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 : La sortie de l'arduino a 3 valeurs : 0:0:0 Premier nombre : x Deuxième nombre : y Troisième chiffre : bouton du joystick