Configurable Options
This reference document details the configurable settings available in MCS. The document is split between the MCS client and server.
The MCS client is located in the GNDSW/MCS_Display directory and the server is typically located in the GNDSW/MCS_Server directory.
MCS Server
Configurable MCS server files are located in the MCS_Sever/configs directory. Additionally, the MCS_Server/licence directory contains the licence.properties configurable text file which stores the licence code and other cloud licencing properties.
The configs Directory
By default, the configs directory should contain the following files:
| File | Purpose | ||
|---|---|---|---|
|
The calibration definition file. Used to store the Parameter calibration definitions. The default file contains example calibrations. |
||
|
The check definition file. Used to store the Parameter check definitions. The default file contains example checks. |
||
|
The Parameter associations file. Used to store Parameter calibration and Parameter check associations. |
||
|
An example security associations file.
|
||
|
The MCS property configuration file. Used to configure key-value properties that affect the behaviour of the MCS server. |
Check Definition Properties
Checks are applied to both raw and calibrated Parameter values to determine if the value needs to be calibrated. Checks can also be used to indicate warnings or errors.
If the Parameter value is set outwith the range specified in the check definition file, the value can be calibrated and a warning, error, or information message can be logged.
In the following example:
-
A 'range' or 'chain' check is specified
-
The 'name' field assigns an identifier to the check
-
The 'label' field assigns a string to the check that will be logged if the value is outwith the specified range
-
The
severityfield represents the type of message that is logged if the value is outwith the specified range -
The
lowerfield represents the lower-limit of the check range -
The
upperfield represents the upper-limit of the check range
Show example check definition file
- range:
name: "small-range-HARD"
label: HARD
severity: ERROR
lower: 1
upper: 10
- range:
name: "small-range-SOFT"
label: SOFT
severity: INFO
lower: 2
upper: 9
- range:
name: "large-range-HARD"
label: HARD
severity: ERROR
lower: -60
upper: 100
- range:
name: "large-range-SOFT"
label: SOFT
severity: WARNING
lower: -20
upper: 60
- chain:
name: "small-range"
checks:
- "small-range-HARD"
- "small-range-SOFT"
- chain:
name: "large-range"
checks:
- "large-range-HARD"
- "large-range-SOFT"
Calibration Definition Properties
Calibration functions are used to adjust Parameter values that fall outwith a check range.
In the following example:
-
The type of calibration (linear, range, text, time, chain, or polynomial) is specified
-
The
namefield assigns an identifier to the calibration -
The
mandcfields represent the coefficients in the equationresult = mx + c -
The
precisionfield represents the number of decimal places the result value should be truncated to -
The
rangesfield is used to specify multiple triple ranges -
The
from,to, andevalueTorepresent the range checks. For example, if the value falls within the range, theevaluateTovalue is returned. -
The
mapsfield is used to specify numeric to string maps -
The
offsetfield contains the offset to add to the input numeric value to adjust it to the January 1st 1970 GMT epoch -
The
scalefield denotes whether the numeric value is in seconds or otherwise assumed to be milliseconds. It is assumed that the numeric value is offset from January 1st 1970 GMT -
The
calibrationsfield specifies multiple calibration identifiers (thenamefield) -
The
degreesfield maps values to polynomial terms. In the following example, the values are mapped to the polynomial equation: :\(y = -1.67x^3 + 0.23x^2 + 245x - 32\).
Show example calibration definition file
- linear:
name: linear-calibration-example
m: 0.25
c: 0.001
precision: 2
- range:
name: range-calibration-example
ranges:
-
from: 0
to: 10
evaluateTo: 10
-
from: 11
to: 100
evaluateTo: 11
- text:
name: text-calibration-example
maps:
10: "ten"
11: "eleven"
- time:
name: time-calibration-example
offset: 0
scale: seconds
- chain:
name: chain-calibration-example
calibrations:
- "range-calibration-example"
- "text-calibration-example"
- polynomial:
name: polynomial-calibration-example
degrees:
0: -32
1: 245
2: 0.23
3: -1.67
precision: 2
Parameter Association Properties
The Parameter associations file assigns calibration and checks to Parameters.
In the following example:
-
The
namefield represents the full name of the Parameter instance in the SCDB -
The
calibrationIdfield represents the calibration name defined in the calibration definition file -
The
rawCheckIdandcalibratedCheckIdfields represent the check names defined in the check definition file
Show example parameter associations file
- existing:
name: "Target1:platform.DummySubsys1.dummyParam8"
calibrationId: text-calibration-example
rawCheckId: large-range
calibratedCheckId: small-range
- existing:
name: "Target1:platform.DummySubsys1.dummyParam16"
calibrationId: linear-calibration-example
rawCheckId: large-range
calibratedCheckId: small-range-HARD
- existing:
name: "Target1:cdh.DataPool.platform.DummySubsys1.dummyParam32"
calibrationId: chain-calibration-example
rawCheckId:
calibratedCheckId: large-range
Security Association Properties
When using CCSDS Space Link security, a YAML file is used to configure the security associations. An example YAML configuration is provided in the configs folder.
The following table details the security association properties:
Property |
Field type |
Description |
|
Integer |
The SDLS security parameter index. |
|
Integer |
The virtual channel to match on |
|
Boolean |
Should be |
|
Boolean |
Should be |
|
Boolean |
Should be true if authentication is used, otherwise |
|
String |
The authentication string in Hex. |
|
String |
The encryption key string in Hex. |
|
Integer |
Provided as input to some cryptographic algorithms before processing user data. This serves to preload the cryptographic process and enhance its security by adding variability. |
MCS Server Configuration Properties
Configuration id |
Field type |
Default value |
Description |
|
Integer |
|
The delay in milliseconds between the persistence of activities to disk |
|
String |
|
Path to the directory activities are stored. |
|
String |
|
Path to the file containing cached or imported Ground parameter values. |
|
Directory |
|
Default directory to look for ground schedules |
|
Integer |
|
The maximum number of records permitted inside the log archive CSV file. Exceeding this value will result in the current log being rotated to a separate file and further logs appended to a new file. |
|
String |
|
Directory in which the MCS stores data about the current mission, such as assets and targets. |
|
Integer |
|
The TCP port to which MCS Display clients can connect. |
|
String |
|
Timezone for displayed date/time values. Format should be accepted by |
Configuration id |
Field type |
Default value |
Description |
|
Directory |
|
Directory to store partial downlinks |
|
Directory |
|
Directory in which CFDP downlink data, of completed transfers, is stored. |
|
Directory |
|
Directory where in-progress CFDP transfers are stored. |
Configuration id |
Field type |
Default value |
Description |
|
File |
|
The path to the archive |
|
String |
|
Which archive to use for retrievals, this value can be either |
|
String |
|
An optional field which, if populated, will prune all archived activity data with a timestamp before the date specified in this field. For example, setting |
|
Field type |
Default value |
Description |
|
Boolean |
|
Whether to enable storage using the V1 implementation of the Influx database |
|
String |
The URL for the Influx database |
|
|
String |
|
The name of the Influx database |
|
String |
Username to use to connect to the Influx database |
|
|
String |
Password to use to connect to the Influx database |
|
|
Boolean |
|
Store parameters in the archive as |
|
Boolean |
|
Whether to enable storage using the V2 implementation of the Influx database |
|
String |
The URL for the Influx database |
|
|
String |
The organisation ID to use to connect to the Influx database |
|
|
String |
The authentication token to use to connect to the Influx database |
|
|
Boolean |
|
Store parameters in the archive as |
Configuration id |
Field type |
Default value |
Description |
|
Directory |
Directory in which scripts are placed to run via MCS's |
|
|
Integer |
|
Time in seconds to poll the watched ground schedule directory. 0 indicates it should never poll and effectively switches this functionality off. |
|
String |
|
The directory to watch for new ground schedules or entries, relative to the MCS installation directory. |
The MCS Licencing File
The licence.properties file should be located in the MCS_Server/licence directory.
All configurable options detailed in the following table are optional unless otherwise specified.
| Property | Description |
|---|---|
|
The MCS licence code (required) |
|
Can be configured to submit system information to the licence manager for diagnostic purposes. Set to |
|
The IP address of an HTTP proxy |
|
The IP port of an HTTP proxy |
|
The username to use for an HTTP proxy |
|
The password to use for an HTTP proxy |
|
The IP address of the Nalpeiron licence daemon when running in an air-gapped Deployment |
|
The IP port of the Nalpeiron licence daemon when running in an air-gapped Deployment |
|
The username to use for the Nalpeiron licence daemon when running in an air-gapped Deployment |
|
The password to use for the Nalpeiron licence daemon when running in an air-gapped Deployment |
MCS Client
The MCS client can be configured using the display.properties file located in the MCS_Display/configs directory.
|
MCS maintains numerous properties in this file which should not be modified. Don’t modify properties unless they’re present in the following table. |
Property |
Field type |
Default value |
Description |
|
Boolean |
|
Allows Deployment checking to be disabled, meaning the flight-side will not reject commands if the Deployment id on the flight and ground do not match. |
|
String |
List of ground stations to display on the map. Formatted as a triple of name of the station followed by the latitude and longitude in degrees. To specify multiple stations, simply list multiple triples separated by a colon. For example: |
|
|
String |
Parameter representing spacecraft latitude. For example, |
|
|
String |
Parameter representing spacecraft longitude. For example, |
|
|
Integer |
|
Parameter used to offset the map timestamp. Measured in milliseconds. |
|
Integer |
|
Maximum number of lat-long points in the trail of a spacecraft trail displayed on the map. |
|
Directory |
|
Default directory to look for script files. |