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 |