mirror of
https://github.com/nasa/fpp.git
synced 2026-04-12 14:13:33 -05:00
86 lines
2.7 KiB
Plaintext
86 lines
2.7 KiB
Plaintext
=== Telemetry Packet Specifiers
|
|
|
|
A *telemetry packet specifier* specifies the format of a data
|
|
packet containing telemetry points.
|
|
A telemetry packet specifier is part of a
|
|
<<Specifiers_Telemetry-Packet-Set-Specifiers,telemetry packet set
|
|
specifier>>, which is in turn part of a
|
|
<<Definitions_Topology-Definitions,topology definition>>.
|
|
|
|
==== Syntax
|
|
|
|
`packet`
|
|
<<Lexical-Elements_Identifiers,_identifier_>>
|
|
_[_
|
|
`id` <<Expressions,_expression_>>
|
|
_]_
|
|
`group` <<Expressions,_expression_>>
|
|
`{` _telemetry-packet-member-sequence_ `}`
|
|
|
|
_telemetry-packet-member-sequence_ is an
|
|
<<Element-Sequences,element sequence>> in
|
|
which each element is a *telemetry packet member*,
|
|
and the terminating punctuation is a comma.
|
|
A telemetry packet member is one of the following:
|
|
|
|
* _non-annotatable-include-specifier_.
|
|
|
|
* _<<Instance-Member-Identifiers_Telemetry-Channel-Identifiers,
|
|
telemetry-channel-identifier>>_.
|
|
|
|
A _non-annotatable-include-specifier_ is identical to an
|
|
<<Specifiers_Include-Specifiers,include specifier>>,
|
|
but it is not an
|
|
<<Comments-and-Annotations_Annotations_Where-Annotations-Can-Occur,annotatable element>>.
|
|
|
|
==== Semantics
|
|
|
|
. The optional expression _e_ following `id` specifies the numeric
|
|
identifier for the packet.
|
|
If _e_ is present, then the type of _e_ must be
|
|
<<Type-Checking_Type-Conversion,convertible to>>
|
|
<<Types_Internal-Types_Integer,_Integer_>>, and _e_ must evaluate
|
|
to a nonnegative integer.
|
|
If _e_ is not present, then the default identifier is either zero (for the
|
|
first
|
|
packet appearing in a packet group) or the previous packet identifier plus one.
|
|
|
|
. The expression _e_ following `group` specifies the
|
|
*group* of the packet.
|
|
The group is a number that governs the sending of the packet.
|
|
In the F Prime flight software, sending of packets can be filtered
|
|
by group, so that only packets in certain groups are sent.
|
|
The type of _e_ must be
|
|
<<Type-Checking_Type-Conversion,convertible to>>
|
|
<<Types_Internal-Types_Integer,_Integer_>>, and _e_ must evaluate
|
|
to a nonnegative integer.
|
|
|
|
. FPP recursively resolves any include specifiers in
|
|
_telemetry-packet-member-sequence_.
|
|
This action converts _telemetry-packet-member-sequence_ to a list _L_ of
|
|
telemetry channel identifiers.
|
|
For each telemetry channel identifier _I_ in _L_,
|
|
the component instance referred to in _I_ must be
|
|
available in the enclosing topology, after resolving
|
|
to a <<Definitions_Topology-Definitions_Semantics,partially numbered
|
|
topology>>.
|
|
|
|
==== Examples
|
|
|
|
[source,fpp]
|
|
----
|
|
@ CDH packet has id 0 and group 0
|
|
packet CDH id 0 group 0 {
|
|
commandDispatcher.commandsDispatched
|
|
rateGroup1Hz.rgMaxTime
|
|
include "DownlinkTelemetryChannels.fppi"
|
|
include "UplinkTelemetryChannels.fppi"
|
|
}
|
|
|
|
@ Implicit id of ADCS packet is 1. Its group is 2.
|
|
packet ADCS group 2 {
|
|
adcs.mode
|
|
adcs.attitude
|
|
}
|
|
----
|