Utilisation des fonctions de lecture de la
caméra Audine sous Windows NT/2000/XP

 

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 :

http://www.beyondlogic.org

Le système PortTalk a de nombreux avantages :

1 - Une grande sécurité d'utilisation et une procédure d'installation simple.
2 - C'est un freeware, il n'y a aucune droit d'utilisation à payer.
3 - Le code source est fournie, ce qui est pédagogique et autorise d'éventuelles modifications.
4 - Une compatibilité avec Windows NT, Windows 2000 et Windows XP sans modifications.

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.
2 - Copier le fichier porttalk.sys dans le répertoire
WINNT/SYSTEM32/DRIVERS (pour Windows NT/2000) ou WINDOWS/SYSTEM/DRIVERS ON XP (pour Windows XP).
3 - Copier le fichier ALLOWIO.EXE dans le répertoire d'installation de IRIS (par exemple C:\IRIS).
4 - Double-cliquer sur le fichier PORTTALK.REG (ou depuis la console DOS entrer
PORTTALK <Entrée>). Cette dernière opération enregistre le driver porttalk.sys dans votre système. Vous n'aurez plus à refaire cette opération dorénavant. Bien sur, pour que l'enregistrement réussisse dans un système NT il vous faut en avoir les privilèges, c'est à dire vous situer au niveau administrateur du système
5 - Redémarrer votre ordinateur. C'est à ce stade que le driver va se charger automatiquement en mémoire.

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).

Attention : il faut parfois vérifier dans le menu SETUP de votre PC (touche DEL ou F10 généralement à la mise sous tension) que le port parallèle est réglé en mode 8-bits unidirectionnel (le mode le plus basique). Evitez les modes EPP/ECP. Dans le cas contraire il y a de fortes chances que la caméra ne fonctionne pas.

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 Windows 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/UDP ou Bidirectionnel ou Unidirectionnel. Utilisez toujours ce dernier mode 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, PRISM, TELEAUTO, etc.