Notes concernant la programmation
Le code Coralie est ancien et ne suit pas les concepts MVC concernant la visualisation avec un User Interface.
Il est donc trop tard pour le changer, donc voici quelques info pour une réutilisation de ce code.
Le serveur spectro (spectro_srv)
Ce serveur fonctionne en liaison avec un Inter-Client (interpréteur de commande en usage dans le logiciel T4).
Il possède beaucoup d'interaction avec le logiciel T4, c'est à dire:
- librairie de communication socket
- connection au User Interface spesdb
- gestion de plusieurs mode de simulation
- etc..
Pour ces raisons, son emploi pour un autre projet serait trop complexe. Il est préférable de l'oublier.
User interface en usage à La Silla
C'est spesdb.pl, écrit en perl. le serveur spectro_srv s'y connecte. Il permet de visualiser l'état du hardware Coralie et aussi travailler en mode simulation pour le test du logiciel d'observation de T4.
Les commandes sub_<mécanisme>_<no>.c informent spesbd lors de chaque demande de mouvement et donc permettent de maintenir un affichage à jour.
Le mode simulation permet de travailler sans instrument ou avec l'instrument et en simulation des status de retour pour le test de la gestion des erreur.
Un flag général on_coralie indique si on est sur Coralie ou si on est en mode simulation.
Réutilisation des routines de contrôle
Considérant ce qui est décrit plus haut, en cas de réutilisation du code Il suffit de supprimer ce qui est hors du test on_coralie dans chaque routine sub_<mécanisme>_<no>.c et d'une manière générale tout ce qui comporte les mots clés suivants:
- sdb
- mutex
- gop