Logiciels d'EXAO pour Linux

(retour à l'index général)

Malheureusement, il n'y en a pas encore beaucoup.
J'avais voulu faire l'équivalent pour Linux de la gamme Mesugraf pour Windows. En théorie, c'est simple : faire des bibliothèques partagées (.so) qui sont l'équivalent des DLL de Windows pour chaque type de matériel, et faire une application graphique qui affiche les mesures et les traite.
Pas de difficultés pour les bibliothèques partagées : que ce soit avec Kylix (de Borland, l'équivalent de Delphi), ou avec FreePascal/Lazarus, ou le C++ qui règne en maître dans le monde Linux, il est facile de faire des bibliothèques dynamiques .so.

Par contre, des difficultés inattendues sont venues pour la programmation de l'application graphique (avec fenêtres, menus déroulants, boites de dialogue, etc). Kylix peut bien compiler des applications qui ressemblent fortement aux applications Delphi, et qui fonctionnent correctement quand on les lance à partir de Kylix. Malheureusement, lorsqu'on les lance directement, le programme se bloque en réclamant des bibliothèques extérieures. Dommage.
Je n'ai pas réussi à faire fonctionner correctement Lazarus, qui serait un peu l'équivalent "libre et gratuit" de Delphi/Kylix sous Linux.

J'ai donc dû me rabattre sur PureBasic, qui fait des fichiers exécutables très compacts, et qui fonctionnent correctement, aussi bien sous Windows que sous Linux. Mais comme c'est un langage de type Basic, mes vieilles sources de programmation en Pascal n'étaient pas directement utilisables. Le résultat est donc beaucoup plus fruste que Mesugraf pour Windows, qui avait profité de nombreuses années de programmation en Pascal.

Voici donc mes propositions :
Mesures lentes (intervalles de l'ordre de la seconde) : utiliser une application écrite en langage interprété, qui appelle un pilote exécutable renvoyant les valeurs mesurées. J'ai fait trois applications de démonstration : une en Python, une en Scilab et une en OpenOffice Basic.


Mesures rapides (intervalles de l'ordre de la milliseconde ou microseconde) : utiliser une application écrite en langage compilé, qui appelle un pilote de type bibliothèque dynamique, ce qui est très rapide. Pour l'instant, il n'y a que Oscpb : OSCilloscope pour PureBasic.

Essais de logiciels communs avec Linux  (voir aussi la section Linux) :
mesures lentes : applications de type "Mesugraf", en langages interprétés
MG-Scilab
MG-Python
MG-OpenOffice
               
mesures rapides : applications de type "Oscillo", en langage compilé
Osc-PB




Attention au problème des droits d'accès aux ports en Linux :
 Normalement, seul le super-utilisateur à le droit d'accéder à l'électronique de l'ordinateur, donc en particulier aux ports d'entrée/sortie des cartes ISA ou PCI . Si on veut qu'un utilisateur "normal" puisse utiliser ces logiciels, il faut lui donner des droits supplémentaires sur les programmes d'acquisition (programme exécutable et bibliothèque dynamique). Cela est possible par les commandes de type
chmod 4777 ./liblxmesures.so (pour modifier l'accessibilité du fichier liblxmesures.so, et en autoriser l'accès à tous les utilisateurs)
et chown -c root root ./liblxmesures.so (pour indiquer que le possesseur de liblxmesures.so est le superutilisateur root)

Pilotes disponibles :
Prise "manettes de jeu" : Capman
Prise parallèle : Cappar, ADES

Prise série RS32 :
Orphy (GTS, Portable, Portable II)

Connecteurs d'extension ISA ou PCI :
Jeulin ESAO3
PMB


Pierre DIEUMEGARD
professeur de SVT
Lycée Pothier
F 45044 Orléans
courriel : pierre.dieumegard@free.fr