Table of Contents
Previous Chapter
This section describes the preliminary design of the ACIS Back End's Software Housekeeping software. This software is responsible for monitoring the Watchdog Timer, and for acquiring and sending software statistics.
Figure 16 illustrates a coarse overview of the Software Housekeeping Statistics (a), Watchdog (b), and Fatal Error operations (c).
FIGURE 16. Software Housekeeping Overview
The Back End software manages its software housekeeping operations using a "Software Housekeeper" class. This housekeeper is responsible for periodically sending software statistics, reported by other software elements, and for maintaining the Watchdog Timer. It provides the operations listed in Table 51.
TABLE 51. `Software Housekeeper'Operations
---------------------------------------------------------------- Function Inputs Outputs---------------------------------------------------------------- Initialize none none Software Housekeepers Main Task Function none none (invoked by the RTX scheduler) Increment Statistic Statistic Id none ----------------------------------------------------------------
Whenever all tasks, except the lowest priority task, are suspended, the Back End software resets the Watchdog Timer. If any higher priority task hangs or consumes the system for longer than the time-out period, the Watchdog Timer will go off and reset the Back End processor. The Back End manages the timer hardware using a "Watchdog Device" class. This class provides the operations listed in Table 52.
TABLE 52. `Watchdog Device'Operations
----------------------------------------------------------------------------------------------- Function Inputs Outputs----------------------------------------------------------------------------------------------- Initialize none none Set Time-out Period The time it takes for the timer to go none off (in TBD Units) Touch none none Force Hardware Reset none Forces the Watchdog Timer to expire, causing a hardware reset of the Back End Processor -----------------------------------------------------------------------------------------------
In order to prevent the Watchdog Timer from resetting the processor, the system must prevent 100% utilization for greater than the Watchdog Reset time. In general, tasks are required to periodically "sleep" during long, continuous operations.
The Back End software uses a "SW House Telemetry Packet" class to store and telemeter acquired Software Housekeeping statistics. This is a subclass of a "Telemetry Packet," which provides the operations needed to telemeter the information. The "SW House Telemetry Packet" class contains an array of counters, and provides the additional operations listed in Table 53.
TABLE 53. `SW House Telemetry Packet'Operations
----------------------------------------------------------------------------- Function Inputs Outputs----------------------------------------------------------------------------- Initialize SW Housekeeping Acquisition Id none Reset Counters none Zeros the housekeeping counters contained in the packet. Increment Counter Counter Id Increments the housekeep ing counter indicated by "Counter Id" -----------------------------------------------------------------------------
The Back End software provides the capability to issue a "Fatal" error telemetry report and reset the Back End processor. This is accomplished by a "Fatal Error" class. This class provides the operations listed in Table 54.
TABLE 54. `Fatal Error'Operations
--------------------------------------------------------------------------------------------- Function Inputs Outputs--------------------------------------------------------------------------------------------- Report Reason for the fatal error Emits a "Fatal Error" telemetry packet and resets Optional Argument for the error the Back End Processor using the "Watchdog Device." This operation NEVER returns. ---------------------------------------------------------------------------------------------
Upon reset, after the Boot ROM loads and starts the main instrument software, the loaded startup code examines the cause of the reset. If it was a commanded reset, the startup code installs any patches contained in the patch list. If it was a watchdog reset, the startup code skips the patch installation. In either case, the instrument software produces a telemetry packet which indicates that the instrument reset, specifying whether it was a commanded or watchdog reset, and, if it was a watchdog reset, it repeats the last used Fatal Error message reason code and argument.