Internet Engineering Task Force M. Spencer Internet-Draft Avilution Intended status: Informational E.T. Guy, Ed. Expires: 11 January 2024 EMC Software 10 July 2023 eXtensible Flight System Protocol draft-guy-xfsp-00 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. Copyright Notice Copyright (c) 2023 IETF Trust and the persons identified as the document authors. All rights reserved. Spencer & Guy Expires 11 January 2024 [Page 1] Internet-Draft eXtensible Flight System Protocol July 2023 This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Basic Properties . . . . . . . . . . . . . . . . . . . . 3 1.2. Drawbacks . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 2. Overview of XFS Protocol . . . . . . . . . . . . . . . . . . 5 3. Message Format . . . . . . . . . . . . . . . . . . . . . . . 6 3.1. Message Header . . . . . . . . . . . . . . . . . . . . . 6 3.1.1. Message Header Dictionaries . . . . . . . . . . . . . 7 3.2. Message Parameter Format . . . . . . . . . . . . . . . . 9 3.2.1. Parameter Header Dictionaries . . . . . . . . . . . . 10 3.2.2. Expire Encoding . . . . . . . . . . . . . . . . . . . 11 3.3. Parameter Attribute Formats . . . . . . . . . . . . . . . 11 3.3.1. BOOL Parameter Format . . . . . . . . . . . . . . . . 11 3.3.2. UINT Parameter Format . . . . . . . . . . . . . . . . 12 3.3.3. WAYPOINT Parameter Format . . . . . . . . . . . . . . 12 3.3.4. STRING Parameter Format . . . . . . . . . . . . . . . 17 3.3.5. CASMSG Parameter Format . . . . . . . . . . . . . . . 17 3.3.6. SINT Parameter Format . . . . . . . . . . . . . . . . 20 3.3.7. BUS Parameter Format . . . . . . . . . . . . . . . . 20 3.3.8. RANGE Parameter Format . . . . . . . . . . . . . . . 23 3.3.9. GPIO Parameter Format . . . . . . . . . . . . . . . . 25 3.3.10. APP Parameter Format . . . . . . . . . . . . . . . . 26 3.3.11. WBRANGE Parameter Format . . . . . . . . . . . . . . 29 3.3.12. UPDATE Parameter Format . . . . . . . . . . . . . . . 29 3.3.13. SERVO Parameter Format . . . . . . . . . . . . . . . 30 3.3.14. DBASE Parameter Format . . . . . . . . . . . . . . . 31 3.4. Parameter Types . . . . . . . . . . . . . . . . . . . . . 32 4. Message Transport . . . . . . . . . . . . . . . . . . . . . . 68 4.1. Message Composition . . . . . . . . . . . . . . . . . . . 68 4.2. Message Signing . . . . . . . . . . . . . . . . . . . . . 68 4.3. Message Transmission and Reliability . . . . . . . . . . 69 4.4. Message Reception & decoding . . . . . . . . . . . . . . 69 4.5. Message Signing . . . . . . . . . . . . . . . . . . . . . 69 5. Example Message Flows . . . . . . . . . . . . . . . . . . . . 69 5.1. Adjust radio . . . . . . . . . . . . . . . . . . . . . . 69 5.1.1. Message Header . . . . . . . . . . . . . . . . . . . 69 5.1.2. Frequency Message Header . . . . . . . . . . . . . . 70 Spencer & Guy Expires 11 January 2024 [Page 2] Internet-Draft eXtensible Flight System Protocol July 2023 5.1.3. Squelch Message Header . . . . . . . . . . . . . . . 72 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 73 7. Security Considerations . . . . . . . . . . . . . . . . . . . 73 7.1. Interception . . . . . . . . . . . . . . . . . . . . . . 73 7.2. Impersonation and MITM . . . . . . . . . . . . . . . . . 73 7.3. Denial of Service . . . . . . . . . . . . . . . . . . . . 73 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 73 8.1. Normative References . . . . . . . . . . . . . . . . . . 73 8.2. Informative References . . . . . . . . . . . . . . . . . 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 74 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 Spencer & Guy Expires 11 January 2024 [Page 3] Internet-Draft eXtensible Flight System Protocol July 2023 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. Spencer & Guy Expires 11 January 2024 [Page 4] Internet-Draft eXtensible Flight System Protocol July 2023 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. Spencer & Guy Expires 11 January 2024 [Page 5] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 6] Internet-Draft eXtensible Flight System Protocol July 2023 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. +=======+=======+==================================+ | 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 1: msg-class Dictionary Table 2, below, shows the values defined in the msg-op Dictionary. These options further refine the operational message class. Spencer & Guy Expires 11 January 2024 [Page 7] Internet-Draft eXtensible Flight System Protocol July 2023 +============+=======+=========================================+ | 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 2: msg-op Dictionary 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. +==============+=======+================+ | 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 3: msg-flag-cert Dictionary Table 4, below, shows the values defined in the tcid Dictionary. XFS transcoder ID values for future use. +======+=======+==========================================+ | Name | Value | Definition | +======+=======+==========================================+ | NONE | %d0 | No transcoder ID is required or asserted | +------+-------+------------------------------------------+ Table 4: tcid Dictionary Spencer & Guy Expires 11 January 2024 [Page 8] Internet-Draft eXtensible Flight System Protocol July 2023 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. Spencer & Guy Expires 11 January 2024 [Page 9] Internet-Draft eXtensible Flight System Protocol July 2023 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. +===========+=======+==============================================+ | 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 | +-----------+-------+----------------------------------------------+ Table 5: param-confidence Dictionary The msg_flag_cert Dictionary is also used. See Table 3 for its definition. Spencer & Guy Expires 11 January 2024 [Page 10] Internet-Draft eXtensible Flight System Protocol July 2023 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: Spencer & Guy Expires 11 January 2024 [Page 11] Internet-Draft eXtensible Flight System Protocol July 2023 +============+=========+============================+ | Item | Type | Description | +============+=========+============================+ | bool-value | boolean | Zero for false, 1 for | | | | true, all others undefined | +------------+---------+----------------------------+ Table 6: BOOL Parameter Format Table 7, below, shows the values defined in the boolean Dictionary. These options represent nominal boolean values. +=======+=======+============+ | Name | Value | Definition | +=======+=======+============+ | FALSE | %d0 | False | +-------+-------+------------+ | TRUE | %d1 | True | +-------+-------+------------+ Table 7: boolean Dictionary 3.3.2. UINT Parameter Format Unsigned 32-bit Integer Format Parameter Identifier: %d2 Length: 4 Structure: +============+========+=======================+ | Item | Type | Description | +============+========+=======================+ | uint-value | uint32 | 32-bit Unsigned Value | +------------+--------+-----------------------+ Table 8: UINT Parameter Format 3.3.3. WAYPOINT Parameter Format Waypoint on a Flight Plan Parameter Identifier: %d3 Length: 80 Spencer & Guy Expires 11 January 2024 [Page 12] Internet-Draft eXtensible Flight System Protocol July 2023 Structure: +===========+===============+===============================+ | 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 | Spencer & Guy Expires 11 January 2024 [Page 13] Internet-Draft eXtensible Flight System Protocol July 2023 +-----------+---------------+-------------------------------+ | 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 9: WAYPOINT Parameter Format Table 10, below, shows the values defined in the fms-waypoint Dictionary. These options represent flight management system waypoint types. +============+=======+================================+ | 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 10: fms-waypoint Dictionary Spencer & Guy Expires 11 January 2024 [Page 14] Internet-Draft eXtensible Flight System Protocol July 2023 Table 11, below, shows the values defined in the fms-container Dictionary. These options represent flight management system container types. +=========+=======+==================================+ | 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 11: fms-container Dictionary Table 12, below, shows the values defined in the fms-flag Dictionary. These options represent flight management system waypoint and leg flags. +============+=========+==================================+ | Name | Value | Definition | +============+=========+==================================+ | NONE | %d0 | No flags or leg type known | +------------+---------+----------------------------------+ | LEGTYPE-VA | %d1 | Heading to Altitude | +------------+---------+----------------------------------+ | LEGTYPE-VD | %d2 | Heading to DME Distance | Spencer & Guy Expires 11 January 2024 [Page 15] Internet-Draft eXtensible Flight System Protocol July 2023 +------------+---------+----------------------------------+ | 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 | +------------+---------+----------------------------------+ Spencer & Guy Expires 11 January 2024 [Page 16] Internet-Draft eXtensible Flight System Protocol July 2023 | 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 | +------------+---------+----------------------------------+ Table 12: fms-flag Dictionary 3.3.4. STRING Parameter Format String of characters (may not have NULL termination) Parameter Identifier: %d4 Length: length(data) + 0 Structure: +==============+==========+===========================+ | Item | Type | Description | +==============+==========+===========================+ | string-value | *(OCTET) | Optionally NUL terminated | | | | ISO-8559-1 String | +--------------+----------+---------------------------+ Table 13: STRING Parameter Format 3.3.5. CASMSG Parameter Format CAS Message Parameter Identifier: %d5 Length: length(data) + 4 Spencer & Guy Expires 11 January 2024 [Page 17] Internet-Draft eXtensible Flight System Protocol July 2023 Structure: +=======+=============+=======================+ | 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 14: CASMSG Parameter Format Table 15, below, shows the values defined in the cas-msglvl Dictionary. These options represent Message levels for CAS messages and checklist items. Spencer & Guy Expires 11 January 2024 [Page 18] Internet-Draft eXtensible Flight System Protocol July 2023 +===========+=======+========================================+ | 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 15: cas-msglvl Dictionary Table 16, below, shows the values defined in the cas-msgflag Dictionary. These options represent Additional flags associated with CAS messages. +======+=======+=========================================+ | Name | Value | Definition | +======+=======+=========================================+ | AUTO | %x01 | Item is automatically checked/unchecked | +------+-------+-----------------------------------------+ Table 16: cas-msgflag Dictionary Spencer & Guy Expires 11 January 2024 [Page 19] Internet-Draft eXtensible Flight System Protocol July 2023 3.3.6. SINT Parameter Format Signed 32-bit Integer Format Parameter Identifier: %d9 Length: 4 Structure: +============+=======+======================================+ | Item | Type | Description | +============+=======+======================================+ | sint-value | int32 | Signed 32-bit two's complement value | +------------+-------+--------------------------------------+ Table 17: SINT Parameter Format 3.3.7. BUS Parameter Format Bus and Electronic Circuit Breaker Format Parameter Identifier: %d10 Length: length(data) + 24 Structure: Spencer & Guy Expires 11 January 2024 [Page 20] Internet-Draft eXtensible Flight System Protocol July 2023 +==========+===========+=====================================+ | 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 18: BUS Parameter Format Table 19, below, shows the values defined in the ecb-state Dictionary. These options represent Electronic circuit breaker status. Spencer & Guy Expires 11 January 2024 [Page 21] Internet-Draft eXtensible Flight System Protocol July 2023 +==========+=======+======================================+ | 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 19: ecb-state Dictionary Table 20, below, shows the values defined in the ecb-flag Dictionary. These options represent Electronic circuit breaker parameter flags. Spencer & Guy Expires 11 January 2024 [Page 22] Internet-Draft eXtensible Flight System Protocol July 2023 +============+=======+============================+ | Name | Value | Definition | +============+=======+============================+ | INPUTVOLTS | %x01 | Input Volts field is valid | +------------+-------+----------------------------+ Table 20: ecb-flag Dictionary 3.3.8. RANGE Parameter Format Range description format Parameter Identifier: %d11 Length: 24 Structure: +==========+=============+==============================+ | 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 21: RANGE Parameter Format Table 22, below, shows the values defined in the param-units Dictionary. These options represent Units for the encoding and translation of XFS parameters. Spencer & Guy Expires 11 January 2024 [Page 23] Internet-Draft eXtensible Flight System Protocol July 2023 +========+=========+===============================================+ | 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 | Spencer & Guy Expires 11 January 2024 [Page 24] Internet-Draft eXtensible Flight System Protocol July 2023 +--------+---------+-----------------------------------------------+ | 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 | +--------+---------+-----------------------------------------------+ Table 22: param-units Dictionary 3.3.9. GPIO Parameter Format GPIO summary format Parameter Identifier: %d12 Length: 12 Spencer & Guy Expires 11 January 2024 [Page 25] Internet-Draft eXtensible Flight System Protocol July 2023 Structure: +==========+========+============================================+ | 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 | +----------+--------+--------------------------------------------+ Table 23: GPIO Parameter Format 3.3.10. APP Parameter Format APP status format Parameter Identifier: %d13 Length: length(data) + 56 Structure: Spencer & Guy Expires 11 January 2024 [Page 26] Internet-Draft eXtensible Flight System Protocol July 2023 +============+==============+====================================+ | 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 24: APP Parameter Format Table 25, below, shows the values defined in the scb-state Dictionary. These options represent Software circuit breaker states. Spencer & Guy Expires 11 January 2024 [Page 27] Internet-Draft eXtensible Flight System Protocol July 2023 +===========+=======+============================================+ | 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 | +-----------+-------+--------------------------------------------+ Table 25: scb-state Dictionary Spencer & Guy Expires 11 January 2024 [Page 28] Internet-Draft eXtensible Flight System Protocol July 2023 3.3.11. WBRANGE Parameter Format Weight and Balance Range Parameter Identifier: %d14 Length: 16 Structure: +=============+=========+============================+ | 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 | +-------------+---------+----------------------------+ Table 26: WBRANGE Parameter Format 3.3.12. UPDATE Parameter Format Aircraft Update Progress Parameter Identifier: %d15 Length: length(data) + 56 Structure: Spencer & Guy Expires 11 January 2024 [Page 29] Internet-Draft eXtensible Flight System Protocol July 2023 +============+======================+=====================+ | 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 27: UPDATE Parameter Format Table 28, below, shows the values defined in the msg-cmd-updstat-flag Dictionary. These options represent Maintenance mode status update flags. +=========+=======+===================================+ | Name | Value | Definition | +=========+=======+===================================+ | SUCCESS | %x01 | Update is complete and successful | +---------+-------+-----------------------------------+ | ERROR | %x02 | Error during update | +---------+-------+-----------------------------------+ Table 28: msg-cmd-updstat-flag Dictionary 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: Spencer & Guy Expires 11 January 2024 [Page 30] Internet-Draft eXtensible Flight System Protocol July 2023 +===========+============+=============+ | Item | Type | Description | +===========+============+=============+ | servopos | int32 | undefined | +-----------+------------+-------------+ | servomode | afcs-servo | undefined | +-----------+------------+-------------+ Table 29: SERVO Parameter Format Table 30, below, shows the values defined in the afcs-servo Dictionary. These options represent Servo engagement flags. +============+===============+===============================+ | 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 | +------------+---------------+-------------------------------+ Table 30: afcs-servo Dictionary 3.3.14. DBASE Parameter Format Database Information Parameter Identifier: %d17 Length: 92 Structure: Spencer & Guy Expires 11 January 2024 [Page 31] Internet-Draft eXtensible Flight System Protocol July 2023 +==========+==============+===============================+ | 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 | +----------+--------------+-------------------------------+ Table 31: DBASE Parameter Format 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 Spencer & Guy Expires 11 January 2024 [Page 32] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 33] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 34] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 35] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 36] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 37] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 38] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 39] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 40] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 41] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 42] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 43] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 44] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 45] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 46] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 47] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 48] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 49] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 50] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 51] Internet-Draft eXtensible Flight System Protocol July 2023 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.) Spencer & Guy Expires 11 January 2024 [Page 52] Internet-Draft eXtensible Flight System Protocol July 2023 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) Spencer & Guy Expires 11 January 2024 [Page 53] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 54] Internet-Draft eXtensible Flight System Protocol July 2023 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.) Spencer & Guy Expires 11 January 2024 [Page 55] Internet-Draft eXtensible Flight System Protocol July 2023 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.) Spencer & Guy Expires 11 January 2024 [Page 56] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 57] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 58] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 59] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 60] Internet-Draft eXtensible Flight System Protocol July 2023 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.) Spencer & Guy Expires 11 January 2024 [Page 61] Internet-Draft eXtensible Flight System Protocol July 2023 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.) Spencer & Guy Expires 11 January 2024 [Page 62] Internet-Draft eXtensible Flight System Protocol July 2023 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.) Spencer & Guy Expires 11 January 2024 [Page 63] Internet-Draft eXtensible Flight System Protocol July 2023 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.) Spencer & Guy Expires 11 January 2024 [Page 64] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 65] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 66] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 67] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 68] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 69] Internet-Draft eXtensible Flight System Protocol July 2023 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 Spencer & Guy Expires 11 January 2024 [Page 70] Internet-Draft eXtensible Flight System Protocol July 2023 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. Spencer & Guy Expires 11 January 2024 [Page 71] Internet-Draft eXtensible Flight System Protocol July 2023 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. Spencer & Guy Expires 11 January 2024 [Page 72] Internet-Draft eXtensible Flight System Protocol July 2023 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, August 1980, . [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, DOI 10.17487/RFC0791, September 1981, . [RFC2640] Curtin, B., "Internationalization of the File Transfer Protocol", RFC 2640, DOI 10.17487/RFC2640, July 1999, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . Spencer & Guy Expires 11 January 2024 [Page 73] Internet-Draft eXtensible Flight System Protocol July 2023 [IEEE8023] IEEE, "IEEE Standard for Ethernet", DOI 10.1109/ieeestd.2018.8457469, 21 September 2018, . 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, March 2010, . [DO-178C] RTCA - Radio Technical Commission for Aeronautics, "DO- 178C - Software Considerations in Airborne Systems and Equipment Certification", December 2011, . [GLD90] Garmin International, Inc., "GDL 90 Data Interface Specification", June 2007, . [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . Authors' Addresses Mark Spencer Avilution Huntsville, AL United States of America Email: markster@avilution.com Edward T Guy, III (editor) EMC Software Jersey City, NJ United States of America Email: edguy@eguy.org Spencer & Guy Expires 11 January 2024 [Page 74]