Utiliser l’USIS controller et manipuler vos spectros en restant confortablement chez vous

USIS : le protocole standard de la spectroscopie astronomique

A l’occasion du développement du module de motorisation UVEX, nous avons formalisé le protocole de communication entre l’ordinateur et l’équipement. Il s’agit du protocole USIS (pour Universal Spectroscope Interface Specification).

Nous utiliserons à l’avenir ce protocole pour tous nos développements matériels et logiciel, et nous invitons la communauté des astronomes à en faire de même. Disposer d’un standard, c’est d’une part réduire les efforts de développement (aussi bien matériels que logiciels), et d’autre part c’est permettre à terme aux observateurs l’inter-opérabilité entre les instruments USIS et les logiciels USIS.

Ce protocole s’appuie sur des propriétés, et quelques commandes qui permettent d’interroger ou de modifier ces propriétés. Dans le cas de UVEX, par exemple, l’angle réseau est une de ces propriétés, que l’on peut lire ou modifier.

Nous avons prévu que ce protocole puisse être utilisé de manière très générique, c’est à dire qu’un même logiciel pourrait communiquer avec différents équipements USIS. Par exemple, nous disposons de fonctions d’introspection, qui permette d’interroger l’équipement pour avoir la liste des propriétés disponibles, ainsi que leur type.

Pour que ce protocole soit largement utilisé dans la communauté, nous avons mis en place quelques éléments importants :

– La spécification elle-même est librement accessible sur le compte Github public de Shelyak.

– Nous avons développé une librairie USIS en C (Usis.h), qui intègre le protocole complet, et qui peut être utilisé sur des développements à base de Raspberry Pi Pico, ou d’Arduino. Pour l’UVEX, nous utilisons cette librairie avec un Pico.

– Nous mettons aussi à disposition un fichier compilé qui met en oeuvre quelques propriétés simples, pour simuler un “device USIS”. Il s’agit d’un fichier .uf2 qui peut être facilement téléchargé dans un Pico pour le transformer en simulateur USIS. Le fichier peut être téléchargé ici.

Bien entendu, la spécification pourra évoluer en fonction des besoins nouveaux. N’hésitez pas à nous solliciter si vous avez des questions, ou des suggestions.