[an error occurred while processing this directive]
Aconit,
projet Lecteur-USB (2010, Miguel Saro, Fabien Le
Mentec)
Gnu-Linux
Interface utilisateur
Un programme en ligne de commande nous permet de tester les
fonctionnalités de dialogue avec l'interface usb.
Communication USB
Pour dialoguer avec l'interface USB, un driver est
généralement nécessaire.
Pour des raisons de simplicité, afin d'être
portable et de ne pas avoir de code
redondant entre les différents systèmes
d'exploitation, nous avons choisi d'utiliser
la bibliothèque libusb [1]. Cette
bibliothèque nous affranchit de l'écriture d'un driver et nous permet
d'être
portable sur Linux, MacOS et Windows.
API m600
Un ensemble de fonctions a été implémenté en langage C
afin de masquer
les détails bas niveau de communication avec la machine. Cela a l'
avantage de rendre tout code utilisant cette interface portable sur les
différents systèmes d'exploitation.
Cet ensemble constitue l' API m600 et permet au programmeur de
manipuler le m600 au travers d'un handle opaque. Les routines
suivantes sont disponibles:
m600_initialize: initialise le sous
système USB et certaines structures internes sur lesquelles se repose
l' API.
m600_open: ouvre un handle sur le
périphérique m600.
m600_close: ferme un périphérique m600
précédemment ouvert par m600_open.
m600_read_alarms: récupere l'état des
alarmes du m600.
m600_read_cards: fait lire le nombre de
carte specifié en argument de la fonction et récupere les
données lues.
Au cours des essais il a été nécessaire d'ajouter une fonction de
ré-initialisation du lecteur: