Description
A computer is a simple class that acts as a storage for flight software modules. Flight software blocks perform specific tasks of computing a message that can be passed to the next flight software module. The computer is tasked with storing the modules and connecting them together when needed. However, the base functionality for the computer class is limited. There are more advanced computer modules (such as guidance and operation computers) that perform more advanced operations.
Example Use Cases
- Creating Flight Software: Using a computer allows flight software to be added to a spacecraft or ground station and connected together.
- Tracking Clock Time: The onboard computer clock tracks a simulated tick speed.
Module Implementation
The computer also has an in-built clock that ticks up every second. The clock is a non-relativistic clock and does not take into account any form of time dilation.
Here, the clock increases its seconds every simulation tick based on the step interval. The new time is equal to the sum of the previous frame time , the change in time and the epoch time . The epoch time is the UNIX time in seconds since the year 1970. The clock can also be synced to match a Date Time. When synced, the Unix time is calculated and updated in the clock equation. By not syncing a time, the clock will begin at 12:00:00 AM, January 1st, 1970.
The computer is also able to shut down and become a low-power mode if required. When shutdown, all software modules on the computer will become unable to be executed until appropriate power is resumed. Without connecting the computer to the power system, it is assumed that the computer has full capacity and full power.
Assumptions/Limitations
- More advanced computers perform better functionality on flight software. This computer does not call any flight software or make any flight logic.
- The current computer does not have a clock frequency system on board to update software at a particular rate. The computer is assumed to be synced to the simulation tick.