Étape 2: Mod Support
Support de mod
Le microcontrôleur ATmega32u4 à l’intérieur de la Mod possède une fonctionnalité USB intégrée. Cela signifie qu’il peut se présenter comme une souris USB, un clavier USB et un terminal virtuel USB (ce que vous voulez). L’environnement de développement Arduino inclut les fonctionnalités de clavier/souris (dite, ou périphérique d’interface humaine HID) comme bien les fonctionnalités terminales (dite de la CDC, ou classe de périphérique de communication) et il n’y a aucun moyen de savoir le compilateur Arduino « n’incluent pas logiciel pour agir en tant que clavier USB ou souris à moins que mon croquis spécifiquement l’exige. » Si votre Mod agit comme un port série virtuel, mais il agit aussi comme un clavier virtuel. Android se connecte au port série, mais pense qu’il est aussi un clavier externe présent et n’affiche plus le clavier logiciel.
Nous devons forcer Arduino ne pas d’inclure toutes les fonctionnalités cachées. Comme tu le fais c’est d’éditer le fichier USBDesc.h inclus avec Arduino. Sur un Mac, il se trouve à l’intérieur de la Arduino.app elle-même. Depuis le Finder, faites un clic droit sur l’application de l’Arduino et choisissez « Afficher le contenu du paquet ». A partir de là, passer par matières > Ressources > Java > Matériel > arduino > carottes > arduino et vous trouverez USBDesc.h (dans l’environnement de développement Arduino 1.5.x, ce fichier se trouve dans le contenu > Java > Matériel > arduino > avr > carottes > arduino). Ouvrez USBDesc.h et le modifier :
Vieux :
#define CDC_ENABLED #define HID_ENABLED
Nouveau:
#define CDC_ENABLED /* #define HID_ENABLED */
C’est tout ! Vous avez commenté la ligne définissant la variable HID_ENABLED. Vous devrez peut-être arrêter et recharger l’app Arduino et puis recompilez vos croquis pour qu’il prenne effet. Maintenant que les fonctionnalités de CDC seront définies, et votre Mod doit toujours se présenter comme un terminal virtuel, mais pas un clavier virtuel. Vous pouvez parler à votre Mod sa console série standard et tourner les moteurs en marche/arrêt, modèles de cycle, modifier l’intensité et la fréquence de modèle et lire les entrées.