Software upgrades are something we are all too familiar with – almost every day small fixes, or patches, are ready to download to our computers, phones and tablets. Mostly these are a minor inconvenience, but sometimes something goes wrong and you’re left with a computer that won’t boot. As annoying as this is, the worst case scenario is usually a re-install of the operating system.
But what if you’re upgrading the software on an instrument flying onboard a spacecraft 655 million km from the Earth? The answer is in a careful design of the instrument followed by testing, testing and more testing on the ground!
When MIDAS is first powered up, it boots into “kernel mode” – the kernel manages a very robust set of basic operations for communicating with the spacecraft and the ground and for managing the more complex main program. From kernel mode we can upload patches to the main software, verify the current contents, or even load an entirely new version.
Although Rosetta and MIDAS spent 957 days in hibernation, the MIDAS team back on Earth were busy learning how best to use MIDAS with tests on the Flight Spare (the identical twin instrument). As a result we have made a number of tweaks and enhancements to the software ready for our encounter with comet 67P/CG. After the passive checkout we know that we’re in good shape, so the next step is to upload and apply the software patches. The new software was tested both on the Flight Spare and on an instrument/processor simulator developed by the institute.
Since memory patching is something that has to be done carefully, this is done in an interactive session. Unlike our passive checkout, where everything ran entirely automatically, this time we’ll wait to see if the patch has uploaded successfully before applying it. Given the one-way-light-time (the time it takes a signal to reach the spacecraft) of over 35 minutes, a certain amount of thumb twiddling is involved – but it’s worth it for peace of mind and the safety of the instrument.
With the patch finished, we have a couple of days to wait until our next “on time”. Then we’ll be running our first real scan since entering hibernation!