Reliez vos montages électroniques à votre ordinateur Auteur : Electroremy Zine : Rafale #5 Introduction : L'omniprésence et la démocratisation des composants programmable font qu'aujourd'hui l'informatique est devenue indissociable de l'électronique. Les exemples sont innombrables : création de divx-box, étude et l'utilisation des cartes à puces, des télécommandes IR, la transmission de données sans fils, la domotique, la robotique... Mais paradoxalement, contrairement au bon vieux DOS 6.22, les OS actuels mettent bien des bâtons dans les roues aux électroniciens qui souhaite ne serais-ce que piloter un simple montage à l'aide du port parallèle. J'ai moi-même été confronté à ce problème, et après de nombreux jours passés à parcourir les forums, à rechercher et lire des datasheets, à télécharger et tester divers logiciels, je vais vous présenter mon " best of ". Certes mon article ne concerne pas une création personnelle, mais il vous fera gagner du temps car vous saurez dans quelle direction aller en fonction de ce que vous souhaitez faire. 1. Comment continuer à utiliser vos anciens logiciels Si vous avez déjà écrit ou téléchargé des logiciels permettant de piloter des montages électroniques fonctionnant sous DOS ou Windows 95, vous avez certainement constaté qu'avec les versions NT, 2000 et XP de Windows, votre logiciel ne fonctionnait plus. La plupart des électroniciens sont convaincu que ce problème ne peut être résolut, alors qu'une solution existe ! Rendez-vous sur http://www.beyondlogic.org et téléchargez l'utilitaire porttalk. Vous devez d'abord l'installer, pour ce faire décompressez l'archive et effectuez les opérations suivantes : " Ouvrez une session Administrateur " Copiez le fichier PORTTALK.SYS dans C:\WINDOWS\SYSTEM32\DRIVERS\ " Double-cliquez sur PORTTALK.REG et répondez OUI à la question " Copiez le fichier ALLOWIO.EXE dans C:\WINDOWS\ " Redémarrez Windows Son utilisation est extrêmement simple, lancez une invite de commande et tapez : allowio prog.exe adresse1 adresse2 ... prog.exe est le chemin d'accès à l'exécutable du logiciel qui doit accéder aux ports de la machine, il doit être suivit par les adresses des ports auxquels vous souhaitez donner accès. Par exemple : allowio prog.exe 0x378 permettra à prog.exe d'accéder au port parallèle. Vous pouvez également taper : allowio prog.exe /a pour donner accès à tous les ports de la machine à prog.exe. Ceci est toutefois déconseillé pour des raisons évidentes de stabilité du système. Il est plus pratique de créer un raccourci de lancement pour votre programme. Voici comment faire : Créez un raccourci MSDOS vers C:\WINDOWS\AllowIo.exe Cliquez sur le raccourci avec le bouton droit et choisissez propriétés Modifiez la cible en : C:\WINDOWS\AllowIo.exe C:\mon_logiciel\mon_logiciel.exe 0x378 L'utilisation de porttalk peut vous sembler un peu rustique mais elle offre de nombreux avantages : - vous conservez vos anciens logiciels - si vous devez développer un nouveau logiciel, le même logiciel conviendra pour tous les OS du DOS ou WIN95 jusque WIN XP, vous ne perdrez pas de temps à concevoir deux versions différentes 2. Comment concevoir une vraie application pour les dernières versions de Windows Si vous en avez marre de la bidouille et que vous ne supportez plus de programmer des logiciels en 16bit pour MS-DOS et que souhaitez faire une application vraiment conçue pour les dernières versions de Windows, et bien sachez que c'est beaucoup plus facile qu'il n'y parait ! Allez faire un tour sur http://www.logix4u.net et téléchargez les nouvelles versions de inpout32.dll et inpout64.dll Vous connaissez certainement inpout32.dll comme la DLL permettant d'accéder aux ports de la machine à partir de Visual Basic ou Visual C++. Malheureusement cette DLL ne fonctionnait plus elle aussi sous les versions NT, 2000 et XP. Les nouvelles moutures de logix 4 U fonctionnent correctement quelque soit la version de Windows, et, cerise sur le gâteau, elles sont compatibles avec la version " historique ", donc vous pouvez vous en servir pour mettre à jours vos logiciels existants, sans toucher à votre code, et sans utiliser porttalk ! Logix 4 U vous donne en plus les codes sources et des explications sur le fonctionnement de leurs DLL, ce qui ravira les plus passionnés d'entre nous. Il n'est pas fréquent de faire de la publicité pour Microsoft, mais vous devez aussi savoir que les dernières versions de Visual Basic et Visual C++ sont téléchargeables gratuitement en version " express ". Maintenant je vais aborder un autre sujet et vous parler d'assembleur. Allez visiter http://win32assembly.online.fr et téléchargez MASM32. Aussi incroyable que cela paraisse, il est possible de développer des applications WIN32 - de vraies applications WIN32, avec des fenêtres - en assembleur. Et c'est d'autant plus incroyable que c'est à peine plus compliqué que de faire la même chose en C ! Ne soyez pas incrédule et essayez quelques-uns des dizaines d'exemples livrés avec MASM32 et regardez ensuite le code source. Quel est l'intérêt de développer en assembleur ? - L'assembleur est rapide - L'assembleur est par excellence le langage à utiliser pour accéder aux ports de la machine - Un électronicien qui n'a programmé que composants programmables (PIC, ATMELS) est familier avec l'assembleur et retrouvera plus rapidement ses petits que s'il doit se mettre à Visual Basic ou au C++ MASM32 vous permettra de créer des programmes petits et performants pour piloter vos montages électroniques, avec l'aide de porttalk ou de inpoutXX.dll. J'ai gardé le meilleur pour la fin : Développer son propre driver est possible ! La tâche reste complexe, mais avec MASM32 et le tutoriel disponible sur http://neitsabes.free.fr/ASM/KMD/KMDindex.htm vous avez en main toutes les cartes nécessaires. Les plus passionnés d'entre vous qui arriveront au bout de cette aventure pourront exploiter à fond les possibilités offertes par l'utilisation conjointe de l'informatique et de l'électronique, et apprendront énormément de choses sur le fonctionnement des entrailles de Windows. Conclusion En guise de conclusion, force est de constater que le monde du logiciel libre et des passionnés d'électronique a brillamment démontré qu'à force de volonté rien n'est impossible. L'ordinateur reste donc le meilleur compagnon de l'électronicien ! Je remercie chaleureusement toutes les personnes qui ont contribué aux sites que j'ai cité, ces personnes méritent qu'on leur fasse de la publicité.