Local Volume Mapper Spectrograph Control Package (LVMSCP) is the software that controls three spectrographs to acquire science spectral data cubes automatically. The software architecture design based on Python 3.9 follows a hierarchical structure of Actors, the unit that controls each piece of hardware. We used the software framework Codified Likeness Utility to implement each Actor. The Actors communicate with each other through RabbitMQ, which implements the Advanced Message Queuing Protocol. The Actor applies asynchronous programming with non-blocking procedures as the three spectrographs should operate simultaneously. For the requirement of incremental code change and management in the collaboration of the developers, we adopted the SDSS Github Action, which supports continuous integration/continuous deployment. As a result, unit testing with Pytest tested the individual components of the software, respectively, and lab testing with LVMSCP provided the spectra data for the spectrograph calibration. The LVMSCP provides the application programming interface to the Robotic Observation Package to fulfill the required scientific survey execution for the spectrographs. |
ACCESS THE FULL ARTICLE
No SPIE Account? Create one
Spectrographs
Control software
Software development
Charge-coupled devices
Camera shutters
Design and modelling
Computer architecture