Étape 4: Firmware
Conception de cet appareil est basée sur le matériel Low Pin Count Development Kit de Microchip, Microchip Solutions a des programmes d’exemple pour ce kit de développement donc il est assez facile de les obtenir en cours d’exécution sur le périphérique couvert dans ce Instructable.
Aux fins de ce projet, j’ai utilisé l’exemple de périphérique USB - HID - clavier pour le Low Pin Count Development Kit. Mais il y a divers autres appareils qui pourraient être programmés sur ce périphérique/matériel, tout ce qui pouvait utiliser 10 entrées commutateur.
Inclus dans le ZIP sur l’étape 1 est les fichiers de projet MPLAB, vous devez installer la dernière version de MPLAB et la dernière version du compilateur C18. Microchip téléchargements peuvent être trouvés ici
Aperçu du firmware :
Les fichiers projet inclus ont été prises et modifiés à partir de code d’exemple de Microchip. Ils avaient écrit d’une manière donc il peut fonctionner sur plusieurs appareils différents de PIC, donc il y a beaucoup de code supplémentaire ne pas nécessaire. Le reste est le plus souvent USB code associé, la seule fonction qui a été modifiée a été la fonction Keyboard().
ProcessIO() -> Keyboard() -> vérifier si dans point de terminaison est prêt -> vérifier les commutateurs -> Envoyer des données -> ProcessIO()
L’état des interrupteurs sont vérifiés et comparés à leur état antérieur. Si les États se distinguent le commutateur est considéré comme pressée et va remplir une données de tampon nécessaire avec/les données puis envoyez-le. Puis poursuivre la vérification les commutateurs.
hid_report_in [0] = est l’octet de modificateur, il conserve l’état de la MAJ, ctrl, alt, gui(windows) clés
hid_report_in [1] = 0 ; est réservée et toujours 0
hid_report_in [2] à [7] / / peut être un keycode, jusqu'à 6 clés peut être pressé et signalé à la fois
Voir la page "HID Usage Tables" 52 pour keycodes
Tableau de clés de modificateur :
Bit clé
CTRL GAUCHE 0
1 VERS LA GAUCHE
2 GAUCHE ALT
GUI DE GAUCHE 3
CTRL DROITE 4
PASSER DE 5 À DROITE
6 ALT DROITE
GUI DE DROITE 7
Exemple :
hid_report_in [0] = 4 ; Alt
hid_report_in [0] = 8 ; L INTERFACE GRAPHIQUE
hid_report_in [0] = 7 ; Ctrl + alt + Maj
Certaines commandes ont besoin d’une deuxième clé envoyée ou combinaison de touches envoyés, en définissant les octets de données NextModKey et NextKey , puis en définissant AnotherFlag drapeau dans le firmware, après que la commande principale est envoyée il enverra un autre rapport avec les valeurs de clé de remplissage.
Par exemple de minimiser la fenêtre qui la touche de raccourci Windows est Alt + espace, puis appuyez sur n.