Aircraft properties reference

From FlightGear wiki
Jump to navigation Jump to search

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?

1rightarrow.png 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.

Related content

Wiki articles

Readme files

Source code

Consumables

Controls

Flight Dynamics Model

Instrumentation