Viewing page 32 of 208

This transcription has been completed. Contact us with corrections.

2.2 Flight Software

Operation of the instrument was accomplished with the flight software running on a PGSC.  The software was written around a scheduler routine that kept track of time and commanded activities on one-second intervals based on the MET clock.  All commands, telemetry, and data were handled as files.

The first two versions of the software were 16-bit applications and used a custom camera driver provided by JSC. They were written with simple scheduling programs to read command files, take pictures, transfer images from the camera to the PGSC hard disk, and log the results. The last version of the flight software, flown on STS_86, had a significant number of modifications based on lessons learned from the first two flights to improve access and download, and was a 32-bit application. Improvements included:

• fault detection, alarming, and built-in malfunction procedures,
• loss-less image data compression (approximately 50% using GZIP),
• improved camera status information and control,
• improved software performance,
• less CPU load and reduced image-file transfer time, and
• upgrades for network operation compatibility

Built-in fault detection and assessment using a beeping alert was also included to minimize the time between a software or camera error and correction of that error by the crew. Once an alert sounded, the crew would evaluate and remedy the situation and notify the operations team on the ground of the situation.

Pictures were scheduled on board by ground commands in the Camera Control File (CCF) that specified the time for photgraphing Earth as an MET (dy/hr:min:sec). The following camera commands were all part of the flight software:

• take photographs based on the CCF,
• move the acquired photographs from the camera to the Thinkpad,
• compress the photographs and store them for downlink,
• monitor the condition of the camera,
• generate a log file that documented payload operation, including executed commands 
  and errors,
• capture time from the Pulse Code Modulation Master Unit (PCMMU), and
• allow for astronaut interaction - the ability to schedule photographs, manually take
  photographs, inhibit operations, view a thumbnail of the last picture taken, and 
  view the log file and command queue.

The CCF was read by the KidSat flight software, then sorted and ordered by MET into a command (CMD) file. The software monitored the MET and executed commands, including shutter commands, at times specified in the CCF.  The flight software then retrieved the captured images from the camera PCMCIA card, sorted them on the Thinkpad hard drive, and deleted them from the camera hard disk.

Before every mission, the software was tested to check that it performed as required with the space shuttle flight-specific software load in the physical conditions of the shuttle, and that the different parts of the KidSat Flight System worked well with each other and with the systems onboard the shuttle and on the ground.  Testing of the flight software and hardware was performed at JPL, JSC, and UCSD before and during mission simulations.

19