Define a new spacecraft - ac2cz/FoxTelem GitHub Wiki

Procedure to define a new Spacecraft for FoxTelem

Create a file that ends with .MASTER e.g. FOX1A_fm.MASTER is the spacecraft file for the AO-85 flight model. In future don't put a paramater in the filename that will change over time. e.g. it is hard to change from em for Engineering Model to fm for Flight Model when a new release of the software is distributed.

The data is saved as a Java Properties File. In that format each line has a key and a value. The values are Strings, Integers, Floats or Booleans.

The file must contain the following keys:

Key Value
foxId Integer 1-256
name String
displayName String
description String
EXP1 Integer
EXP2 Integer
EXP3 Integer
EXP4 Integer
IHU_SN Integer
catalogNumber Integer
maxFreqBoundkHz Integer
measurementsFileName String
minFreqBoundkHz Integer
model Integer
passMeasurementsFileName String
telemetryDownlinkFreqkHz Integer
track Boolean
useIHUVBatt Boolean
user_format Integer

The file contains several lists of values. These are all defined in the same way. A mandatory value must be present which defines how many items there are in the list. Then one or more rows must be present for each item in the list. The following lists must be defined:

Key Value
numberOfLayouts Integer
numberOfLookupTables Integer
numberOfSources Integer

Each list then needs to define all the values.

For (payload) layouts the following rows are required for each item in the list, where N is the number of the row starting from 0:

Key Value
layoutN.filename String
layoutN.name String

For lookup tables the following rows are required for each item in the list:

Key Value
lookupTableN.filename String
lookupTableN String

For sources the following rows are required for each item in the list:

Key Value
sourceN.name String
sourceN.formatName String

The file can also contain the following optional properties:

Key Value
hasCanBus Boolean
hasImprovedCommandReceiver Boolean
hasImprovedCommandReceiverII Boolean
hasModeInHeader Boolean
useConversionCoeffs Boolean
conversionCurvesFileName String
localServer String
localServerPort Integer
mpptResistanceError Float
mpptSensorOffThreshold Integer
memsRestValueX Integer
memsRestValueY Integer
memsRestValueZ Integer
hasFixedReset Boolean

The file also contains the following optional lists of values.

Key Value
numberOfFrameLayouts Integer

For Frame Layouts the following rows are required for each item in the list, where N is the row number starting from 0:

Key Value
frameLayoutN.filename String
frameLayoutN.name String