Aircraft properties reference
This is a generic aircraft properties reference. There are many properties that are very common in aircraft, and many of them are present even in a very simple aircraft. However, a complete description that matches all the properties is very unlikely to be written, as aircraft can be very different from each other.
What are properties?
See Property tree for the main article about this subject. |
The property tree
Most parts of FlightGear communicate with each other through key-value pair properties in the property tree. The properties represent both the input from the pilot, the values determining the position and velocity of the aircraft, the values used for animating the aircraft, and pretty much anything else.
While many properties will be common between most aircraft, many properties will also be different between aircraft. This becomes obvious if one consider the many different configurations (aircraft/helicopter/car, control surface and landing gear layout, number and locations of engines, etc) and propulsions systems (types of engines, types of fuels etc.) an aircraft can have. There are also different flight dynamic models (FDMs) that have different needs. In addition many properties will by necessity be aircraft specific, though developers should make a conscious effort to have properties map to more common ones if that is possible.
Where are the properties defined?
There are a couple ways that the properties are set, but a fair amount of them just "appear" without being documented anywhere. There are several places to look for properties. One is in the aircraft files, starting from the aircraft specific aircraft-set.xml file, another is the Nasal files, and the last place (and often most useful!) is "grepping" (searching) through the C++ code.
To determine how a property works and what it does often requires looking through any code that uses it. This is a part of FlightGear that we could certainly document better
Annunciators
The /instrumentation/annunciators section shall provide a central place for
- aircrafts to write annunciator status data
- 3D aircraft models and external devices (like joysticks, yokes, throttle quadrants or custom made cockpit hardware) to read such data and drive status lights etc.
Some of the props are automatically calculated by property rules in $FGDATA/Aircraft/Generic/generic-annunciators.xml
(available since FG 2024.1) other properties have to be calculated by the actual aircraft.
The aircraft.nas module provides aircraft.light which allows easy implementation of blinking lights. Such lights have a bool property 'state' which tells if the light is on or off.
/instrumentation/annunciators/doors /instrumentation/annunciators/master-caution/state # aircraft.light /instrumentation/annunciators/master-warning/state # aircraft.light /instrumentation/annunciators/autoflight/ap/enabled /instrumentation/annunciators/autoflight/ap/mode/alt /instrumentation/annunciators/autoflight/ap/mode/apr /instrumentation/annunciators/autoflight/ap/mode/hdg /instrumentation/annunciators/autoflight/ap/mode/ias /instrumentation/annunciators/autoflight/ap/mode/nav /instrumentation/annunciators/autoflight/ap/mode/rev /instrumentation/annunciators/autoflight/ap/mode/vs /instrumentation/annunciators/autoflight/flightdirector/enabled /instrumentation/annunciators/engines/ /instrumentation/annunciators/engines/apu/enabled /instrumentation/annunciators/engines/apu/fire # summary props, 'sum' of all engines /instrumentation/annunciators/engines/fire /instrumentation/annunciators/engines/oil-pressure-low /instrumentation/annunciators/engines/starter # for <gear-name> in {nose, left, right} /instrumentation/annunciators/gear/<gear-name>/down /instrumentation/annunciators/gear/<gear-name>/in-transition /instrumentation/annunciators/gear/<gear-name>/unsafe /instrumentation/annunciators/gear/<gear-name>/up # gear summary /instrumentation/annunciators/gear/down /instrumentation/annunciators/gear/in-transition /instrumentation/annunciators/gear/unsafe /instrumentation/annunciators/gear/up /instrumentation/annunciators/gear/parking-brake /instrumentation/annunciators/systems/anti-ice/enabled /instrumentation/annunciators/systems/fuel/aux-pump /instrumentation/annunciators/systems/fuel/pressure-low /instrumentation/annunciators/systems/fuel/system[]/pressure-low /instrumentation/annunciators/systems/hyd/pressure-low /instrumentation/annunciators/systems/hyd/system[]/pressure-low /instrumentation/annunciators/systems/vacuum
Consumables
- See also #Fuel
/consumables/fuel/tank[%d]/level-lb /consumables/fuel/tank[%d]/level-lbs /consumables/fuel/tank[%d]/level-gal_us /consumables/fuel/tank[%d]/capacity-gal_us /consumables/fuel/tank[%d]/density-ppg /consumables/fuel/total-fuel-lbs /consumables/fuel/total-gal_us
Controls
These properties are meant to represent the various cockpit controls (levers, switches, etc.) Consider these the pilot input.
Recommended usage
- Animation of control elements (levers, switches, etc) themself in the 3D model of the cockpit
- As input to aircraft system simulation, e.g. hydraulics or electrical systems
Avoid refering to control props directly for animating parts of the 3D model if there is an aircraft system (electric, hydraulic, ...) involved.
Better use XML property rules (e.g. logic or filter) that calculate the component state from /controls/foo as well as "power available", "component is serviceable" etc.
Anti-ice
These properties control the various anti-ice properties that may be present in an aircraft.
/controls/anti-ice/wing-heat /controls/anti-ice/pitot-heat /controls/anti-ice/wiper /controls/anti-ice/window-heat /controls/anti-ice/engine[%d]/carb-heat /controls/anti-ice/engine[%d]/inlet-heat
TODO - section notes
APU
These properties control any auxiliary power unit, in essence a small turbine engine driving generators, hydraulic pumps etc. before and after the aircraft's engines are up an running.
/controls/APU/off-start-run /controls/APU/fire-switch
TODO - section notes
Armament
TODO - explain of section
/controls/armament/master-arm /controls/armament/station-select /controls/armament/release-all /controls/armament/station[%d]/stick-size /controls/armament/station[%d]/release-stick /controls/armament/station[%d]/release-all /controls/armament/station[%d]/jettison-all
TODO - section notes
Autoflight
These properties control the autopilot on certain airplanes. For IT Autoflight based systems, see here.
TODO - explain of section
/controls/autoflight/autopilot[%d]/engage /controls/autoflight/autothrottle-arm /controls/autoflight/autothrottle-engage /controls/autoflight/heading-select /controls/autoflight/altitude-select /controls/autoflight/bank-angle-select /controls/autoflight/vertical-speed-select /controls/autoflight/speed-select /controls/autoflight/mach-select /controls/autoflight/vertical-mode /controls/autoflight/lateral-mode
TODO - section notes
Electric
TODO - explain of section
/controls/electric/battery-switch /controls/electric/external-power /controls/electric/APU-generator /controls/electric/engine[%d]/generator /controls/electric/engine[%d]/bus-tie
TODO - section notes
Engines
Engines are numbered engine[0] for a single engine to engine[0] to engine[3] for a 747 for example. (The model allows for up to 12 engines rumour has it ;-)
/controls/engines/throttle_idle /controls/engines/engine[%d]/throttle /controls/engines/engine[%d]/starter /controls/engines/engine[%d]/fuel-pump /controls/engines/engine[%d]/fire-switch /controls/engines/engine[%d]/fire-bottle-discharge /controls/engines/engine[%d]/cutoff /controls/engines/engine[%d]/mixture /controls/engines/engine[%d]/propeller-pitch /controls/engines/engine[%d]/magnetos /controls/engines/engine[%d]/boost /controls/engines/engine[%d]/WEP /controls/engines/engine[%d]/cowl-flaps-norm /controls/engines/engine[%d]/feather /controls/engines/engine[%d]/ignition /controls/engines/engine[%d]/augmentation /controls/engines/engine[%d]/afterburner /controls/engines/engine[%d]/reverser /controls/engines/engine[%d]/water-injection /controls/engines/engine[%d]/condition
TODO - section notes
Flight controls
These properties control the flight controls surfaces, though often through a mechanical, analog or digital flight control system (FCS) that may or may not be modeled.
/controls/flight/aileron /controls/flight/aileron-trim /controls/flight/elevator /controls/flight/elevator-trim /controls/flight/rudder /controls/flight/rudder-trim /controls/flight/flaps /controls/flight/slats /controls/flight/BLC // Boundary Layer Control /controls/flight/spoilers /controls/flight/speedbrake /controls/flight/wing-sweep /controls/flight/wing-fold /controls/flight/drag-chute
The positions of the controls are usually put in /surface-positions/
at the discretion of the aircraft designer. These usually drive the animations of the control surfaces. They are either normalized (like /surface-positions/elevator-pos-norm
) or in degrees, and sometimes the aileron is split left/right.
Fuel
TODO - explain of section
/controls/fuel/dump-valve /controls/fuel/tank[%d]/fuel_selector /controls/fuel/tank[%d]/to_engine /controls/fuel/tank[%d]/to_tank /controls/fuel/tank[%d]/boost-pump[%d]
TODO - section notes
Gear
TODO - explain of section
/controls/gear/brake-left /controls/gear/brake-right /controls/gear/brake-parking /controls/gear/steering // Used if rudder is not sufficient for control of steering /controls/gear/gear-down /controls/gear/antiskid // Deprecated? /controls/gear/tailhook /controls/gear/tailwheel-lock /controls/gear/wheel[%d]/alternate-extension
TODO - section notes
Hydraulics
TODO - explain of section
/controls/hydraulic/system[%d]/engine-pump /controls/hydraulic/system[%d]/electric-pump
TODO - section notes
Lights
TODO - explain of section
/controls/lighting/landing-lights /controls/lighting/turn-off-lights /controls/lighting/formation-lights /controls/lighting/taxi-light /controls/lighting/logo-lights /controls/lighting/nav-lights /controls/lighting/beacon /controls/lighting/strobe /controls/lighting/panel-norm /controls/lighting/instruments-norm /controls/lighting/dome-norm
TODO - section notes
Pneumatic
TODO - explain of section
/controls/pneumatic/APU-bleed /controls/pneumatic/engine[%d]/bleed
TODO - section notes
Pressurization
TODO - explain of section
/controls/pressurization/mode /controls/pressurization/dump /controls/pressurization/outflow-valve /controls/pressurization/pack[%d]/pack-on
TODO - section notes
Seat
TODO - explain of section
/controls/seat/vertical-adjust /controls/seat/fore-aft-adjust /controls/seat/cmd_selector_valve /controls/seat/eject[%d]/initiate /controls/seat/eject[%d]/status
TODO - section notes
Engines
Status of engines. See also: /controls/engines/
Common
/engines/engine[%d]/fuel-flow-gph /engines/engine[%d]/fuel-flow_pph /engines/engine[%d]/thrust_lb /engines/engine[%d]/running /engines/engine[%d]/starter /engines/engine[%d]/cranking /engines/engine[%d]/fire
Turbine
/engines/engine[%d]/n1 /engines/engine[%d]/n2 /engines/engine[%d]/epr /engines/engine[%d]/augmentation /engines/engine[%d]/water-injection /engines/engine[%d]/ignition /engines/engine[%d]/nozzle-pos-norm /engines/engine[%d]/inlet-pos-norm /engines/engine[%d]/reversed /engines/engine[%d]/cutoff
Piston
/engines/engine[%d]/mp-osi /engines/engine[%d]/egt-degf /engines/engine[%d]/oil-temperature-degf /engines/engine[%d]/oil-pressure-psi /engines/engine[%d]/cht-degf /engines/engine[%d]/rpm
Propeller
/engines/engine[%d]/rpm /engines/engine[%d]/pitch /engines/engine[%d]/torque
TODO - section notes
Flight Dynamics Model
Position
This will return the current position of the aircraft within FlightGear. This is also the stuff that is transmitted in multiplayer.
/position/ /position/altitiude-ft () /position/altitude-agl-ft (22.46983965) /position/altitude-ft (28.24368289) /position/ground-elev-ft (-0.43513529) /position/ground-elev-m (-0.1326292364) /position/latitude-deg (37.61371436) /position/latitude-string (37*36 49.4N) /position/longitude-deg (-122.3576508) /position/longitude-string (-122*21 27.5W) /position/sea-level-radius-ft (20899648.76)
Orientation
TODO - explain of section
/orientation/roll-deg /orientation/pitch-deg /orientation/heading-deg /orientation/roll-rate-degps /orientation/pitch-rate-degps /orientation/yaw-rate-degps /orientation/side-slip-rad /orientation/side-slip-deg /orientation/alpha-deg
TODO - section notes
Velocities
TODO - explain of section
/velocities/airspeed-kt /velocities/mach /velocities/speed-north-fps /velocities/speed-east-fps /velocities/speed-down-fps /velocities/uBody-fps /velocities/vBody-fps /velocities/wBody-fps /velocities/vertical-speed-fps /velocities/glideslope
TODO - section notes
Acceleration
TODO - explain of section
/accelerations/nlf /accelerations/ned/north-accel-fps_sec /accelerations/ned/east-accel-fps_sec /accelerations/ned/down-accel-fps_sec /accelerations/pilot/x-accel-fps_sec /accelerations/pilot/y-accel-fps_sec /accelerations/pilot/z-accel-fps_sec
TODO - section notes
Gear
/gear/serviceable /gear/gear[%d]/cast-angle-deg // The angle of the wheel where 0 is pointing straight forward /gear/gear[%d]/compression-m /gear/gear[%d]/compression-norm /gear/gear[%d]/ground-friction-factor /gear/gear[%d]/ground-is-solid /gear/gear[%d]/has-brake /gear/gear[%d]/rollspeed-ms // Speed of the wheel's rotation in meters per second /gear/gear[%d]/wow // Weight-on-wheel /gear/gear[%d]/xoffset-in /gear/gear[%d]/yoffset-in /gear/gear[%d]/zoffset-in
Instrumentation
/instrumentation/adf[%d]/ /instrumentation/airspeed-indicator/ /instrumentation/altimeter/ /instrumentation/annunciator/ /instrumentation/attitude-indicator/ /instrumentation/clock/ /instrumentation/comm[%d]/ /instrumentation/dme/ /instrumentation/efis/ /instrumentation/encoder/ /instrumentation/flightdirector/ /instrumentation/gps/ /instrumentation/gps-annunciator/ /instrumentation/heading-indicator/ /instrumentation/heading-indicator-fg/ /instrumentation/magnetic-compass/ /instrumentation/marker-beacon/ /instrumentation/nav[%d]/ /instrumentation/radar/ /instrumentation/slip-skid-ball/ /instrumentation/tacan[%d]/ /instrumentation/transponder/ /instrumentation/turn-indicator/ /instrumentation/vertical-speed-indicator/ /instrumentation/wxradar/
Instrumentation ADF
/instrumentation/adf[%d]/adf-btn /instrumentation/adf[%d]/bro-btn /instrumentation/adf[%d]/display-mode /instrumentation/adf[%d]/enroute-timer/running /instrumentation/adf[%d]/enroute-timer/start-time /instrumentation/adf[%d]/enroute-timer/time /instrumentation/adf[%d]/error-deg /instrumentation/adf[%d]/flight-timer/running /instrumentation/adf[%d]/flight-timer/start-time /instrumentation/adf[%d]/flight-timer/time /instrumentation/adf[%d]/flt-btn /instrumentation/adf[%d]/frequencies/dial-1-khz /instrumentation/adf[%d]/frequencies/dial-100-khz /instrumentation/adf[%d]/frequencies/selected-khz /instrumentation/adf[%d]/frequencies/standby-khz /instrumentation/adf[%d]/frq-btn /instrumentation/adf[%d]/ident /instrumentation/adf[[%d]/ident-audible /instrumentation/adf[%d]/in-range /instrumentation/adf[%d]/indicated-bearing-deg /instrumentation/adf[%d]/mode /instrumentation/adf[%d]/model /instrumentation/adf[%d]/operable /instrumentation/adf[%d]/power-btn /instrumentation/adf[%d]/right-display /instrumentation/adf[%d]/rotation-deg /instrumentation/adf[%d]/serviceable /instrumentation/adf[%d]/set-btn /instrumentation/adf[%d]/volume /instrumentation/adf[%d]/volume-norm
Instrumentation comm radio
See Aircraft_properties_reference/Instrumentation/COMM
Instrumentation NAV radio
/instrumentation/nav[%d]/audio-btn /instrumentation/nav[%d]/back-course-btn /instrumentation/nav[%d]/cdi/serviceable /instrumentation/nav[%d]/crosstrack-error-m /instrumentation/nav[%d]/crosstrack-heading-error-deg /instrumentation/nav[%d]/data-is-valid /instrumentation/nav[%d]/dme-in-range /instrumentation/nav[%d]/filtered-cdiNAV0-deflection /instrumentation/nav[%d]/filtered-gsNAV0-deflection /instrumentation/nav[%d]/frequencies/dial-khz /instrumentation/nav[%d]/frequencies/dial-mhz /instrumentation/nav[%d]/frequencies/is-localizer-frequency /instrumentation/nav[%d]/frequencies/selected-mhz /instrumentation/nav[%d]/frequencies/selected-mhz-fmt /instrumentation/nav[%d]/frequencies/standby-mhz /instrumentation/nav[%d]/frequencies/standby-mhz-fmt /instrumentation/nav[%d]/from-flag /instrumentation/nav[%d]/frq-swap-btn /instrumentation/nav[%d]/gs/serviceable /instrumentation/nav[%d]/gs-direct-deg /instrumentation/nav[%d]/gs-distance /instrumentation/nav[%d]/gs-in-range /instrumentation/nav[%d]/gs-needle-deflection /instrumentation/nav[%d]/gs-needle-deflection-deg /instrumentation/nav[%d]/gs-needle-deflection-norm /instrumentation/nav[%d]/gs-rate-of-climb /instrumentation/nav[%d]/gs-rate-of-climb-fpm /instrumentation/nav[%d]/has-gs /instrumentation/nav[%d]/heading-deg /instrumentation/nav[%d]/heading-needle-deflection /instrumentation/nav[%d]/heading-needle-deflection-norm /instrumentation/nav[%d]/ident /instrumentation/nav[%d]/ident-audible /instrumentation/nav[%d]/in-range /instrumentation/nav[%d]/nav-distance /instrumentation/nav[%d]/nav-id /instrumentation/nav[%d]/nav-id_asc1 /instrumentation/nav[%d]/nav-id_asc2 /instrumentation/nav[%d]/nav-id_asc3 /instrumentation/nav[%d]/nav-id_asc4 /instrumentation/nav[%d]/nav-loc /instrumentation/nav[%d]/operable /instrumentation/nav[%d]/power-btn /instrumentation/nav[%d]/radials/actual-deg /instrumentation/nav[%d]/radials/reciprocal-radial-deg /instrumentation/nav[%d]/radials/selected-deg /instrumentation/nav[%d]/radials/target-auto-hdg-deg /instrumentation/nav[%d]/radials/arget-radial-deg /instrumentation/nav[%d]/serviceable /instrumentation/nav[%d]/signal-quality-norm /instrumentation/nav[%d]/slaved-to-gps /instrumentation/nav[%d]/time-to-intercept-sec /instrumentation/nav[%d]/to-flag /instrumentation/nav[%d]/to-from/serviceable /instrumentation/nav[%d]/volume
Instrumentation Tacan
/instrumentation/tacan[%d]/display/channel /instrumentation/tacan[%d]/display/x-shift /instrumentation/tacan[%d]/display/y-shift /instrumentation/tacan[%d]/frequencies/selected-channel /instrumentation/tacan[%d]/frequencies/selected-channel[1] /instrumentation/tacan[%d]/frequencies/selected-channel[2] /instrumentation/tacan[%d]/frequencies/selected-channel[3] /instrumentation/tacan[%d]/frequencies/selected-channel[4] /instrumentation/tacan[%d]/frequencies/selected-mhz /instrumentation/tacan[%d]/ident /instrumentation/tacan[%d]/in-range /instrumentation/tacan[%d]/indicated-bearing-true-deg /instrumentation/tacan[%d]/indicated-distance-nm /instrumentation/tacan[%d]/indicated-ground-speed-kt /instrumentation/tacan[%d]/indicated-time-min /instrumentation/tacan[%d]/name /instrumentation/tacan[%d]/serviceable /instrumentation/tacan[%d]/switch-position
Rotors (YASim only)
/rotors/gear/torque-sound-filtered // Unused? /rotors/gear/total-torque /rotors/{name}/balance /rotors/{name}/blade[%d]/flap-deg /rotors/{name}/blade[%d]/incidence-deg /rotors/{name}/blade[%d]/position-deg // Position relative to model /rotors/{name}/bladesvisible // Used for animations /rotors/{name}/cone%d-deg //e.g. cone-deg or cone2-deg /rotors/{name}/roll-deg /rotors/{name}/rpm /rotors/{name}/stall /rotors/{name}/stall-filtered /rotors/{name}/tilt /rotors/{name}/torque /rotors/{name}/yaw-deg
For how to animate rotors using these properties, see Howto:Animate helicopters.