Internet-Draft eXtensible Flight System Protocol July 2023
Spencer & Guy Expires 11 January 2024 [Page]
Workgroup:
Internet Engineering Task Force
Internet-Draft:
draft-guy-xfsp-00
Published:
Intended Status:
Informational
Expires:
Authors:
M. Spencer
Avilution
E.T. Guy, Ed.
EMC Software

eXtensible Flight System Protocol

Abstract

Ths document presents a binary IP-based protocol to facilitate interoperable communications between avionics equipment. The protocol is UDP-based, stateless, and broadcast. Messages consist of a common header followed by a series of parameters and related attributes. The parameters may be informational, e.g., indicating airspeed is 150 kts, or commands, such as an instruction that deploys the landing gear.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 11 January 2024.

Table of Contents

1. Introduction

Historically, avionics equipment used private protocols for device interconnection but the trend is towards open communication leveraging standard hardware. There have been various stages in the evolution of device interconnection from point-to-point analog communication to digital serial serial protocols, to bus-based solutions and currently IP-based over ethernet.

One of the concerns with all of these protocols in this industry is that extensive testing is required, so developing a common protocol and library with its extensive test cases will improve time to market, product quality, and hence lower cost and improved safety.

The eXtensible Flight System Protocol, XFS, is such an IP-based protocol which provides a common means that facilitates communications between airborne equipment. It is an open protocol which operates using binary-encoded UDP packets sent on a broadcast address. This approach allows the avionics system to function as a collection of safety-critical microservices with XFS at the hub of the entire avionics system. XFS can flexibly drive multiple displays and unify all the aircraft's subsystems all at the control of the system integrator.

In addition to the wire protocol described below, an xml schema is defined that allows additional message types and interactions. This format will be presented after the wire protocol is defined.

1.1. Basic Properties

XFSp is a simple and compact protocol which uses a fast marshaling approach. Parameters may be coalesced, size and time permitting, into a single message to make transport more efficient. The message layout considers quad word alignment issues which can affect performance, especially on ARM-based architectures and pads to maintain efficiency. All messages are broadcast to all receivers so that the protocol is stateless and only the recipient controls whether a parameter will be processed.

1.2. Drawbacks

XFSp is a UDP-based protocol so packet delivery is not guaranteed. Application-level behavior is needed to ensure critical requests are executed. Since the protocol is stateless, it relies on the requestor to monitor status to ensure an action was taken. For example, if a request to put the landing gear down is made, the requesting application must watch reports of the landing gear position and alert if the request is not satisfied in a timely manner.

1.3. Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

Message:
is the basic unit of communication in XFSp.
Node:
is a device or process that implements XFSp.
Parameter:
is the task specific payload contained in a message.
Attribute Format:
are the simple and structured datatypes associated with a parameter attribute.
Attributes:
are the values associated with a parameter.
Dictionary:
is a set of allowed values associated with an attribute, parameter, or message field.
Source ID:
refers to the unit number, a locally configured value identifying an instance of equipment, e.g., radio #1 or engine #3.

2. Overview of XFS Protocol

The eXtensible Flight System Protocol is designed to operate on an airborne platform network. This network is intended to be isolated from the general Internet and comprises instruments, displays, sensors, and actuators performing various functions. XFSp messages are broadcast to every node on the network. XFSp message occur in three classes: Maintenance, Operational and Raw.

Maintenance and Operational messages consist of a header followed by a series of parameters. Parameters represent commands or information. XFSp is stateless. There is no required protocol level response to any command, however, informational responses may be made. For instance, a command to change the radio frequency of a certain radio may generate a application-level response indicating the new radio frequency. All XFSp messages go to all nodes and they simply discard things they don't care about.

Raw XFSp messages consist of a message header which specifies the length of the raw data, followed by that raw data. Raw data is classified as MIL-STD-1553, CANbus, digital samples, or serial data.

Each node in XFSp is assigned a source ID. These Source IDs MUST be unique within the XFSp network. The Source ID and the message number uniquely identify the message and are contained in the message header. Message IDs created by a node MUST be monotonically increasing. A receiving node MUST ignore all duplicate messages. The Source ID and a message number are used to ensure messages are processed in order and only once. Messages MUST be processed in order skipping any missing messages and MUST only be processed once. Senders and Receivers must account for integer overflow in message numbers. There is no retry mechanism at the protocol level; Missing and out-of-order messages SHALL be considered lost and if received out of order, a message MUST be ignored.

In addition to the Source ID and Message Number, The XFSp message header also contains the message class, the Message Operation ID, DO-178 certification level, [DO-178C] the confidence level and the payload length.

For best performance, an XFSp goal is to not send IP datagrams that have to be fragmented. Packets which exceed the MSS size will be fragmented. To achieve this goal XFSp messages SHOULD be less than the network Maximum Segment Size (MSS) size in length. On a modern Ethernet network, IEEE 802.3 [IEEE8023] specifies a maximum payload size of 1500 bytes. The size of the fixed IPv4 header is 20 bytes [RFC0791] or in IPv6 the fixed header is 40 bytes [RFC2640] UDP headers consume 8 bytes, [RFC0768] the XFSp header Section 3.1 uses 12 bytes leaving 1460 bytes for parameters or 1440 bytes on an IPv6 network.

3. Message Format

3.1. Message Header



                        1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    src id                     |    message number             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   msg class   | message ID    |       flags                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              tcid             |          len                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
      ...
   :                             Data                              :
      ...
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



Figure 1: Message Header Format

XFSp messages are formatted as shown in the above diagram and consist of the following fields:

src id:
UINT16; locally configured source ID. Must be unique on network.
message number:
UINT16; monotonically increasing message number.
msg class:
UINT8; The message class. See Table 1
message ID:
UINT8; msg-op; See Table 2.
flags:
UINT16; See Table 3.
tcid:
t-NONE; See Table 4.
len:
UINT16 ; length of all parameters or raw data in bytes. Note: Operational and Maintenance class messages shall always have a length that is a factor or 4.
data:
1*(parameter) / *(OCTET) ; raw data may be arbitrary length sequence of octets.

3.1.1. Message Header Dictionaries

This section defines the dictionaries used in the message header. See Section 3.1.

Table 1, below, shows the values defined in the msg-class Dictionary. These values identify the message class: raw, maintenance or operational.

Table 1: msg-class Dictionary
Name Value Definition
MAINT %d2 Maintenance Message
OP %d3 Operational Message
RAW %d4 Access to raw data stream (e.g., RS-232, RS-485, ARINC-429, etc)

Table 2, below, shows the values defined in the msg-op Dictionary. These options further refine the operational message class.

Table 2: msg-op Dictionary
Name Value Definition
FLIGHTDATA %d2 Flight Data Info
DEVSTATUS %d3 Device Status
GDL90 %d4 GDL-90 Format Messages without framing, FCS or escape characters. [GLD90]

Table 3, below, shows the values defined in the msg-flag-cert Dictionary. These choices represent the message and parameter certification level tracking with respect to the [DO-178C] specification. The chosen value applies to all parameters in the message.

Table 3: msg-flag-cert Dictionary
Name Value Definition
EXPERIMENTAL %d0 Experimental
LEVEL-E %d1 DO-178 Level E
LEVEL-D %d2 DO-178 Level D
LEVEL-C %d3 DO-178 Level C
LEVEL-B %d4 DO-178 Level B
LEVEL-A %d5 DO-178 Level A

Table 4, below, shows the values defined in the tcid Dictionary. XFS transcoder ID values for future use.

Table 4: tcid Dictionary
Name Value Definition
NONE %d0 No transcoder ID is required or asserted

3.2. Message Parameter Format

