Skip to content

Parameters

Many message elements have parameters that communicate specific conditions or instructions, such as climbing to an altitude, or requesting different airspeeds on approach. Previous solutions have relied heavily on aircraft-side parsing of entire message strings or of delimited fields, but the interpretation of the parameters’ values has been historically vague.

Within FSDLP, each message element describes exactly what kind of value is expected, and then an object with the unit and value together is provided in the uplink or downlink. For example, to convey an altitude of 25,000 feet, either of the two parameter objects can be used:

{"type": "alt-ft", "value": 25000}
{"type": "alt-fl", "value": 250}

For each message element, all parameters must be provided.

The following table summarizes all of the different parameter types:

typeExampleUnitRange
alt-fl
{"type": "alt-fl", "value": 360}
100 ft30–600
alt-ft
{"type": "alt-ft", "value": 5000}
1 ft0–25000
deg
{"type": "deg", "value": 180}
1 deg1–360
dist
{"type": "dist", "value": 305}
0.1 nmi0–9999
freq-hf
{"type": "freq-hf", "value": 13306}
1 kHz2850–28000
freq-vhf
{"type": "freq-vhf", "value": 121900}
1 kHz118000–136975
spd-kts
{"type": "spd-kts", "value": 6}
10 kts7–38
spd-mach
{"type": "spd-mach", "value": 82}
0.01 mach61–99
time
{
"type": "time",
"value": {"hrs": 6, "min": 35}
}
1 hr
1 min
0–23
0–59
qnh-hpa
{"type": "qnh-hpa", "value": 1013}
1 hPa850–1050
qnh-inhg
{"type": "qnh-inhg", "value": 2992}
0.01 inHg2500–3100
atsu
{
"type": "atsu",
"value": {
"ident": "LKAA",
"name": "PRAHA",
"func": 7
}
}
beacon
{"type": "beacon", "value": 7500}
dir
{"type": "dir", "value": 0}
pos-fix
{"type": "pos-fix", "value": "LENDY"}
pos-navaid
{"type": "pos-navaid", "value": "CRI"}
pos-airport
{"type": "pos-airport", "value": "KJFK"}
pos-latlon
{
"type": "pos-latlon",
"value": {"lat": 40.6446, "lon": -73.7797}
}
text
{"type": "text", "value": "HELLO, WORLD!"}
number
{"type": "number", "value": 10}

Altitude represented as a flight level (FL). value shall be an integer between 30 and 600, inclusive, where one unit is equal to 100 feet.

{"type": "alt-fl", "value": 360} // FL360

Altitude in feet (ft). value shall be an integer between 0 and 25000, inclusive, where one unit is equal to 1 foot.

{"type": "alt-ft", "value": 5000} // 5000 ft

Heading as degrees from magnetic north. value shall be an integer between 1 and 360, inclusive, where one unit is equal to 1 degree.

{"type": "deg", "value": 180} // 180°

Distance represented as nautical miles (nmi). value shall be an integer between 0 and 9999, inclusive, where one unit is equal to 0.1 nautical miles.

{"type": "dist", "value": 305} // 30.5 nmi

Frequency of a high-frequency (HF) station in kilohertz (kHz). value shall be an integer between 2850 and 28000, inclusive, where one unit is equal to 1 kilohertz.

{"type": "freq-hf", "value": 13306} // 13.306 MHz

Frequency of a very-high-frequency (VHF) station in kilohertz (kHz). value shall be an integer between 118000 and 136975, inclusive, where one unit is equal to 1 kilohertz.

{"type": "freq-vhf", "value": 121900} // 121.900 MHz

Indicated airspeed in knots (kts). value shall be an integer between 7 and 38, inclusive, where one unit is equal to 10 knots.

{"type": "spd-kts", "value": 6} // 60 kts

Indicated airspeed represented as a mach number. value shall be an integer between 61 and 99, inclusive, where one unit is equal to 0.01 mach.

{"type": "spd-mach", "value": 82} // 0.82 mach

Time represented by hours and minutes. In most contexts, this shall be interpreted as universal coordinated time (UTC), but in others it may simply represent a duration. value shall be an object of:

  • hrs, an integer between 0 and 23, inclusive; and
  • min, an integer between 0 and 59, inclusive.
{
"type": "time",
"value": {
"hrs": 6,
"min": 35
}
}

Altimeter in inches of mercury (inHg). value shall be an integer between 2500 and 3100, inclusive, where one unit is equal to 0.01 inHg.

{"type": "qnh-inhg", "value": 2992} // 29.92 inHg

Altimeter in hectopascals (hPa). value shall be an integer between 850 and 1050, inclusive, where one unit is equal to 1 hPa.

{"type": "qnh-hpa", "value": 1013} // 1013 hPa

An air traffic service unit (ATSU) identifier represented by the unit identifier, name, and function. value shall be an object of:

  • ident, the 4-letter ICAO identifier of the unit;
  • name, the human-readable name of the unit; and
  • func, an integer between 0 and 7, inclusive, where each value corresponds to the following functions:
ValueDirection
0Center
1Approach
2Tower
3Final
4Ground Control
5Clearance Delivery
6Departure
7Control
// PHRAHA CONTROL
{
"type": "atsu",
"value": {
"ident": "LKAA",
"name": "PRAHA",
"func": 7
}
}

Transponder beacon code. value shall be the 4-digit beacon code where each digit is between 0 and 7, inclusive.

{"type": "beacon", "value": 7500}

Cardinal direction represented as an enumeration. value shall be an integer between 0 and 10, inclusive, where each value corresponds to the following direction:

ValueDirection
0Left
1Right
2Either Side
3North
4South
5East
6West
7North East
8North West
9South East
10South West
{"type": "dir", "value": 0} // Left

Position specified by a waypoint fix. value shall be the 5-letter ICAO waypoint identifier.

{"type": "pos-fix", "value": "LENDY"}

Position specified by a navigational aid, such as a VOR or DME. value shall be the 2-to-4-letter ICAO navaid identifier.

{"type": "pos-navaid", "value": "CRI"}

Position specified by an airport reference point. value shall be the 4-letter ICAO airport identifier.

{"type": "pos-airport", "value": "KJFK"}

Position speciefied by a WGS-84 latitude/longitude pair. lat shall be the decimal representation of the latitude, with positive values representing latitudes in the Northern hemisphere, and negative values in the Southern. lon shall be the decimal representation of the longitude, with positive values representing longitudes in the Eastern hemisphere, and negative values in the Western.

{
"type": "pos-latlon",
"value": {
"lat": 40.6446,
"lon": -73.7797
}
}

Unformatted text represented as a string.

{"type": "text", "value": "HELLO, WORLD!"}

Unformatted number represented as a signed integer.

{"type": "number", "value": 10}