The software that runs a scientific instrument is akin to its brain. It controls mechanisms, such as doors and filters, as well as components; it also coordinates instrument activities between science components. This flight software is also responsible for communicating with the spacecraft and the ground operators. In this role, the software receives and executes commands to change configurations, transmitting science, engineering, and housekeeping information to ground operators. Operators then monitor the health of the instrument and scientists perform their analysis. Flight software also receives alerts from the spacecraft if unsafe situations develop, the flight software responds to these alerts by placing the instrument in safe configuration mode.
During a mission, the software must be able to accommodate changes to its existing logic. This flexibility allows software patches or complete reloads to address instrument or operational changes that may occur during the mission.
The Flight Software group has a close working relationship with the LASP Electrical Engineering group. In the early stages of projects, we are involved in the processor selection and we support testing of prototypes and evaluation boards. As a program progresses, we support the testing of the electronic boards. The Electrical Engineers are integral in providing hardware on which the flight software is tested. The software group also produces emulator software and software tools useful to all engineering groups.