Étape 4: Myo.py
La classe réelle de Myo (à l’intérieur de la myo.py) gère les données de sortie de l’exécutable enveloppé et, ce qui la rend facile à utiliser dans un script python. Il a des méthodes pour obtenir toutes les données que la myo actuellement permet à l’utilisateur d’accéder à, plus une conversion pratique de quaternions en rotation de roulis/tangage/lacet.
Comment ça marche :
Appel .start() sur l’objet de classe il commence comme un nouveau thread. L’objet s’exécute notre code C sous un processus distinct, gardant un handle pour les entrées/sorties du processus. Ensuite, il bloque et attend l’exécutable pour nous envoyer un paquet de données d’état de la Myo avant de déballer et de sauver le paquet. Méthodes comme getAcceleration() fonctionnent sur ces données de paquet enregistré.
Chaque fois qu’un appel à vibrate() se produit, notre objet Myo envoie un (1) à STDIN du processus, qui le reconnaît comme une demande à vibrer et agit en conséquence.