Utilisation
des fonctions de lecture de la |
Contrairement à Windows 95/98/ Millenium, les systèmes d'exploitation Windows NT/2000/XP n'autorisent pas un accès naturel et libre pour les programmeurs aux adresses des ports d'entrée/sortie, ceci pour des raisons de protection du système. Or, l'écriture sur ces ports est indispensable pour piloter la caméra AUDINE lorsque celle-ci est connectée sur le port imprimante du PC. Notamment, il faut que le logiciel puisse accédé aux adresses (en hexadécimal ) 0x378, 0x379 et 0x37A (ces valeurs d'adresse sont très généralement utilisées pour le port imprimante, mais peuvent différer sur certains PC, voir plus loin). L'objectif de cette page est de vous éviter d'avoir le type de message d'erreur suivant lorsque vous lancez l'acquisition d'une image : Une solution au problème est d'écrire un driver (pilote) qui implémente les routines de lecture de la caméra Audine en les faisant tourner dans une couche de bas niveau, dite ring 0, à partir de laquelle l'accès aux ports est autorisé. L'écriture d'un tel driver est cependant assez complexe. Une autre stratégie consiste à lancer le programme IRIS sous la forme d'un process à qui on donne l'autorisation d'accès à certains ports d'entrée/sortie. C'est cette dernière procédure qui a été adopté pour IRIS car elle est très fiable, pratiquement transparente pour l'utilisateur, et elle ne nécessite qu'une modification mineure du logiciel. La procédure consiste donc à lancer IRIS.EXE non pas directement, mais à partir d'un autre logiciel qui indique au système d'exploitation quels sont les ports qui vont être accédés. C'est le système PortTalk de la Société Beyond Logic qui a été choisit. Concrètement, IRIS est lancé par exemple depuis la ligne de commande DOS en tapant la ligne : ALLOWIO IRIS.EXE 0x378 ALLOWIO.EXE est le programme lanceur. IRIS.EXE est le programme lancé. 0x378 est la première adresse d'une série de 5 adresses consécutives qui sont allouée automatiquement au programme IRIS pour piloter la caméra. Pour plus d'informations vous pouvez consulter la page Web de Beyond Logic et y télécharger (gratuitement) le programme ALLOWIO.EXE ainsi que le driver associé PORTTALK.SYS : Le système PortTalk a de nombreux avantages : 1 - Une grande sécurité d'utilisation
et une procédure d'installation simple. On le voit, le système est très attrayant. Voici la procédure d'installation de PortTalk. Télécharger les fichiers correspondant sur le siteBeyong Logic (vous y trouverez un fichier d'aide et les sources) : http://www.beyondlogic.org/porttalk/porttalk.htm Vous pouvez aussi cliquer ici pour ne télécharger que le strict nécessaire (18 Ko). 1 - Décompressez le ZIP dans un répertoire
quelconque. Vous pouvez à présent lancer IRIS à partir de l'application ALLOWIO.EXE. Voici deux méthodes : 1 - Depuis la console DOS aller dans le répertoire d'installation de IRIS (par exemple CD IRIS), puis taper la commande : ALLOWIO IRIS.EXE 0x378 2 - Avec l'aide d'un éditeur de texte
(NotePad, WordPad) écrivez un texte qui ne contient qu'une
seule ligne : ALLOWIO IRIS.EXE 0x378 Sauvegardez ce fichier dans le répertoire d'installation de IRIS sous le nom GO.BAT (par exemple, ce qui compte c'est l'extension .BAT, ainsi le fichier de commande que vous êtes entrain de créer pourrait s'appeler IRIS.BAT). Pour lancer IRIS, double-cliquer sur le nom GO.BAT depuis l'explorateur windows. Vous pouvez aussi copier le raccourci du fichier GO.BAT sur votre bureau pour un accès encore plus intuitif. Dans les exemples précédents on a supposé que l'adresse de base du port imprimante sur lequel est connecté la caméra AUDINE est 0x378. Voici le moyen de vérifier que c'est bien le cas et au besoin corriger les exemples précédents : Depuis le menu Démarrer, lancez Programmes, puis Accessoires, puis Diagnostics Windows NT. Dans la boite de dialogue qui s'ouvre sélectionner l'onglet Ressources puis cliquer sur le bouton Port E/S. Repérer l'item Parport, il vous donne les adresses du port parallèle. La première de ces adresses est l'adresse dite de base (ici 378 en hexadécimal). Une fois dans IRIS vous devez indiquer au programme que vous travaillez avec un système Windows NT/2000/XP. Pour cela cliquer sur le bouton suivant de la barre d'outil : Dans la boite de dialogue qui s'ouvre cocher l'option Win NT/2000/XP Vérifier que l'adresse de base du port imprimante prise par défaut est bien en cohérence avec celle de votre PC. Modifier en conséquence si besoin est. Modifier les autres paramètres d'acquisition si vous le souhaitez. Fermer la boite avec le bouton OK. Noter que vous retrouverez cette configuration d'acquisition lors du prochain démarrage de IRIS. Pour vérifier le bon fonctionnement de la configuration mise en place, lancer la commande suivante depuis la mode console de IRIS (acquisition avec un temps de pose nul) : ACQ 0 Au bout de quelques secondes une image apparaît à l'écran. Au besoin, modifier les seuils de visualisation. Si l'image est faite dans l'obscurité totale le niveau moyen doit se situer vers 2000 et 6000 pas de quantification. Si l'image apparaît très sombre alors qu'il n'y a eut aucun message d'erreur, il faut regarder si votre port parallèle est configuré en mode Unidirectionnel. Cela se fait en activant le Setup de votre PC au moment du démarrage (généralement il faut appuyer à ce moment sur la touche F10). Aller dans la rubrique du BIOS concernant les ports d'entrée/sortie. Généralement pour le port parallèle vous avez le choix entre un mode ECP/UCP ou Bidirectionnel ou Unidirectionnel. Utilisez toujours cette dernière configuration avec la caméra Audine. Noter pour finir que si vous utilisez IRIS pour effectuer du traitement d'image ou de l'acquisition au travers d'une Webcam il est inutile d'installer le driver PortTalk. IRIS est en effet compatible tel quel dans ces conditions avec Windows NT/2000/XP IRIS n'est probablement pas le logiciel le plus adapté pour faire de l'acquisition d'image avec une Audine. Il n'a pas été écrit pour cela et les fonctions d'acquisition Audine sont là surtout pour a mise au point de cette caméra et pour l'exploitation de modse d'acquisition particuliers (mode scan et mode vidéo). Pour l'acquisition courante il est conseiller d'utiliser par exemple PISCO, AUDELA ou PRISM. |