Étape 3: Sélection et en spécifiant la commande SysEx et Mode Pin
Firmata a été conçu pour être extensible par l’utilisateur. Le mécanisme qui fournit cette extensibilité est le System Exclusive (SysEx) Protocole de messagerie.
Le format d’un message de SysEx tel que défini par le protocole Firmata, est montré dans l’illustration ci-dessus. Il commence par un octet START_SYSEX avec une valeur fixe de 0xF0 hexadécimal et est suivi d’un octet unique de commande SysEx. La valeur de l’octet de commande doit être dans la plage 0 x 00 hexadécimal-0x7F. L’octet de commande est alors suivie d’un nombre non spécifié d’octets de données bit 7 et enfin, le message se termine par un octet END_SYSEX, qui a une valeur fixe de 0xF7 hexadécimal.
Après avoir reçu une commande de SysEx complète d’un client, le serveur envoie la commande pour la fonction sysexCallback() de l’esquisse, où il est traité.
Pour prendre en charge un nouvel appareil, nous devons spécifier une nouvelle commande de SysEx, pour être utilisé par le Firmata client et le serveur. Nous devrons également spécifier un nouveau mode de broche.
Ajout de nouvelle commande SysEx et Mode Pin à FirmataPlus.h
À l’aide de votre éditeur de texte favori, ouvrez FirmataPlus.h dans le carnet de croquis Arduino. Sur mon système, ce fichier se trouve dans :
Repérez la section Utilisateur défini les commandes du fichier. La valeur hexadécimale 0 x 72 n’ont pas encore été inscrits, donc nous allons assigner cette valeur à notre nouvelle commande. Pour être conforme aux conventions de nommage Firmata, le nom de la nouvelle commande de SysEx sera STEPPER_DATA.
Entrez la commande nouveau dans le fichier comme indiqué ci-dessous :
Nous devons également ajouter un nouveau mode de broche pour le stepper et ajuster le nombre de broches dans ce fichier. Il existe 13 broche modes, y compris les entrées et les sorties.
FirmataPlus.h édition est maintenant terminée. Enregistrez et fermez le fichier
Ajout de la commande de SysEx à pymata_command_handler.py
Maintenant nous allons ajouter le SysEx nouvelle commande (0 x 72) pour PyMata.
En utilisant votre éditeur favori, ouvrez le pymata_command_handler.py situé dans le répertoire PyMata-maître/PyMata ou dans le répertoire où vous avez décompressé les fichiers PyMata .
Recherchez la section de commandes sysex Firmata et ajoutez la nouvelle commande.
Enregistrez et fermez le fichier.
Ajout du Mode broche à pymata.py
Enfin, il faut ajouter le mode broche à pymata.py.
En utilisant votre éditeur favori, ouvrez pymata.py et ajoutez le nouveau mode de broche.
PyMata n’utilise pas de TOTAL_PIN_MODES, et là, il n’est pas ajouté à ce fichier. Enregistrez et fermez le fichier.
Remarque : Actuellement seulement les types de mode de broche d’entrée sont effectivement utilisés par le code de PyMata, mais nous ajoutons les deux types de broches de mode broche d’entrée et de sortie pour être conforme avec le code FirmataPlus.