Both digital electronics units in the UVOT contain microprocessors running custom flight software. The ICU software is responsible for controlling and managing all aspects of the UVOT's operations, including:
Many ICU behaviors, most notably the exposure sequences used to observe targets, can be reconfigured via simple table uploads. ICU capabilities are implemented via a combination of compiled Ada code and a custom interpreted scripting language.
The Data Processing Unit software is responsible for reducing and packaging the detector event stream for transport to the ground. Data reduction tasks include spatial windowing of event data (to control telemetry volume), compression of event data, binning of event data into images, compression of images, transformation of engineering data streams into calibration products, and construction of a Finding Chart (which involves source detection). The Data Processing Unit contains significant data buffering capacity to accommodate variation in the science data and telemetry production rates.