![]() |
F´ Flight Software - C/C++ Documentation
devel
A framework for building embedded system applications to NASA flight quality standards.
|
This document describes the format of FPP JSON dictionaries.
Field | Description | Options | Required |
---|---|---|---|
name | String representing the FPP type name | U8, U16, U32, U64, I8, I16, I32, I64 | true |
kind | String representing the kind of type | integer | true |
size | Number of bits supported by the data type | 8, 16, 32, 64 | true |
signed | Boolean indicating whether the integer is signed or unsigned | Boolean | true |
Example JSON of U8
Example JSON of U64
Example JSON of I8
Example JSON of I64
Field | Description | Options | Required |
---|---|---|---|
name | String representing the FPP type name | F32, F64 | true |
kind | String representing the kind of type | float | true |
size | Number of bits supported by the data type | 32, 64 | true |
Example JSON of F32
Example JSON of F64
Field | Description | Options | Required |
---|---|---|---|
name | String representing the FPP type name | bool | true |
kind | String representing the kind of type | bool | true |
Example JSON of bool
Field | Description | Options | Required |
---|---|---|---|
name | String representing the FPP type name | string | true |
kind | String representing the kind of type | string | true |
size | Number of bytes supported by the data type | Number in the range [0, 231) | true |
Any sequence of characters
Example JSON of string
Field | Description | Options | Required |
---|---|---|---|
name | String representing the FPP type name | Period separated String | true |
kind | String representing the kind of type | qualifiedIdentifier | true |
Example JSON of qualified name
Field | Description | Options | Required |
---|---|---|---|
kind | String representing the kind of type | array | true |
qualifiedName | String representing unique qualified name of element in FPP model | Period separated String | true |
size | Max Number of elements that can be in the data structure | Number | true |
elementType | A JSON dictionary representing the type of array | JSON Dictionary | true |
default | Default array value | Value of type specified in elementType | false |
Example FPP model with JSON representation:
Field | Description | Options | Required |
---|---|---|---|
kind | String representing the kind of type | enum | true |
qualifiedName | String representing unique qualified name of element in FPP model | Period separated String | true |
representationType | The Type Name of values in the enumeration | Type Name | true |
identifiers | Dictionary of identifiers (keys) and numeric values (values) | JSON Dictionary | true |
default | String qualified name of the enumeration value | String qualified name | false |
Example FPP model with JSON representation:
Field | Description | Options | Required |
---|---|---|---|
type | Type Name of member | Type Name | true |
index | Number index of the struct member | Number | true |
size | Number representing the size of the struct member | Number | false |
formatSpecifier | String format specifier | String | false |
Field | Description | Options | Required |
---|---|---|---|
kind | String representing the kind of type | struct | true |
qualifiedName | String representing unique qualified name of element in FPP model | Period separated String | true |
members | JSON dictionary consisting of String identifier (key) and Struct Member (value) | JSON dictionary | true |
default | JSON dictionary consisting of String identifier (key) and default value (value) | JSON dictionary | false |
Example FPP model with JSON representation:
Number representing integer value
Example JSON of type U8 with a value of 2:
Example JSON of type I8 with a value of -2:
Number representing float value
Example JSON of type F32 with a value of 10.0
Boolean value
Example JSON of type bool with a value of true
String containing sequence of characters
Example JSON of type string with a value of "Hello World!"
Array with elements
Example JSON of an array of type U32 consisting of 10 elements
String qualified identifier name of enumeration value
Example JSON of an enum
JSON Dictionary consisting of String qualified identifier names (keys) and values (values)
Example JSON of a struct:
Field | Description | Options | Required |
---|---|---|---|
name | String indicating that the value is null | null | true |
kind | String indicating that the kind of value is invalid | invalid | true |
Field | Description | Options | Required |
---|---|---|---|
name | String indicating that the value is infinity | infinity | true |
kind | String indicating that the kind of value is invalid | invalid | true |
Field | Description | Options | Required |
---|---|---|---|
name | String indicating that the value is negative infinity | negativeInfinity | true |
kind | String indicating that the kind of value is invalid | invalid | true |
Field | Description | Options | Required |
---|---|---|---|
identifier | String identifier | String | true |
description | String annotation of parameter | String | true |
type | Type Name of parameter | Type Name | true |
ref | Boolean indicating whether the formal parameter is to be passed by referenced when it is used in a synchronous port invocation | Boolean | false |
Field | Description | Options | Required |
---|---|---|---|
identifier | String qualified name of the parameter | Period separated String | true |
description | String annotation of parameter | String | true |
type | Type Name of the parameter | Type Name | true |
default | Default value (of type specified in type ) of the parameter | Value of type specified in type | false |
numericIdentifier | Number representing the numeric identifier of the parameter | Number | false |
setOpcode | Number representing the opcode of the command for setting the parameter | Number | false |
saveOpcode | Number representing the opcode of the command for saving the parameter | Number | false |
Example FPP model with JSON representation:
Field | Description | Options | Required |
---|---|---|---|
identifier | String qualified name of the command | Period separated String | true |
commandKind | String representing the kind of command | async, guarded, sync | true |
opcode | Number command opcode | Number | true |
description | String annotation of command | string | true |
formalParams | Array of Formal Parameters | Array of Formal Parameters | true |
priority | Number representing the priority for the command on the input queue | Number | false |
queueFullBehavior | String representing the behavior of the command when the input full is queue | assert, block, drop | false |
Example FPP model with JSON representation:
Field | Description | Options | Required |
---|---|---|---|
identifier | String qualified name of the telemetry channel | Period separated String | true |
description | String annotation of channel | String | true |
type | Type Name the telemetry channel | Type Name | true |
numericIdentifier | Number representing numeric identifier | Number | true |
telemetryUpdate | String representing when the telemetry channel can update | always, on change | false |
formatString | String format with a single argument (the telemetry channel) | String | false |
limit | JSON dictionary consisting of low and high limits | JSON dictionary | false |
Example FPP model with JSON representation:
Field | Description | Options | Required |
---|---|---|---|
identifier | String qualified name of the event | Period separated String | true |
description | String annotation of event | String | true |
severity | String representing severity of the event | activity high, activity low, command, diagnostic, fatal, warning high, warning low | true |
formalParams | Array of Formal Parameters | Array Formal Parameters | true |
numericIdentifier | Number representing the numeric identifier of the event | Number | true |
formatString | String format with event parameters as arguments | String | false |
throttle | Number representing the maximum number of times to emit the event before throttling it | Number | false |
Example FPP model with JSON representation:
Example FPP model with JSON representation:
Field | Description | Options | Required |
---|---|---|---|
identifier | String qualified name of the record | Period separated String | true |
description | String annotation of record | String | true |
type | Type Name the record | Type Name | true |
array | Boolean specifying whether the record stores a variable number of elements | Boolean | false |
numericIdentifier | Number representing the numeric identifier of the record | Number | true |
Example FPP model with JSON representation:
Field | Description | Options | Required |
---|---|---|---|
identifier | String qualified name of the container | Period separated String | true |
description | String annotation of container | String | true |
numericIdentifier | Number representing the numeric identifier of the record | Number | true |
defaultPriority | Number representing the downlink priority for the container | Number | false |
Example FPP model with JSON representation:
Field | Description | Options | Required |
---|---|---|---|
deploymentName | String representing the deployment name | String | true |
frameworkVersion | String representing the F´ framework version (semantic versioning) | String | true |
projectVersion | String representing the project version (semantic versioning) | String | true |
libraryVersions | Array of Strings corresponding to the version (semantic versioning) of libraries used by the F´ project | Array of Strings | true |
Field | Description | Options | Required |
---|---|---|---|
metadata | Dictionary Metadata | Dictionary Metadata | true |
arrays | Array of Arrays | Array of Arrays | true |
enums | Array of Enums | Array of Enums | true |
structs | Array of Structs | Array of Structs | true |
commands | Array of Commands | Array of Commands | true |
events | Array of Events | Array of Events | true |
telemetryChannels | Array of Telemetry Channels | Array of Telemetry Channels | true |
parameters | Array of Parameters | Array of Parameters | true |