We’re frequently finding new terms, acronyms, initialisms and more that confuse people trying to figure out the flight software world. Hopefully, this is a resource that will help in some small way. Please let us know if we’ve missed something.
In Core Flight Software, the System Time Structure in the TIME service can track time in TAI and UTC by default.
In a traditional Real Time Operating System (such as vxWorks or RTEMS), the cFE Application Main task and child tasks end up being mapped to these OS tasks in the same shared memory space. For example, a Stored Command cFE Application that consists of a cFE Main Task and 10 Relative Time Sequence Child Tasks would have 11 tasks on a vxWorks system. The only association between these tasks exists in the cFE.
In a memory-protected, process-oriented Operating System, the intention is to have a cFE Application implemented as a memory-protected process with its own virtual address space. In this Process Model, each cFE Child Task would be a thread in the parent Process, much like a Unix process with multiple threads. In this model, the Stored Command example with a cFE Main Task and 10 Relative Time Sequence Child Tasks would consist of a Unix Process and 10 pthreads, all under the same virtual address space.
The Table Service lets you create tables, update them, delete them, store them, verify them, and more.
However, there’s still work to do on your end because different hardware uses different methods and interfaces. This is where the Platform Support Package and/or the Board Support Package come in. You’ll update that software interface to talk with your hardware and then the higher level Time Service takes over from there.
In Core Flight Software, Telemetry is managed by the Executive Service. It provides functions that help you create, log, and send telemetry. NASA also provides a “Telemetry Output (TO)” example App that extends functionality, especially for ground testing.