Re: Linux au labo

Page principale

Répondre à ce message
Auteur: Edgar Bonet
Date:  
À: Guilde
Sujet: Re: Linux au labo
Le dimanche 9 mars, Philippe Beau a écrit :
> Bricolage à quel niveau ?


Du genre connecter Linux à des instruments de mesure, des actionneurs,
faire de l'acquisition de données, du temps réel, une interface
utilisateur pour piloter le tout...

> C'est un genre de "utiliser Linux au boulot" non ?


Oui. Mais je connais par exemple des physiciens théoriciens pour qui
Emacs + LaTeX + Mozilla est tout ce qu'il faut pour travailler. Un
expérimentateur doit davantage mettre les mains dans le cambouis. Et
comme toute expérience est un peu particulière, il faut
presqu'invariablement développer quelque chose sur mesure. C'est en ce
sens que je parle de « bricolage ».

La nécessité de développer sur mesure n'est pas spécifique à Linux.
Avant de monter ma propre manip j'ai développé des trucs sous Manip
(bibliothèque maison du CRTBT, sous MacOS) et sous LabWindows/Win32
(environnement C de National Instruments, avec bibliothèque graphique et
pilotes d'instruments). Je vois autour de moi des gens développer sous
LabView/Win32 (un autre environnement de NI). NI a beau essayer de faire
croire qu'un programme LabView ça se fait tout seul, il y a quand-même
un travail de développement. Je le mesure aux cheveux que s'arrache mon
collègue d'en face ;-).

De part ma culture Unix + C, je suis peu réceptif à la programmation
« tout graphique » à la LabView (qui existe sous Linux). J'étais plus à
l'aise avec LabWindows. Mais même là, je n'ai pas été convaincu de
l'utilité des pilotes NI, surtout quand les instruments causent SCPI :
les fonctions du pilote ne font qu'encapsuler des commandes ASCII qu'il
est tout aussi facile d'envoyer directement. Sans compter les fois où tu
dois modifier le pilote (heuresement il y a les sources) car il ne
prévoit pas qu'on puisse utiliser plus d'un instrument d'un modèle
donné...

Bref, j'ai préféré piloter ma manip sous Linux, taper

    fprintf(gbf, "frq:0.01\n");


plutôt que

    hameg8831_set_frequency(0.01);


dans mon code et utiliser GTK+ + glade plutôt que le constructeur
d'interfaces de NI. Je bénéficie alors de tous les avantages de notre
plate-forme préférée, mais il y a quand-même quelques inconvénients.
Outre le fait que je passe pour un original (ce qui n'est pas grave dans
un labo où il y a des manips sous MacOS...), il y a le support incertain
des cartes d'interfaçage internes, et le manque de savoir faire parmi
les collègues. Il me manque aussi un widget simple à utiliser qui trace
des courbes zoomables à la souris. Pour l'instant je fais popen("gnuplot
-persist", "w"); mais ce n'est pas super convivial.

Bon, j'ai un peu trop racconté ma vie là (mais j'ai sauté le chapitre
low-latency). Tout ça pour dire que je crois que l'interfaçage de manips
est un sujet en soi, plus spécifique que « Linux au boulot », et que je
crois qu'il y a des choses à partager entre expérimentateurs linuxiens
grenoblois. Si ça se trouve ça peut aussi concerner des utilisations non
professionnelles, genre des bricoleurs purs et durs qui expérimentent
dans le domaine de la domotique.

Bonne nuit.

Edgar.

-- 
Edgar Bonet                         Tél    : 04 76 88 10 96
Laboratoire Louis Néel -- CNRS      Mobile : 06 77 19 79 39
25 av. des Martyrs, BP 166          Fax    : 04 76 88 11 91
38042 Grenoble cedex 9, France      e-mail : guilde@???