The section defines the elements common to all XFS parameters.



                        1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Unit              |           SubUnit             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Parameter Data Len   |              Ident                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Format    |  Confidence   |   Expire   |      Pflags      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
      ...
   :                  Parameter   Data                             :
      ...
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Figure 2: Message Parameter Format
Unit:
UINT16 If appropriate, which unit this parameter applies (e.g., Engine #1).
SubUnit:
UINT16; If appropriate, which subunit this parameter applies (e.g., Engine #2, Cylinder #3).
Parameter Data Len:
12 bits; Parameter Data Length in octets. This value MUST reflect the usable length of the parameter data, however, the parameter MUST be padded to a length that is a multiple of four bytes to maintain proper word alignment.
Ident:
20 bits; XFS Parameter Identifier See section Section 3.4.
Format:
param_format (OCTET): Format of Parameter Data. See Section Section 3.3.
Confidence:
param_confidence (OCTET): Confidence of data element. See Table 5.
Expire:
OCTET; Time to live. %xFF to not expire. See Section 3.2.2 for encoding.
Pflags:
msg_flag_cert(OCTET) Reserved Flags, bottom 3 bits are certification level of data. See Table 3
Parameter Data:
*(OCTET) quadword padded payload.

3.2.1. Parameter Header Dictionaries

Table 5, below, shows the values defined in the param-confidence Dictionary. These options represent parameter format confidence levels.

Table 5: param-confidence Dictionary
Name Value Definition
USERSEL %d128 User selected value at runtime
HIGH %d100 Confirmed known value
SYSSEL %d80 System selected value at runtime
UNANIMOUS %d50 Redundant data available and is rationalized
RATIONAL %d40 Data being rationalized from other data sources with normal sources ignored
VOTED %d30 Data is redundantly verified from identical instruments
SMOOTHED %d20 Smoothed/filtered version of raw data
RAW %d10 Raw, unchecked data
ESTIMATE %d5 Rough estimation
USELESS %d0 Value is missing or expected invalid and supplied for debugging ONLY

The msg_flag_cert Dictionary is also used. See Table 3 for its definition.

3.2.2. Expire Encoding

Information and commands provided in messages have a limited usability lifetime or time-to-live. The Expire field is used to indicate how long the associated parameter is valid. It is an eight-bit field that is split into an exponent and mantissa to provide the maximum range and precision within this small space. The upper five bits represent the the mantissa and the lower three bit represent the exponent. If the value of the Expire field is %xFF, the value is interpreted to mean "the parameter does not expire," otherwise the expiry time value is determined by the following formula:

Expiration (milliseconds) = 3 * (M + 1) * 10^(E + 1).



    0
    0 1 2 3 4 5 6 7
   +-+-+-+-+-+-+-+-+
   |    M    |  E  |
   +-+-+-+-+-+-+-+-+


Figure 3: Message Parameter Format

For example, an expiry value of %x13 gives a mantissa of 00010 and an exponent of 011 yielding a value of (3 * 3) * 10^4 ms or 90 seconds.

Another example, %xF7 which gives a mantissa of 11110 and an exponent of 111 yielding a value of (3 * 31) * 10^(7+1) ms, 9.3 million seconds, or about 100 days.

A final example, %x00 which gives a mantissa of 00000 and an exponent of 000 yielding a value of (3 * 1) * 10^(0+1) ms, or 30 milliseconds.

3.3. Parameter Attribute Formats

The various attributes associated with parameters occur as both simple types, such as Integers and compound structures, such as Waypoints. This section defines the attribute formats that are used in XFSp.

3.3.1. BOOL Parameter Format

Boolean Format

Parameter Identifier: %d1

Length: 4

Structure:

Table 6: BOOL Parameter Format
Item Type Description
bool-value boolean Zero for false, 1 for true, all others undefined

Table 7, below, shows the values defined in the boolean Dictionary. These options represent nominal boolean values.

Table 7: boolean Dictionary
Name Value Definition
FALSE %d0 False
TRUE %d1 True

3.3.2. UINT Parameter Format

Unsigned 32-bit Integer Format

Parameter Identifier: %d2

Length: 4

Structure:

Table 8: UINT Parameter Format
Item Type Description
uint-value uint32 32-bit Unsigned Value

3.3.3. WAYPOINT Parameter Format

Waypoint on a Flight Plan

Parameter Identifier: %d3

Length: 80

Structure:

Table 9: WAYPOINT Parameter Format
Item Type Description
label 12*12(OCTET) Name of waypoint
lat int32 Latitude of waypoint * 10,000,000
lon int32 Longitude of waypoint * 10,000,000
lonlen int32 Length of degree of longitude for this latitude in meters
alt int32 Altitude associated with waypoint in 0.1ft
minalt int32 Logical Minimum for Fix Crossing in 0.1ft
maxalt int32 Logical Maximum Altitude for Fix Crossing in 0.1ft
speed int32 Target indicated airspeed
magadj uint32 Original (VOR) or Current (GPS) Magnetic Deviation in 0.01 degrees of NAVAID
inbound uint16 Inbound course in 0.01 degrees
outbound uint16 Outbound course in 0.01 degrees
freqkhz uint32 Frequency in khz if this is a NAV AID
wtype fms-waypoint Type of waypoint
ctype fms-container Type of container
flags fms-flag Flags for the waypoint / leg
cumete uint32 Cumulative ETE from active waypoint in 0.01 seconds
cumdis uint32 Cumulative distance from active waypoint in 0.001 nm
container 16*16(OCTET) What container is this waypoint a part of (e.g., V431, ILS-18L, etc)

Table 10, below, shows the values defined in the fms-waypoint Dictionary. These options represent flight management system waypoint types.

Table 10: fms-waypoint Dictionary
Name Value Definition
UNKNOWN %d0 Unknown or unspecified
GS %x80 Glideslope component
DME %x40 DME Component
TACAN %x20 TACAN Component
VOR %d1 VOR Component
LOC %d2 Localizer component
NDB %d3 NDB component
LDA %d4 LDA Component
SDF %d5 SDF Component
FIX %d6 Generic RNAV Fix
ILS %d7 Complete ILS system
AIRPORT %d8 An Airport
DIRECTFROM %d9 Starting point of a direct to
WEATHER %d10 Weather reporting station only

Table 11, below, shows the values defined in the fms-container Dictionary. These options represent flight management system container types.

Table 11: fms-container Dictionary
Name Value Definition
UNKNOWN %d0 Unspecified or unknown container
NONE %d1 No container
VICTOR %d2 VOR Airway
JET %d3 Jet Airway
AMBER %d4 Amber Airway
BLUE %d5 Blue Airway
GREEN %d6 Green Airway
RED %d7 Red Airway
Q %d8 RNAV Q Routes
T %d9 RNAV T Routes
STAR %d10 Standard Arrival Procedure
DP %d11 Standard Departure Procedure
APP %d12 Instrument Approach

Table 12, below, shows the values defined in the fms-flag Dictionary. These options represent flight management system waypoint and leg flags.

Table 12: fms-flag Dictionary
Name Value Definition
NONE %d0 No flags or leg type known
LEGTYPE-VA %d1 Heading to Altitude
LEGTYPE-VD %d2 Heading to DME Distance
LEGTYPE-VI %d3 Heading to Next Leg Intercept
LEGTYPE-VM %d4 Heading to Manual Termination
LEGTYPE-VR %d5 Heading to Radial Termination
LEGTYPE-CA %d6 Course to an Altitude
LEGTYPE-CD %d7 Course to a DME Distance
LEGTYPE-CI %d8 Course to Next Leg Intercept
LEGTYPE-CR %d9 Course to Radial Termination
LEGTYPE-CF %d10 Course to a Fix
LEGTYPE-TF %d11 Tracking Between Two Fixes
LEGTYPE-DF %d12 Direct to a Fix
LEGTYPE-FA %d13 Course from a Fix to an Altitude
LEGTYPE-FC %d14 Course from a Fix to an Along Track Distance
LEGTYPE-FD %d15 Course from a Fix to a DME Distance
LEGTYPE-FM %d16 Course from a Fix to a Manual Termination
LEGTYPE-AF %d17 Constant DMA Arc to a Fix
LEGTYPE-HF %d18 Hold to a Fix
LEGTYPE-HA %d19 Hold to an Altitude
LEGTYPE-HM %d20 Hold to a Manual Termination
LEGTYPE-IF %d21 Initial Fix
LEGTYPE-PI %d22 Procedure Turn to Intercept
LEGTYPE-RF %d23 Radius to a Fix
FLYOVER %x01.00 If not present, fly by
DISC %x02.00 If present, Discontinuity before current waypoint
ACTIVE %x04.00 If present, this is the active waypoint
OBS %x08.00 If present, waypoint allows OBS to be set
FAF %x10.00 If present, waypoint is final approach fix or after
SUSPEND %x20.00 FMS sequencing is suspended at this waypoint
LAST %x40.00 This waypoint is the last one in the flight plan

3.3.4. STRING Parameter Format

String of characters (may not have NULL termination)

Parameter Identifier: %d4

Length: length(data) + 0

Structure:

Table 13: STRING Parameter Format
Item Type Description
string-value *(OCTET) Optionally NUL terminated ISO-8559-1 String

3.3.5. CASMSG Parameter Format

CAS Message

Parameter Identifier: %d5

Length: length(data) + 4

Structure:

Table 14: CASMSG Parameter Format
Item Type Description
level cas-msglvl CAS level
rsvd uint8 Reserved, set to 0
flags cas-msgflag CAS related flags
label *(OCTET) Label for CAS Message

Table 15, below, shows the values defined in the cas-msglvl Dictionary. These options represent Message levels for CAS messages and checklist items.

Table 15: cas-msglvl Dictionary
Name Value Definition
CLEAR %d0 Clear a previously issued CAS message -- issue from system only
DEBUG %d1 In-system debugging output only
LOG %d2 Log to system log, but do not display
MAINT %d3 Display only for maintenance purposes
STATUS %d4 Aircraft system status only
ADVISORY %d5 Advisory, flight crew should be aware, may require later crew response
CAUTION %d6 Caution, requires immediate flight crew awareness and later response
WARNING %d7 Warning, requires immediate awareness and response.
COMMENT %d10 Checklist Comment Associated with Previous Item
UNCHKITEM %d11 Unchecked Checklist Item
CHKITEM %d12 Checked Checklist Item
CHKBRANCH %d13 Checklist Branch Choice

Table 16, below, shows the values defined in the cas-msgflag Dictionary. These options represent Additional flags associated with CAS messages.

Table 16: cas-msgflag Dictionary
Name Value Definition
AUTO %x01 Item is automatically checked/unchecked

3.3.6. SINT Parameter Format

Signed 32-bit Integer Format

Parameter Identifier: %d9

Length: 4

Structure:

Table 17: SINT Parameter Format
Item Type Description
sint-value int32 Signed 32-bit two's complement value

3.3.7. BUS Parameter Format

Bus and Electronic Circuit Breaker Format

Parameter Identifier: %d10

Length: length(data) + 24

Structure:

Table 18: BUS Parameter Format
Item Type Description
state ecb-state State of Bus (in terms of ECB)
ecbflags ecb-flag Flags regarding ECB state
involts int16 Input Volts on Bus
drawamps int16 Current draw on bus
maxamps int16 Max Amps on bus
champs int16 Caution high amps
clamps int16 Caution low amps
minamps int16 Minimum amps on bus (could be -)
outvolts int16 Output Volts on Bus
maxvolts int16 Max volts
chvolts int16 Caution high voltage
clvolts int16 Caution low voltage
minvolts int16 Minimum low voltage
label *(OCTET) Label for BUS Message (System/Item)

Table 19, below, shows the values defined in the ecb-state Dictionary. These options represent Electronic circuit breaker status.

Table 19: ecb-state Dictionary
Name Value Definition
UNKNOWN %d0 Circuit is in an unknown condition
OFF %d1 Circuit is turned off
ON %d2 Circuit is turned on
UNDERCUR %d3 Circuit is on, <100ma current drawn
RESET %d4 Request Reset
FORWARD %d5 ECB is active logical FWD direction
REVERSE %d6 ECB is active logical REV direction
TARGET %d7 ECB is set by target, not ON/OFF
BRAKELOW %d8 ECB is set by target, not ON/OFF
SHORTED %d128 Short Circuit
OVERCUR %d129 Overcurrent (but not short circuit)
OVERVOL %d130 Overvoltage situation
DISABLED %d131 Disabled by state-fault
RUNAWAY %d132 Disabled due to runaway (trim/flaps)
COLLARED %d133 Should not reset in flight
JAMMED %d134 Mechanical Jam detected
PULLED %d135 Pulled
BACKFLOW %d136 Disabled due to reverse current flow

Table 20, below, shows the values defined in the ecb-flag Dictionary. These options represent Electronic circuit breaker parameter flags.

Table 20: ecb-flag Dictionary
Name Value Definition
INPUTVOLTS %x01 Input Volts field is valid

3.3.8. RANGE Parameter Format

Range description format

Parameter Identifier: %d11

Length: 24

Structure:

Table 21: RANGE Parameter Format
Item Type Description
numticks uint16 How many valid ticks are in the parameter data
units param-units Specifier for units for display
divisor int32 For display purposes, what are logical divisions
minval int32 Minimum valid value
maxval int32 Maximum valid value
mindisp int32 Where display starts (values lower than this are clipped)
maxdisp int32 Where display stops (values higher tha this are clipped)
ticks starray Actual tick data

Table 22, below, shows the values defined in the param-units Dictionary. These options represent Units for the encoding and translation of XFS parameters.

Table 22: param-units Dictionary
Name Value Definition
UNSPEC %x00 Units not specified
INHG %x00.01 Use inches of Hg for BARO/MANPRES
FT %x00.02 Use feet for altitude
NM %x00.03 Use nautical miles for distance
C %x00.04 Use celcius for temperature
LBFT %x00.05 Use pound-feet for torque
S %x00.06 Use seconds for time
A %x00.07 Use amps for current
V %x00.08 Use volts for voltage
LB %x00.09 Use pounds for weight
IN %x00.0a Use inches for distance
FPM %x00.0b Use feet per minute for rate of climb/descent
LBPH %x00.0c Pounds per Hour for fuel flow
DEGPS %x00.0d Degrees per second for attitude change
DEG %x00.0e Degrees for attitude
G %x00.0f G force for load
RGBA %x00.10 8888 RGBA Value
KHZ %x00.11 Kilohertz for Frequency
PCENT %x00.12 Percent of Maximum
KT %x00.13 Knots for Speed
NMPLB %x00.14 Nautical Miles per Pound
KTPS %x00.15 Knots per second
MACH %x00.16 Speed of sound
CPM %x00.17 Count per minute
PPM %x00.18 Parts per million
LPM %x00.19 Liters Per Minute
KW %x00.1a Kilowatt
AH %x00.1b Amp Hour
HPA %x80.01 Use Hecto pascals for BARO
M %x80.02 Use meters for altitude
SM %x80.03 Use statute miles for distance
F %x80.04 Use fahrenheit for temperature
NWM %x80.05 Use Newton Meters for torque
PSI %x80.06 Use PSI for MANPRES
MPH %x80.07 Use miles per hour for speed
SMPLB %x80.08 Statues Miles per Pound
MIN %x80.09 Minutes
HR %x80.0a Hours
HP %x80.0b Use Horsepower for power
KG %x80.0c Use kilograms for weight
UL %xff.ff Unitless

3.3.9. GPIO Parameter Format

GPIO summary format

Parameter Identifier: %d12

Length: 12

Structure:

Table 23: GPIO Parameter Format
Item Type Description
features uint32 4-bit Feature (XFS_GPIO_FEATURE_*) x 8
outmodes uint32 4-bit Output modes (XFS_GPIO_OUTPUT_*) x 8
inmodes uint16 2-bit Input modes (XFS_GPIO_INPUT_*) x 8
flags uint16 Reserved for future use

3.3.10. APP Parameter Format

APP status format

Parameter Identifier: %d13

Length: length(data) + 56

Structure:

Table 24: APP Parameter Format
Item Type Description
state scb-state State of application*
rsvd uint8 Reserved bits
appflags uint16 Flags regarding app
period uint16 Baseline runtime period (XFS_SCHED_PERIOD_*)
avgcpu uint16 Average OS CPU time utilization in units per period over last second
hwcpu uint16 High water OS CPU time utilization in units per period
cpulim uint16 Limitation of OS CPU time utilization in units per period
runtime uint16 Max allocated runtime (per period)
deadline uint16 Deadline for completion (per period)
avgruntime uint16 Average runtime over last 1s
hwruntime uint16 High water runtime
ivcsw uint32 Involuntary context switches
aircraftid 16*16(OCTET) Aircraft Identifier
swrev 16*16(OCTET) Software Version Identifier
label *(OCTET) Name of APP

Table 25, below, shows the values defined in the scb-state Dictionary. These options represent Software circuit breaker states.

Table 25: scb-state Dictionary
Name Value Definition
UNKNOWN %d0 State of software is unknown
STARTING %d1 Application is in startup phase
RUNNING %d2 Application is running
STOPPING %d3 Stopping has been requested
RESTART %d4 Restart Application (PULL + RESET + START)
RESET %d5 Allow application to be started
HUNG %d6 Application is running but is no longer responsive
DEGRADED %d127 Application is running in a degraded mode
STOPPED %d128 Application is stopped
STARTFAIL %d129 Application failed startup
RUNAWAY %d130 Application has a runaway loop
OVERCPU %d131 Application is using excessive CPU while in RUNNING state
OVERMEM %d132 Application terminated due to memory overrun
EXCEPTION %d133 Application terminated due to runtime exception
ENDED %d134 Application ended without error or request
ENDERROR %d135 Application ended with error condition
PULLED %d136 Application should not be allowed to run until reset
COLLARED %d137 Should not reset in flight

3.3.11. WBRANGE Parameter Format

Weight and Balance Range

Parameter Identifier: %d14

Length: 16

Structure:

Table 26: WBRANGE Parameter Format
Item Type Description
flags uint16 Flags if any
numslices uint16 Number of slices specified
maxtakeoff uint32 Max takeoff weight
maxlanding uint32 Max landing weight
maxzerofuel uint32 Max zero fuel weight
slices starray Slices that form weight and balance envelope

3.3.12. UPDATE Parameter Format

Aircraft Update Progress

Parameter Identifier: %d15

Length: length(data) + 56

Structure:

Table 27: UPDATE Parameter Format
Item Type Description
aircraftid 16*16(OCTET) Aircraft Identifier
progress uint32 Progress
progflags msg-cmd-updstat-flag Progress Flags
activity 32*32(OCTET) Description of current activity
label *(OCTET) Name of CPU being updated

Table 28, below, shows the values defined in the msg-cmd-updstat-flag Dictionary. These options represent Maintenance mode status update flags.

Table 28: msg-cmd-updstat-flag Dictionary
Name Value Definition
SUCCESS %x01 Update is complete and successful
ERROR %x02 Error during update

3.3.13. SERVO Parameter Format

Position with flags to interpret whether servo should be engaged, disengaged or left alone and whether active

Parameter Identifier: %d16

Length: 8

Structure:

Table 29: SERVO Parameter Format
Item Type Description
servopos int32 undefined
servomode afcs-servo undefined

Table 30, below, shows the values defined in the afcs-servo Dictionary. These options represent Servo engagement flags.

Table 30: afcs-servo Dictionary
Name Value Definition
ENGAGE %x80.00.00.00 If present in engagement request, along with 'ENGAGED' value, set engagement status
ENGAGED %d1 For requests, retain current engagement state, for status, present if currently engaged
DISENGAGED %d0 If engaged, disengage and for status, currently disengaged

3.3.14. DBASE Parameter Format

Database Information

Parameter Identifier: %d17

Length: 92

Structure:

Table 31: DBASE Parameter Format
Item Type Description
crc uint32 undefined
name 16*16(OCTET) Name of database (e.g., com)
supplier 16*16(OCTET) Who supplied the database
region 16*16(OCTET) What region is the data valid
cycle 16*16(OCTET) What cycle
valid 12*12(OCTET) date at which validity begins YYYY-MM-DD string
expires 12*12(OCTET) date after which data has data YYYY-MM-DD string

3.4. Parameter Types

This section declares the initial set of XFSp parameters. Each parameter is defined by a name and a short description. This is followed by the numeric parameter ID. Next, the meanings of the unit and subunit fields are provided, if applicable. and finally the parameter data format and a reference to the appropriate table defining the parameter attribute type.

  • GOAROUND - Go around requested

    • Parameter ID: %x00.00.00
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: BOOL (See Table 6.)
  • P-ALT - Pressure Altitude

    • Parameter ID: %x00.00.01
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • T-ALT - True Altitude

    • Parameter ID: %x00.00.02
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • IAS - Indicated Airspeed

    • Parameter ID: %x00.00.03
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • CAS - Calibrated Airspeed

    • Parameter ID: %x00.00.04
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • CASMSG - Crew Alerting System Message

    • Parameter ID: %x00.00.05
    • Unit Usage: CAS System ID
    • SubUnit Usage: None
    • Format: CASMSG (See Table 14.)
  • THROTPOS - Throttle position

    • Parameter ID: %x00.00.06
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • INAIR - Are we in the air (vs. on the ground)

    • Parameter ID: %x00.00.07
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: BOOL (See Table 6.)
  • BARO - Current barometric setting

    • Parameter ID: %x00.00.08
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • CLTPOS - Collective Position

    • Parameter ID: %x00.00.09
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • CLTPOSREQ - A/P Requested Collective Position

    • Parameter ID: %x00.00.0a
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SERVO (See Table 29.)
  • MAGHDG - Magnetic Heading

    • Parameter ID: %x00.00.0b
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • MAGCRS - Magnetic Course (via RNAV)

    • Parameter ID: %x00.00.0c
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • TRUECRS - True Course (via RNAV)

    • Parameter ID: %x00.00.0d
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • MAGDTK - Desired Course (via RNAV)

    • Parameter ID: %x00.00.0e
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • TRUEDTK - Desired course (via RNAV)

    • Parameter ID: %x00.00.0f
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • LAT - Current position latitude

    • Parameter ID: %x00.00.10
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • LON - Current position longitude

    • Parameter ID: %x00.00.11
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • RNAVALT - Altitude measured by RNAV

    • Parameter ID: %x00.00.12
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • ROLL - Current degrees of roll, -18000 being being upside down towards left, 18000 being upside down to the right

    • Parameter ID: %x00.00.13
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • PITCH - Current degrees of pitch, 9000 being straight up, -9000 being straight down

    • Parameter ID: %x00.00.14
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • YAW - Yaw/Inclination as measured in G force

    • Parameter ID: %x00.00.15
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • FUELTOT - Computed remaining fuel (divisor may be overridden by fuel type in FUELLEVLR)

    • Parameter ID: %x00.00.16
    • Unit Usage: Fuel System ID/0=Sum of all
    • SubUnit Usage: 0 = current total, 1 = total at end of flight
    • Format: SINT (See Table 17.)
  • RNAVHFOM - Horizontal Figure of Merit

    • Parameter ID: %x00.00.17
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • RNAVVFOM - Vertical Figure of Merit

    • Parameter ID: %x00.00.18
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • RNAVHPL - Horizontal Protection Level

    • Parameter ID: %x00.00.19
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • RNAVVPL - Vertical Protection Level

    • Parameter ID: %x00.00.1a
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • IASRT - Indicated Airspeed Rate of Change

    • Parameter ID: %x00.00.1b
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • KBDSEL - Activate the named on-screen keyboard or none if empty

    • Parameter ID: %x00.00.1c
    • Unit Usage: Display
    • SubUnit Usage: None
    • Format: STRING (See Table 13.)
  • KEYPRESS - Send the FMS encoded key press to the given display

    • Parameter ID: %x00.00.1d
    • Unit Usage: Display
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • SURFPOS - Position of arbitrary control surface

    • Parameter ID: %x00.00.1e
    • Unit Usage: Surface Type
    • SubUnit Usage: Surface Type Subassembly
    • Format: SINT (See Table 17.)
  • SURFREQ - Requested control surface position

    • Parameter ID: %x00.00.1f
    • Unit Usage: Surface Type
    • SubUnit Usage: Surface Type Subassembly
    • Format: SINT (See Table 17.)
  • SURFTORQUE - Aerodynamic torque applied to a control surface relative to movement

    • Parameter ID: %x00.00.20
    • Unit Usage: Surface Type
    • SubUnit Usage: Surface Type Subassembly
    • Format: SINT (See Table 17.)
  • SURFFORCE - Aerodynamic force applied to a control surface relative to movement

    • Parameter ID: %x00.00.21
    • Unit Usage: Surface Type
    • SubUnit Usage: Surface Type Subassembly
    • Format: SINT (See Table 17.)
  • WINDSPD - Wind Speed

    • Parameter ID: %x00.00.22
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • WINDBRG - True Bearing from which wind blows

    • Parameter ID: %x00.00.23
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • COMFREQKHZ - Communication Frequency

    • Parameter ID: %x00.00.24
    • Unit Usage: Radio ID
    • SubUnit Usage: 0=Radio /1+=Presets
    • Format: UINT (See Table 8.)
  • NAVFREQKHZ - Navigation Frequency

    • Parameter ID: %x00.00.25
    • Unit Usage: Radio ID
    • SubUnit Usage: 0=Radio /1+=Presets
    • Format: UINT (See Table 8.)
  • COMVOL - Communication Volume (0-100)

    • Parameter ID: %x00.00.26
    • Unit Usage: Radio ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • NAVVOL - Communication Volume (0-100)

    • Parameter ID: %x00.00.27
    • Unit Usage: Radio ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • COMSQL - Communication Squelch (0-100)

    • Parameter ID: %x00.00.28
    • Unit Usage: Radio ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • MUX - Selected multiplexer input or output

    • Parameter ID: %x00.29
    • Unit Usage: MUX ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • ICSVOL - Intercom Volume (0-100)

    • Parameter ID: %x00.00.2a
    • Unit Usage: Audio Panel Unit
    • SubUnit Usage: 0=System, 1=Pilot, 2=Copilot, rest are pax
    • Format: UINT (See Table 8.)
  • COMSTATE - COM radio state

    • Parameter ID: %x00.00.2b
    • Unit Usage: Radio ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • ICSRXCOMS - Which COM Radios to Monitor (mask)

    • Parameter ID: %x00.00.2c
    • Unit Usage: Audio Panel Unit
    • SubUnit Usage: 0=System, 1=Pilot, 2=Copilot, rest are pax
    • Format: UINT (See Table 8.)
  • ICSRXNAVS - Which NAV Radios to Monitor (mask)

    • Parameter ID: %x00.00.2d
    • Unit Usage: Audio Panel Unit
    • SubUnit Usage: 0=System, 1=Pilot, 2=Copilot, rest are pax
    • Format: UINT (See Table 8.)
  • ICSMODE - Intercom Mode

    • Parameter ID: %x00.00.2e
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • ICSTXCOMS - Which COM Radios to Transmit (mask)

    • Parameter ID: %x00.00.2f
    • Unit Usage: Audio Panel Unit
    • SubUnit Usage: 0=System, 1=Pilot, 2=Copilot, rest are pax
    • Format: UINT (See Table 8.)
  • DATE - Date in YYYY-MM-DD format

    • Parameter ID: %x00.00.30
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: STRING (See Table 13.)
  • GLOAD - Current Normal to Aircraft Loading

    • Parameter ID: %x00.00.31
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • RATEOFTURN - Turn Coordinator Rate Per Second

    • Parameter ID: %x00.00.32
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • GROUNDSPEED - Groundspeed

    • Parameter ID: %x00.00.33
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • VSPEED - Vertical speed

    • Parameter ID: %x00.00.34
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • XPDRIDENT - XPDR Ident request (USERSELECT only). Non-standby transponders must IDENT regardless of UNIT. Used only to request IDENT, but IDENT state reported in XPDRMODE

    • Parameter ID: %x00.00.35
    • Unit Usage: Always zero
    • SubUnit Usage: None
    • Format: BOOL (See Table 6.)
  • XPDRRPS - XPDR Replies per second (normalized)

    • Parameter ID: %x00.00.36
    • Unit Usage: XPDR ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • XPDRSQUAWK - XPDR Squawk as decimal integer (e.g., 1200). All transponders must change SQUAWK regardless of UNIT

    • Parameter ID: %x00.00.37
    • Unit Usage: XPDR ID (Rx Only) Zero for USERSELECT
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • XPDRMODE - XPDR Mode. Note that IDENT flag is ignored in USERSELECT condition.

    • Parameter ID: %x00.00.38
    • Unit Usage: XPDR ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • NAVOBS - NAV OBS Value

    • Parameter ID: %x00.00.39
    • Unit Usage: Radio/FMS ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • NAVBRG - Bearing to nav aid

    • Parameter ID: %x00.00.3a
    • Unit Usage: Radio/FMS ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • NAVCDI - Course Deviation (-1000 to 1000)

    • Parameter ID: %x00.00.3b
    • Unit Usage: Radio/FMS ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • NAVGSI - Glide Slope (-1000 to 1000)

    • Parameter ID: %x00.00.3c
    • Unit Usage: Radio/FMS ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • NAVFLAGS - Navigation Flags (see XFS_NAV_FLAG_*

    • Parameter ID: %x00.00.3d
    • Unit Usage: Radio/FMS ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • FLAPREQ - Requested Flap Position 0 = up, 100000 = fully down, -100000 is fully negative

    • Parameter ID: %x00.00.3e
    • Unit Usage: Actuator/0=Aircraft
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • FLAPPOS - Flap actuator position, 0 = up, 100000 = fully down, -100000 is fully negative

    • Parameter ID: %x00.00.3f
    • Unit Usage: Actuator/0=Aircraft
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • ECBSTAT - ECB Status change or request, see xfs_ecb.h

    • Parameter ID: %x00.00.40
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: BUS (See Table 18.)
  • PTRIMREQ - Requested Pitch Trim Position (negative nose down, 0 neutral, positive nose up)

    • Parameter ID: %x00.00.41
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • PTRIMPOS - Pitch Trim Position (negative nose down, 0 neutral, positive nose up)

    • Parameter ID: %x00.00.42
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • RTRIMREQ - Requested Roll Trim Position (negative left bank, 0 neutral, positive right bank)

    • Parameter ID: %x00.00.43
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • RTRIMPOS - Roll Trim Position (negative left bank, 0 neutral, positive right bank)

    • Parameter ID: %x00.00.44
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • BUSSTAT - Status of Bus

    • Parameter ID: %x00.00.45
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: BUS (See Table 18.)
  • TEMP - Arbitrary Temperature in a location

    • Parameter ID: %x00.00.46
    • Unit Usage: Location
    • SubUnit Usage: Sensor Number/0=Average
    • Format: SINT (See Table 17.)
  • TAS - True Airspeed

    • Parameter ID: %x00.00.47
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • TAT - Total Air Temperature

    • Parameter ID: %x00.00.48
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • OAT - Outside Air Temperature accounting for compressibility

    • Parameter ID: %x00.00.49
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • D-ALT - Density Altitude

    • Parameter ID: %x00.00.4a
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • OILPRES - Oil Pressure

    • Parameter ID: %x00.00.4b
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • OILTEMP - Oil Temp

    • Parameter ID: %x00.00.4c
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • XFDFPS - XFD Display Frames Per Second (FPS)

    • Parameter ID: %x00.00.4d
    • Unit Usage: Display
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • TIREPRES - Tire Pressure

    • Parameter ID: %x00.00.4e
    • Unit Usage: Bogey
    • SubUnit Usage: Tire
    • Format: SINT (See Table 17.)
  • CHT - Cylinder Head Temperature

    • Parameter ID: %x00.00.4f
    • Unit Usage: Engine
    • SubUnit Usage: Cylinder/0=Max
    • Format: SINT (See Table 17.)
  • EGT - Exhaust Gas Temperature

    • Parameter ID: %x00.00.50
    • Unit Usage: Engine
    • SubUnit Usage: Cylinder/0=Max
    • Format: SINT (See Table 17.)
  • COOLTEMP - Coolant Temperature

    • Parameter ID: %x00.00.51
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • FUELFLOW - Fuel Flow

    • Parameter ID: %x00.00.52
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • FUELPRES - Fuel Pressure

    • Parameter ID: %x00.00.53
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • FUELLEVL - Fuel Level (divisor may be overridden by fuel type)

    • Parameter ID: %x00.00.54
    • Unit Usage: Fuel Tank ID/0=Sum of all
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • MANPRES - Manifold pressure

    • Parameter ID: %x00.00.55
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • ENGRPM - Engine RPM

    • Parameter ID: %x00.00.56
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • PROPRPM - Propeller RPM

    • Parameter ID: %x00.00.57
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • MACH - Mach

    • Parameter ID: %x00.00.58
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • IASBUG - Target indicated airspeed

    • Parameter ID: %x00.00.59
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • HDGBUG - Bugged Magnetic Heading

    • Parameter ID: %x00.00.5a
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • ALTBUG - Bugged Altitude

    • Parameter ID: %x00.00.5b
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • WAYPOINT - A way point in a flight plan, subunit is position in flightplan, beginning with 1 for first waypoint. Subunit 0 is only used to indicate an empty flight plan.

    • Parameter ID: %x00.00.5c
    • Unit Usage: FMS ID
    • SubUnit Usage: None
    • Format: WAYPOINT (See Table 9.)
  • INSERT - Insert A way point in a flight plan, subunit is position in flightplan which it should become (SYSSEL/USERSEL ONLY)

    • Parameter ID: %x00.00.5d
    • Unit Usage: FMS ID
    • SubUnit Usage: None
    • Format: WAYPOINT (See Table 9.)
  • DELETE - Delete A way point in a flight plan, subunit is position in flightplan starting at 1 (SYSSEL/USERSEL ONLY). Label must match

    • Parameter ID: %x00.00.5e
    • Unit Usage: FMS ID
    • SubUnit Usage: None
    • Format: WAYPOINT (See Table 9.)
  • NOTE - Notation of something important within the quick access log or bus

    • Parameter ID: %x00.00.5f
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: STRING (See Table 13.)
  • NAVGPS - GPS Mode

    • Parameter ID: %x00.00.60
    • Unit Usage: NAV radio unit or FMS Unit Number
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • NAVDIS - Distance to next or last waypoint or DME for VOR/ILS/etc

    • Parameter ID: %x00.00.61
    • Unit Usage: FMS Unit Number
    • SubUnit Usage: 0 = next waypoint, 1 = last waypoint
    • Format: UINT (See Table 8.)
  • NAVXTK - Cross track error (negative is left)

    • Parameter ID: %x00.00.62
    • Unit Usage: FMS Unit Number
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • NAVETE - Time to next or last waypoint

    • Parameter ID: %x00.00.63
    • Unit Usage: FMS Unit Number
    • SubUnit Usage: 0 = next waypoint, 1 = last waypoint
    • Format: UINT (See Table 8.)
  • BRIGHTNESS - Universal display brightness (0-1000 for night time mode, 1000-2000 for daytime modes

    • Parameter ID: %x00.00.64
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • MANTEMP - Manifold temperature

    • Parameter ID: %x00.00.65
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • DIRECT - Go direct to a way point in a flight plan, subunit is position in flightplan starting at 1 (SYSSEL/USERSEL ONLY). Label must match

    • Parameter ID: %x00.00.66
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: WAYPOINT (See Table 9.)
  • ACTIVATE - Activate leg terminating at way point in a flight plan, subunit is position in flightplan (SYSSEL/USERSEL ONLY). Label must match

    • Parameter ID: %x00.00.67
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: WAYPOINT (See Table 9.)
  • MMPARAM - Moving Map parameters. Subunit is one of XFS_MM_PARAM_*

    • Parameter ID: %x00.00.68
    • Unit Usage: MOVMAP ID
    • SubUnit Usage: XFS_MM_PARAM_*
    • Format: SINT (See Table 17.)
  • SERVOREQ - Requested servo position and state

    • Parameter ID: %x00.00.69
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SERVO (See Table 29.)
  • SERVOPOS - Current servo actuator position

    • Parameter ID: %x00.00.6a
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • SONICHAT - Ultrasonic rangefinder height above terrain

    • Parameter ID: %x00.00.6b
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • LIDARHAT - LIDAR rangefinder height above terrain

    • Parameter ID: %x00.00.6c
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • RADARHAT - Radar rangefinder height above terrain

    • Parameter ID: %x00.00.6d
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • HAT - Computed height above terrain

    • Parameter ID: %x00.00.6e
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • COMSTANDBY - Standby COM Frequency (same rules and range as COMFREQKHZ)

    • Parameter ID: %x00.00.6f
    • Unit Usage: Radio ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • NAVSTANDBY - Standby NAV Frequency (same rules and range as NAVFREQKHZ)

    • Parameter ID: %x00.00.70
    • Unit Usage: Radio ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • STALLSPEED - Estimated real-time Stall speed

    • Parameter ID: %x00.00.71
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • TIMEMS - Time in milliseconds from midnight zulu time

    • Parameter ID: %x00.00.72
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • YTRIMREQ - Requested Yaw Trim Position (negative left, 0 neutral, positive right)

    • Parameter ID: %x00.00.73
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • YTRIMPOS - Yaw Trim Position (negative left, 0 neutral, positive right)

    • Parameter ID: %x00.00.74
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • VSPEEDBUG - Vertical speed bug in fpm

    • Parameter ID: %x00.00.75
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • MUSICSRC - Music Source (0 = none)

    • Parameter ID: %x00.00.76
    • Unit Usage: Audio Panel Unit
    • SubUnit Usage: 0=System, 1=Pilot, 2=Copilot, rest are pax
    • Format: UINT (See Table 8.)
  • AOA - Angle of attack as an actual angle

    • Parameter ID: %x00.00.77
    • Unit Usage: Source
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • AOAR - Angle of attack range -- should contain green (beginning of approach range), white (reference angle), yellow (approaching stall) and a red (imminent stall)

    • Parameter ID: %x00.00.77
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: RANGE (See Table 21.)
  • GPIO - GPIO Input/Output

    • Parameter ID: %x00.00.78
    • Unit Usage: I/O Module
    • SubUnit Usage: Module Port (0 or 1-8)
    • Format: GPIO (See Table 23.)
  • ANALOG - Raw Analog value 0-4095

    • Parameter ID: %x00.00.79
    • Unit Usage: I/O Module
    • SubUnit Usage: Module Port (1-8)
    • Format: UINT (See Table 8.)
  • PWM - PWM value 0-4095 -- subunit is port number, 1-8

    • Parameter ID: %x00.00.7a
    • Unit Usage: I/O Module
    • SubUnit Usage: Module Port (1-8)
    • Format: UINT (See Table 8.)
  • XPDRACID - ICAO 24-bit Aircraft Identifier

    • Parameter ID: %x00.00.7b
    • Unit Usage: XPDR ID (Rx Only) Zero for USERSELECT
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • XPDRFLID - Up to 8-character, NULL terminated flight ID

    • Parameter ID: %x00.00.7c
    • Unit Usage: XPDR ID (Rx Only) Zero for USERSELECT
    • SubUnit Usage: None
    • Format: STRING (See Table 13.)
  • THROTREQ - Requested throttle position

    • Parameter ID: %x00.00.7d
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SERVO (See Table 29.)
  • RPMREQ - Prop governor requested RPM

    • Parameter ID: %x00.00.7e
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • TACHTIME - Tachometer time, unit is engine

    • Parameter ID: %x00.00.7f
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • TOTTIME - Total aircraft time

    • Parameter ID: %x00.00.80
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • APPSTAT - Application Status / Requests

    • Parameter ID: %x00.00.00.81
    • Unit Usage: CPU ID
    • SubUnit Usage: Process ID
    • Format: APP (See Table 24.)
  • CDINAVSRC - Select index (> 0) of CDI NAV Source or 0 for none

    • Parameter ID: %x00.00.82
    • Unit Usage: Display
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • BRGNAVSRC - Select index (> 0) CDI BRG Source or 0 for none

    • Parameter ID: %x00.00.83
    • Unit Usage: Display
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • COMSEL - Select COM Radio for Tuning

    • Parameter ID: %x00.00.84
    • Unit Usage: Display
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • NAVSEL - Select NAV Radio for Tuning

    • Parameter ID: %x00.00.85
    • Unit Usage: Display
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • MSTRCAUTN - Master Caution Active when true. Resets by SYSSEL/USERSEL with value of FALSE

    • Parameter ID: %x00.00.86
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: BOOL (See Table 6.)
  • MSTRWARN - Master Warning Active when true. Resets by SYSSEL/USERSEL with value of FALSE

    • Parameter ID: %x00.00.87
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: BOOL (See Table 6.)
  • ROLLRT - Rate of change of about A/C longitudinal axis (P)

    • Parameter ID: %x00.00.88
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • PITCHRT - Rate of change about A/C transverse axis (Q)

    • Parameter ID: %x00.00.89
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • YAWRT - Rate of change about A/C vertical axis (R)

    • Parameter ID: %x00.00.8a
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • STKPITCH - Stick Pitch Position (negative nose down, 0 neutral, positive nose up)

    • Parameter ID: %x00.00.8b
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • STKROLL - Stick Roll Position (negative left bank, 0 neutral, positive right bank)

    • Parameter ID: %x00.00.8c
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • STKYAW - Pedal Yaw Position (negative left, 0 neutral, positive right)

    • Parameter ID: %x00.00.8d
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • BATTTEMP - Battery Temp

    • Parameter ID: %x00.00.8e
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • MOTORTEMP - Motor Temp

    • Parameter ID: %x00.00.8f
    • Unit Usage: Motor
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • POWERTEMP - Temp of a device supplying/converting power to a propulsion system

    • Parameter ID: %x00.00.90
    • Unit Usage: Propulsion System
    • SubUnit Usage: Power converter/0=Max
    • Format: SINT (See Table 17.)
  • TORQUE - Torque

    • Parameter ID: %x00.00.91
    • Unit Usage: Motor/Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • TAILNUM - Up to 8-character, NULL terminated tail number

    • Parameter ID: %x00.00.92
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: STRING (See Table 13.)
  • ROLLREQ - F/D requested degrees of roll in 100 * degrees with 0 being right side up, -18000 being being upside down towards left, 18000 being upside down to the right

    • Parameter ID: %x00.00.93
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • PITCHREQ - F/D requested degrees of pitch in 100 * degrees with 0 being straight ahead, 9000 being straight up, -9000 being straight down

    • Parameter ID: %x00.00.94
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • YAWREQ - F/D requested G force of inclination with 0 being no yaw

    • Parameter ID: %x00.00.95
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • STKPITCHREQ - A/P Requested Stick Pitch Position (negative nose down, 0 neutral, positive nose up)

    • Parameter ID: %x00.00.96
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SERVO (See Table 29.)
  • STKROLLREQ - A/P Requested Stick Roll Position (negative left bank, 0 neutral, positive right bank)

    • Parameter ID: %x00.00.97
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SERVO (See Table 29.)
  • STKYAWREQ - A/P Requested Pedal Yaw Position (negative left, 0 neutral, positive right)

    • Parameter ID: %x00.00.98
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SERVO (See Table 29.)
  • FDMODEACT - Active Flight Director Modes

    • Parameter ID: %x00.00.99
    • Unit Usage: FD Number (0 for setting values)
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • FDMODEARM - Armed Flight Director Modes (XFS_AFCS_FD_MODE_*

    • Parameter ID: %x00.00.9a
    • Unit Usage: FD Number (0 for setting values)
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • ALTHOLDBUG - Altitude used by FD for altitude hold

    • Parameter ID: %x00.00.9b
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • APMODE - Autopilot Modes

    • Parameter ID: %x00.00.9c
    • Unit Usage: AP Number (0 for setting value)
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • ICSSQL - Intercom Squelch (0-100)

    • Parameter ID: %x00.00.9d
    • Unit Usage: Audio Panel Unit
    • SubUnit Usage: 0=System, 1=Pilot, 2=Copilot, rest are pax
    • Format: UINT (See Table 8.)
  • PITCHBUG - Target pitch

    • Parameter ID: %x00.00.9e
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • PTSPEED - Power Turbine Speed (commonly N1)

    • Parameter ID: %x00.00.9f
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • GTSPEED - Gas Turbine Speed (commonly N2 or Ng)

    • Parameter ID: %x00.00.a0
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • TIT - Turbine Inlet Temperature

    • Parameter ID: %x00.00.a1
    • Unit Usage: Engine
    • SubUnit Usage: Turbo/0=Max
    • Format: SINT (See Table 17.)
  • ITT - Inter-Turbine Temperature

    • Parameter ID: %x00.00.a2
    • Unit Usage: Engine
    • SubUnit Usage: Sensor /0=Average
    • Format: SINT (See Table 17.)
  • POWER - Power under current engine and environmental conditions relative to engine design maximum

    • Parameter ID: %x00.00.a3
    • Unit Usage: Motor/Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • ENGSTATUS - Engine specific set of flags or values

    • Parameter ID: %x00.00.a4
    • Unit Usage: Motor/Engine
    • SubUnit Usage: Engine Specific
    • Format: UINT (See Table 8.)
  • CABINALT - Cabin Equivalent Altitude

    • Parameter ID: %x00.00.a5
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • CABINALTREQ - Cabin Equivalent Altitude

    • Parameter ID: %x00.00.a6
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • DIFFPRES - Differential Pressure

    • Parameter ID: %x00.00.a7
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • DIFFPRESREQ - Requested Differential Pressure

    • Parameter ID: %x00.00.a8
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • FUELTEMP - Arbitrary Temperature in a location

    • Parameter ID: %x00.00.a9
    • Unit Usage: Engine/Fuel Tank
    • SubUnit Usage: SubLocation /0=Average, 1=Sump
    • Format: SINT (See Table 17.)
  • ENGSTATE - Engine operating state

    • Parameter ID: %x00.00.aa
    • Unit Usage: Motor/Engine
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • ENGSTATEREQ - Requested Engine operating state

    • Parameter ID: %x00.00.ab
    • Unit Usage: Motor/Engine
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • BLEEDAIR - Bleed Air Level (Percent of Max)

    • Parameter ID: %x00.00.ac
    • Unit Usage: Motor/Engine
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • BLEEDAIRREQ - Requested Bleed Air Level

    • Parameter ID: %x00.00.ad
    • Unit Usage: Motor/Engine
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • LIGHTING - Lighting Color/Level

    • Parameter ID: %x00.00.ae
    • Unit Usage: System
    • SubUnit Usage: Specific
    • Format: UINT (See Table 8.)
  • LIGHTINGREQ - Requested Lighting Color/Level

    • Parameter ID: %x00.00.af
    • Unit Usage: System
    • SubUnit Usage: Specific
    • Format: UINT (See Table 8.)
  • ICING - Deicing State

    • Parameter ID: %x00.00.b0
    • Unit Usage: System/0=Aircraft
    • SubUnit Usage: Specific
    • Format: UINT (See Table 8.)
  • ICINGREQ - Requested Deicing State

    • Parameter ID: %x00.00.b1
    • Unit Usage: System/0=Aircraft
    • SubUnit Usage: Specific
    • Format: UINT (See Table 8.)
  • LDGGEAR - Landing Gear State

    • Parameter ID: %x00.00.b2
    • Unit Usage: Wheel/0=Aircraft
    • SubUnit Usage: Specific
    • Format: UINT (See Table 8.)
  • LDGGEARREQ - Landing Gear State

    • Parameter ID: %x00.00.b3
    • Unit Usage: Wheel/0=Aircraft
    • SubUnit Usage: Specific
    • Format: UINT (See Table 8.)
  • CABINTEMP - Cabin Temperature in a zone

    • Parameter ID: %x00.00.b4
    • Unit Usage: Zone
    • SubUnit Usage: Sensor Number /0=Average
    • Format: SINT (See Table 17.)
  • CABINTEMPREQ - Requested Cabin Temperature in a zone

    • Parameter ID: %x00.00.b5
    • Unit Usage: Zone
    • SubUnit Usage: Sensor Number /0=Average
    • Format: SINT (See Table 17.)
  • CHKLIST - Checklist Item

    • Parameter ID: %x00.00.b6
    • Unit Usage: Checklist Number
    • SubUnit Usage: Item Number /0=Title
    • Format: CASMSG (See Table 14.)
  • WBRANGE - Weight and envelope per configuration

    • Parameter ID: %x00.00.b7
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: WBRANGE (See Table 26.)
  • WBSTARM - Arm for given station

    • Parameter ID: %x00.00.b8
    • Unit Usage: Configuration
    • SubUnit Usage: Station /0=total /1=total no fuel
    • Format: SINT (See Table 17.)
  • WBSTMAXWEIGHT - Maximum weight at given station

    • Parameter ID: %x00.00.b9
    • Unit Usage: Configuration
    • SubUnit Usage: Station /0=total /1=total no fuel
    • Format: SINT (See Table 17.)
  • WBSTFLAGS - Flags about given station

    • Parameter ID: %x00.00.ba
    • Unit Usage: Configuration
    • SubUnit Usage: Station /0=total /1=total no fuel
    • Format: UINT (See Table 8.)
  • WBSTWEIGHT - Actual weight at given station

    • Parameter ID: %x00.00.bb
    • Unit Usage: Configuration
    • SubUnit Usage: Station /0=total /1=total no fuel
    • Format: SINT (See Table 17.)
  • TASEFF - Fuel Economy Relative to True Airspeed

    • Parameter ID: %x00.00.bc
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • GSEFF - Fuel Economy Relative to Groundspeed

    • Parameter ID: %x00.00.bd
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • TIMETOEMPTY - Time to Empty

    • Parameter ID: %x00.00.be
    • Unit Usage: Engine /0=Aircraft
    • SubUnit Usage: 0 - smoothed, without reserve, 1 - smoothed, with reserve, 2 - without reserve, 3 - with reserve
    • Format: SINT (See Table 17.)
  • DISTTOEMPTY - Distance to Empty

    • Parameter ID: %x00.00.bf
    • Unit Usage: Engine /0=Aircraft
    • SubUnit Usage: 0 - smoothed, without reserve, 1 - smoothed, with reserve, 2 - without reserve, 3 - with reserve
    • Format: SINT (See Table 17.)
  • FLIGHTSTATE - State of Flight

    • Parameter ID: %x00.00.c0
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • UPDATESTATE - Status of any update

    • Parameter ID: %x00.00.c1
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UPDATE (See Table 27.)
  • TORQUEREQ - Requested Torque

    • Parameter ID: %x00.00.c2
    • Unit Usage: Motor/Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • STKPITCHFRCE - Stick Pitch Force applied by the pilot, positive value - push, negative value - pull

    • Parameter ID: %x00.00.c3
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • STKROLLFRCE - Stick Roll Force applied by the pilot, positive value - roll right, negative value - roll left

    • Parameter ID: %x00.00.c4
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • STKYAWFRCE - Pedal Yaw Force applied by the pilot, positive value - right rudder, negative value - left rudder

    • Parameter ID: %x00.00.c5
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • APPITCHFRCE - Auto Pilot Pitch Force exerted on control surfaces, positive value - push, negative value - pull

    • Parameter ID: %x00.00.c6
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • APROLLFRCE - Auto Pilot Roll Force exerted on control surfaces, positive value - roll right, negative value - roll left

    • Parameter ID: %x00.00.c7
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • APYAWFRCE - Auto Pilot Yaw Force exerted on control surfaces, positive value - right rudder, negative value - left rudder

    • Parameter ID: %x00.00.c8
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • EFBPARAM - Up to 64-character, NULL terminated parameter value

    • Parameter ID: %x00.00.c9
    • Unit Usage: EFB ID
    • SubUnit Usage: XFS_EFB_PARAM_*
    • Format: STRING (See Table 13.)
  • OILPRESCOMP - Compensated Oil Pressure

    • Parameter ID: %x00.00.ca
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • MACHBUG - Target Mach

    • Parameter ID: %x00.00.cb
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • AOART - Angle of attack rate of change

    • Parameter ID: %x00.00.cc
    • Unit Usage: Source
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • TASBUG - Target true airspeed

    • Parameter ID: %x00.00.cd
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • GSBUG - Target groundspeed

    • Parameter ID: %x00.00.ce
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • AOABUG - Bugged AOA

    • Parameter ID: %x00.00.cf
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • ECUTIME - ECU Hours

    • Parameter ID: %x00.00.d1
    • Unit Usage: Engine
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • DBASE - Active database information

    • Parameter ID: %x00.00.d2
    • Unit Usage: CPU ID
    • SubUnit Usage: Process ID
    • Format: DBASE (See Table 31.)
  • EAS - Equivalent Airspeed

    • Parameter ID: %x00.00.d3
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • EASRT - Equivalent Airspeed Rate of Change

    • Parameter ID: %x00.00.d4
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • EASBUG - Target equivalent airspeed

    • Parameter ID: %x00.00.d5
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • POWERREQ - Requested power as percent of engine design maximum

    • Parameter ID: %x00.00.d6
    • Unit Usage: Motor/Engine
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • BRAKE - Wheel brake status

    • Parameter ID: %x00.00.d7
    • Unit Usage: Left=1,Right=2,No direction=0
    • SubUnit Usage: Specific
    • Format: UINT (See Table 8.)
  • BRAKEREQ - Amount of brake requested

    • Parameter ID: %x00.00.d8
    • Unit Usage: Left=1,Right=2,No direction=0
    • SubUnit Usage: Specific
    • Format: UINT (See Table 8.)
  • NAVSQL - Communication Squelch (0-100)

    • Parameter ID: %x00.00.d9
    • Unit Usage: Radio ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • STATIONID - VOR Station ID decoded from Morse code

    • Parameter ID: %x00.00.da
    • Unit Usage: Radio ID
    • SubUnit Usage: None
    • Format: STRING (See Table 13.)
  • SVPARAM - Synthetic Vision parameters. Subunit is one of XFS_SV_PARAM_*

    • Parameter ID: %x00.00.db
    • Unit Usage: SYNVIS ID
    • SubUnit Usage: XFS_SV_PARAM_*
    • Format: SINT (See Table 17.)
  • FDCDISEL - Global selection of which CDI the flight director should track

    • Parameter ID: %x00.00.dc
    • Unit Usage: None
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • BLOODOXY - Blood oxygen level of given seat occupant

    • Parameter ID: %x00.00.dd
    • Unit Usage: Seat position, 0=Lowest of all seats, 1=Pilot, 2=Copilot, etc
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • PULSE - Pulse rate of given seat occupant

    • Parameter ID: %x00.00.de
    • Unit Usage: Seat position, 0=Worst of all seats (too low or high), 1=Pilot, 2=Copilot, etc
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • BREATHS - Breathing rate of given seat occupant

    • Parameter ID: %x00.00.df
    • Unit Usage: Seat position, 0=Worst of all seats (too low or high), 1=Pilot, 2=Copilot, etc
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • CARBMONOX - Carbon Monoxide levels detected by sensor

    • Parameter ID: %x00.00.e0
    • Unit Usage: Carbon Monoxide Sensor ID
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • FLOWRATE - Oxygen flow rate

    • Parameter ID: %x00.00.e1
    • Unit Usage: Seat position, 0=Worst of all seats (too low or high), 1=Pilot, 2=Copilot, etc
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • TANKPRES - Oxygen tank pressure

    • Parameter ID: %x00.00.e2
    • Unit Usage: Tank number, 0=Worst of all tanks (too low or high), 1=Tank 1, 2=Tank 2, etc
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • RNAVVS - Vertical speed computed from RNAV

    • Parameter ID: %x00.00.e3
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • COMPRESET - Selected COM Radio Preset (0=Non-preset frequency)

    • Parameter ID: %x00.00.e4
    • Unit Usage: Radio
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • COMNAME - Name of COM Radio or Preset Frequency

    • Parameter ID: %x00.00.e5
    • Unit Usage: Radio
    • SubUnit Usage: 0=Radio /1+=Presets
    • Format: STRING (See Table 13.)
  • NAVPRESET - Selected NAV Radio Preset (0=Non-preset frequency)

    • Parameter ID: %x00.00.e6
    • Unit Usage: Radio
    • SubUnit Usage: None
    • Format: UINT (See Table 8.)
  • NAVNAME - Name of NAV Radio or Preset Frequency

    • Parameter ID: %x00.00.e7
    • Unit Usage: Radio
    • SubUnit Usage: 0=Radio /1+=Presets
    • Format: STRING (See Table 13.)
  • VNORTH - North component of velocity in true world coordinates

    • Parameter ID: %x00.00.e8
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • VEAST - East component of velocity in true world coordinates

    • Parameter ID: %x00.00.e9
    • Unit Usage: Source ID
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • ENGPOWER - Current Engine Power

    • Parameter ID: %x00.00.ea
    • Unit Usage: Engine
    • SubUnit Usage: 0=Shaft Power/1=Input Power Consumption/ 2+(even)= Component Shaft Power, 3+(odd)= Component Power Consumption
    • Format: UINT (See Table 8.)
  • CHARGE - Measured remaining battery charge

    • Parameter ID: %x00.00.eb
    • Unit Usage: Battery ID/0=Sum of all
    • SubUnit Usage: None
    • Format: SINT (See Table 17.)
  • CHARGETOT - Computed remaining charge

    • Parameter ID: %x00.00.ec
    • Unit Usage: Power System ID/0=Sum of all
    • SubUnit Usage: 0 = current total, 1 = total at end of flight
    • Format: SINT (See Table 17.)

4. Message Transport

4.1. Message Composition

Application software on a node determines when information, commands, or raw data need to be sent onto the network. These transmissions are done as a message with raw data and message with parameters. If subsequent information or commands having the same message class, ID, and flags occur in a timely fashion, they MAY be coalesced into a single message.

For each parameter to be sent, the common header (See Section 3.2) the common data items MUST be populated. In addition, the Ident and Parameter Data MUST be populated with the corresponding data as per Section 3.4. The length in the common header MUST represent the actual length of the data, however, the parameter must be padded to a size that is a multiple of four octets.

The message header MUST be populated with the corresponding data as per Section 3.1, the message number MUST be monotonically increasing with an arbitrary initial value, and then the length in the common header MUST be set equal to the sum of the padded parameter length values. Once this assembly process is complete, the message may be transmitted.

4.2. Message Signing

Body text

4.3. Message Transmission and Reliability

XFSp is designed to be used with a broadcast UDP protocol however, there is no requirement to do so. Each endpoint MUST specify a listening address and port number with the default being 224.0.2.69 on port 20234. The actual address and port number are to be chosen by the system designer / installer for their particular needs. [RFC5771] specifies IPv4 Multicast Address Assignments and SHOULD be followed.

If the XFSp message is successfully transmitted, no further action is required.

4.4. Message Reception & decoding

XFSp messages are received on the address and port that was configured in the prior section. Upon receiving a message, the src id and message number MUST be examined to ensure that this message is neither out of order nor a duplicate: the message number must be higher than the previous received message, if any. Messages that are received out of order MUST be discarded. Then, if the message is considered valid, each XFSp MUST must examine each parameter and XFSp message to determine if requires local processing. Local processing is beyond the scope of this document.

Since there is no assured message delivery, all commands and information should be idempotent to ensure multiple interpretation, or execution results in the same outcome.

Message numbers will overflow. Handling of this case is TODO.

4.5. Message Signing

Since XFSp operates on a closed network, message signing is not currently supported but may be added in the future.

5. Example Message Flows

This section illustrates XFSp features by example. The first example controls the radio.

5.1. Adjust radio

This example sets the radio Set Radio frequency and squelch.

5.1.1. Message Header



                        1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    src id                     |    message number             |
   |         1001                  |          20                   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   msg class   | message ID    |       flags                   |
   |   3 = OP      | FLIGHTDATA 2  |    LEVEL-A    5               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              tcid             |          len                  |
   |       NONE    0               |          %x28                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      ...


Figure 4: Message Header Format
src id:
UINT16; This value was set to 1001 decimal at installation time.
message number:
UINT16; 20 decimal for illustration purposes.
msg class:
UINT8; "OP" value 3 decimal.
message ID:
UINT8; FLIGHTDATA decimal 2
flags:
UINT16; LEVEL-A decimal 5; See Table 3.
tcid:
t-NONE; See Table 4.
len:
UINT16 ; 0x28 bytes.

5.1.2. Frequency Message Header




                        1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Unit              |           SubUnit             |
   |               2               |             0                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Parameter Data Len   |              Ident                    |
   |          4            |  COMFREQKHZ %x00.00.24                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Format    |  Confidence   |   Expire   |      Pflags      |
   |  UINT   2     | USERSEL 128   |    %xFF    | LEVEL-A    5     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                  Parameter   Data                             :
   |                122750   or  0x0001 df7e                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Figure 5: Setting frequency to 122.750
Unit:
UINT16; decimal 2 to match the requested radio.
SubUnit:
UINT16; 0 to signify the radio itself.
Parameter Data Len:
12 bits; decimal 4.
Ident:
20 bits; COMFREQKHZ - Communication Frequency, value %x00.00.24 See Section 3.4.
Format:
UINT (OCTET): decimal 2. See Section 3.3.
Confidence:
decimal 128 (OCTET): USERSEL. See Table 5.
Expire:
OCTET; Time to live. %xFF to not expire. See Section 3.2.2 for encoding.
Pflags:
LEVEL-A (OCTET) decimal 5. See Table 3
Parameter Data:
*(OCTET) value would be 122750, 0x0001 df7e.

5.1.3. Squelch Message Header




                        1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             Unit              |           SubUnit             |
   |               2               |             0                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |  Parameter Data Len   |              Ident                    |
   |          4            |  COMSQL %x00.00.28                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Format    |  Confidence   |   Expire   |      Pflags      |
   |  UINT   2     | USERSEL 128   |    %xFF    | LEVEL-A    5     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   :                  Parameter   Data                             :
   |                   53  or  0x0000 0035                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Figure 6: Setting Squelch to 53
Unit:
UINT16; decimal 2 to match the requested radio.
SubUnit:
UINT16; 0 to signify the radio itself.
Parameter Data Len:
12 bits; decimal 4.
Ident:
20 bits; COMSQL - Communication Squelch (0-100), value %x00.00.28 See Section 3.4.
Format:
UINT (OCTET): decimal 2. See Section 3.3.
Confidence:
decimal 128 (OCTET): USERSEL. See Table 5.
Expire:
OCTET; Time to live. %xFF to not expire. See Section 3.2.2 for encoding.
Pflags:
LEVEL-A (OCTET) decimal 5. See Table 3
Parameter Data:
*(OCTET) value would be 53, 0x0000 0035.

6. IANA Considerations

This memo includes no request to IANA.

7. Security Considerations

This document should not affect the security of the Internet.

This protocol is currently designed to be deployed on an isolated private network. As such, message encryption, authenticity, and modification detection are not protocol priorities.

7.1. Interception

Message Interception is not considered a significant threat for XFSp because there is no private data in the system.

7.2. Impersonation and MITM

Impersonation and Man in the Middle (MITM) are unlikely because normally the network is physically isolated and not routed to other networks. Strategies for signing messages are a future consideration.

7.3. Denial of Service

Due to secure installation and physical isolation, Denial of Service is not a significant concern.

8. References

8.1. Normative References

[RFC0768]
Postel, J., "User Datagram Protocol", STD 6, RFC 768, DOI 10.17487/RFC0768, , <https://www.rfc-editor.org/info/rfc768>.
[RFC0791]
Postel, J., "Internet Protocol", STD 5, RFC 791, DOI 10.17487/RFC0791, , <https://www.rfc-editor.org/info/rfc791>.
[RFC2640]
Curtin, B., "Internationalization of the File Transfer Protocol", RFC 2640, DOI 10.17487/RFC2640, , <https://www.rfc-editor.org/info/rfc2640>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[IEEE8023]
IEEE, "IEEE Standard for Ethernet", DOI 10.1109/ieeestd.2018.8457469, , <http://dx.doi.org/10.1109/ieeestd.2018.8457469>.

8.2. Informative References

[RFC5771]
Cotton, M., Vegoda, L., and D. Meyer, "IANA Guidelines for IPv4 Multicast Address Assignments", BCP 51, RFC 5771, DOI 10.17487/RFC5771, , <https://www.rfc-editor.org/info/rfc5771>.
[DO-178C]
RTCA - Radio Technical Commission for Aeronautics, "DO-178C - Software Considerations in Airborne Systems and Equipment Certification", , <https://my.rtca.org/productdetails?id=a1B36000001IcmrEAC>.
[GLD90]
Garmin International, Inc., "GDL 90 Data Interface Specification", , <https://www.faa.gov/air_traffic/technology/adsb/archival/media/GDL90_Public_ICD_RevA.PDF>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.

Authors' Addresses

Mark Spencer
Avilution
Huntsville, AL
United States of America
Edward T Guy, III (editor)
EMC Software
Jersey City, NJ
United States of America