ControlDeck modules can both create data points and request data points.
All data points are stored in a single memory pool and identified uniquely by the given group and string name. Once the references to the data points are obtained using either the create or request operation, a module can read or write to the data point (or both). Clearly, writing to other module's data points must be done judiciously. We have used the following specific terms for each of the standard operations, so each module's data objects are labelled in the header according to the following list:
- Inputs: data points requested from the system by the module and intended for read access only.
- Outputs: data points created by and written to by the module. There might be telemetry or data needed by other modules.
- Assignments: data pointed requested, i.e. created elsewhere, and written to by the module. This is how outputs are sent to hardware or to simulation variables.
- Parameters or Commands: data points created by the module but intended for only read access. These are likely to be provided by a setup file or intermittently set by the ground.
In addition, we use the following conventions in our variable names:
- _ref: Reference to a data point
- _demand: Calculated demand to be sent to an actuator
- _command: Command or parameter which may be sent from ground or is otherwise provided externally to the module
- _0: Initial value for a data point
Here is a list of pertinent acronyms and abbreviations:
- ACS: Attitude Control System
- AD: Attitude Determination
- DST: Distribution
- FSW: Flight Software
- HGA: High Gain Antenna
- OD: Orbit Determination