Odyssey receives its commands and sequences from Earth and translates them into spacecraft actions. The flight software is capable of running multiple concurrent sequences, as well as executing immediate commands as they are received.
The software responsible for the data collection is extremely flexible. It collects data from the science and engineering devices and puts them in a variety of holding bins. Ground commands can easily modify which channel is routed to which holding bin, as well as how often it is sampled.
The flight software is also responsible for a number of autonomous functions, such as attitude control and fault protection, which involves frequent internal checks to determine if a problem has occurred. If the software senses a problem, it will automatically perform a number of preset actions to resolve the problem and put the spacecraft in a safety mode for the ground to respond.