Common aircraft properties
This article or section contains out-of-date information
Please help improve this article by updating it. There may be additional information on the talk page. |
Work in progress This article or section will be worked on in the upcoming hours or days. See history for the latest developments. |
WORK IN PROGRESS
TODO: standardise locations most common to existing aircraft to ease transition
With reference from: http://wiki.flightgear.org/Property_Tree/Reference
a suffix of norm means a normalised value for example a float/double of 0 to 1 to indicate full deployment or retraction of gears, as opposed to degrees.
With common aircraft properties found in uncommon locations, assigning buttons in joysticks to certain functions became mostly a hit or miss affair. For example speedbrakes and thrust reversers are found in different location in the property tree, even across official FlightGear planes! Without standard locations, joystick code tends to be aircraft specific.
There was an attempt to unify it all with a nasal script but after consultation and comments with others, this attempt was replaced with the solution to standardise common aircraft properties in standardised locations.
This document will exhaustively list property tree locations where aircraft developers should store their common aircraft properties (if not alias them).
Values in states should be used to set states and to animate cockpit internals like levers. Values in transition properties should be used to animate external objects such as animating a retracting gear.
define /sim/propertystd = 1
Gear
Properties marked with an '✲' are standard across all aircraft and should always be set. For example, an old aircraft without any autobrakes should still define /controls/gear/autobrake although set it to 0
States
/controls/gear is a backward compatible alias for /controls/gears
- In
/controls/gears
/controls/gears/brake-parking
✲0
= Off1
= On/controls/gears/brake-left
a backward compatible alias for/controls/gears/gear[1]/brake
(or the property for the left brake)/controls/gears/brake-right
a backward compatible alias for/controls/gears/gear[2]/brake
(or the property for the right brake)
/controls/gears/inputs/pilot-pedal-toe-left
a backward compatible alias for/controls/gears/brake-left
/controls/gears/inputs/pilot-pedal-toe-right
a backward compatible alias for/controls/gears/brake-right
/controls/gears/inputs/pilot-pedal-heel-left
alias for/controls/gears/inputs/pilot-pedal-heel-right
alias for/controls/gears/inputs/copilot-pedal-toe-left
a backward compatible alias for/controls/gears/brake-left
/controls/gears/inputs/copilot-pedal-toe-right
a backward compatible alias for/controls/gears/brake-right
/controls/gears/inputs/copilot-pedal-heel-left
alias for/controls/gears/inputs/copilot-pedal-heel-right
alias for
/controls/gears/outputs/pilot-pedal-toe-left
a backward compatible alias for/controls/gears/brake-left
/controls/gears/outputs/pilot-pedal-toe-right
a backward compatible alias for/controls/gears/brake-right
/controls/gears/outputs/pilot-pedal-heel-left
alias for/controls/gears/outputs/pilot-pedal-heel-right
alias for/controls/gears/outputs/copilot-pedal-toe-left
a backward compatible alias for/controls/gears/brake-left
/controls/gears/outputs/copilot-pedal-toe-right
a backward compatible alias for/controls/gears/brake-right
/controls/gears/outputs/copilot-pedal-heel-left
alias for/controls/gears/outputs/copilot-pedal-heel-right
alias for
/controls/gears/brake-chokes
✲0
= Off1
= On/controls/gears/antiskid
✲0
= Off1
= On/controls/gears/autobrake
✲0
= Fully Off1
= Fully On/controls/gears/launchbar
✲/controls/gears/servicable
✲/controls/gears/brake-servicable
/controls/gears/brake-temperature
/controls/gears/brake-hydraulic-pressure
/controls/gears/tyre-temperature
/controls/gears/tyre-pressure
/controls/gears/brake-available
✲/controls/gears/retractable
✲/controls/gears/brake
✲/controls/gears/gear-down
0
= Retracted1
= Extended
nosewheel-steering
alias for gear[0]
tailwheel-lock
alias for
wheel[n]/alternate-extension
alias for
- In
/controls/gears/gear[n]
Due to the complex nature of gear configuration, gear numbering is not enforced. However, where possible,0
=nose,1
=left,2
=right,3
=tail. And where there are multiple, independent struts, they should be grouped under the side they appear. For example front strut on the left gear atgear[1]/gear[0]
/controls/gears/gear[n]/brakes/temperature
/controls/gears/gear[n]/brakes/hydraulic-pressure
/controls/gears/gear[n]/brakes/brake-pressure
/controls/gears/gear[n]/brakes/available
/controls/gears/gear[n]/tyre/temperature
/controls/gears/gear[n]/tyre/air-pressure-norm
/controls/gears/gear[n]/tyre/air-pressure-real
water-brakes
compression-ft
compression-norm
steering-norm
tailhook
lights
lights-angle
wheel speed
water rudder <-- should this be here?
Transitions
In /gears/gear[n]
/gears/gear[n]/position-norm
0
= Fully Retracted0.x
= Transitioning1
= Fully Extended
In /controls/gears/gear[n]
brake-pressure
0
0.x
1
friction-ground
friction-ground-real
friction-bearing
friction-bearing-real
friction-side-slip
friction-side-slip-real
Speedbrakes
engine
--thrust reversers
flaps
tailhook
Radios
The following is for virtual devices. Should you use a a different radio, you should use your own structure and update these values.
For example a user will set comm[0]
frequency at /instrumentation/comm[n]/frequencies/selected-int
. Your device should monitor this value and on change, assume an input. You then do your tests and own logic and set the /instrumentation/comm[n]/output/selected-int
. The purpose of this dual step process is to account for faulty instruments. The frequency that FlightGear will then use for audio will be the output/selected-int
To ignore failures, it is ok to alias output to input. Always set values on input though and FlightGear will read from output. Only the FlightGear F12 menu may read from input.
You should therefore your own input with the default input, and likewise with the outputs
Common across all radios in /instrumentation/*/
For example /instrumentation/comm[1]/power/voltage-min
power/voltage-min
power/voltage-typical
power/voltage-max
power/current-typical
power/current-quiesecent
power/current-xmit
power/current-min
power/current-max
power/real-voltage
(current voltage it is getting)power/real-current
(current current it is getting)power/fused
power/short-after-fuse
power/short-before-fuse
operable
serviceable
(bool)
Common across all radios in /instrumentation/*/
except Transponder
audio/squelch-xmit
audio/squelch-recv
audio/volume-xmit
audio/volume-recv
Comms
In /instrumentation/comm[n]/
/instrumentation/comm[n]/frequencies/selected-int
/instrumentation/comm[n]/frequencies/standby-int
/instrumentation/comm[n]/input/swap-btn
/instrumentation/comm[n]/input/test-btn
/instrumentation/comm[n]/input/ptt-btn
/instrumentation/comm[n]/output/selected-int
/instrumentation/comm[n]/output/standby-int
/instrumentation/comm[n]/illumination
/instrumentation/comm[n]/ptt
Deprecated
frequencies/selected-mhz
frequencies/standby-mhz
volume
deprecated alias for/instrumentation/comm[n]/audio/volume-recv
Transponder
- In
/instrumentation/transponder/
altitude-valid
inputs/digit[n]
LSB Firstinputs/ident-btn
inputs/mode
inputs/altitude
outputs/mode
outputs/altitude
outputs/id-code
outputs/ident
Deprecated
id-code
ident
transmitted-id
/instrumentation/transponder/altitude
deprecated alias for/instrumentation/transponder/inputs/altitude
/instrumentation/transponder/inputs/knob-mode
deprecated alias for **/instrumentation/transponder/inputs/mode
- /instrumentation/adf
adf-btn
bfo-btn
display-mode
error-deg
enroute-timer/running
, start-time
, time
flight-timer
frequencies/selected-khz
, standby-khz
ident
= BED
ident-audible
in-range
indicated-bearing-deg
mode
operable
power-btn
fight-display
rotation-deg
serviceable
set-btn
volume-norm
- /instrumentation/nav
dme
fuel indicator
failures
Fuel
- In
/controls/fuel/
dump-valve
dump-valve-norm
(dimensionless dump value normalised to1
where1
equals thefuel-flow-litres-max
)fuel-flow-pressure-norm
(dimensionless pressure value) default1
(negative numbers and numbers beyond1
allowed)fuel-flow-resistance-norm
(dimensionless "reverse" pressure value) default0
(negative numbers and numbers beyond1
allowed)fuel-flow-norm
(dimensionless fuel flow value based on pressure minus resistance) default inherited/calculated =1
fuel-flow-litres
fuel-flow-litres-typical
//define default max burnrate at max throttle and nose divingfuel-density-kgpm3
(average)fuel-density-ppg
(average)total-fuel-norm
- In
/controls/fuel/tank[n]/boost-pump[n]/
fuel-flow-pressure-norm
(dimensionless pressure value) default1
(negative numbers and numbers beyond1
allowed)fuel-flow-resistance-norm
(dimensionless "reverse" pressure value) default0
(negative numbers and numbers beyond1
allowed)fuel-flow-norm
(dimensionless fuel flow value based on pressure minus resistance) default inherited/calculated =1
fuel-flow-litres
fuel-flow-litres-typical
//define default max burnrate at max throttle and nose divingfuel-density-kgpm3
(average)fuel-density-ppg
(average)
- In
/consumables/fuel/weight/
total-capacity-lbs
total-capacity-kg
total-lbs
total-kg
- In
/consumables/fuel/volume/
total-capacity-litres
total-capacity-gals_imp
total-capacity-gals_us
total-litres
total-gals_imp
total-gals_us
- In
/consumables/fuel/tank[n]
level-fuel-norm
- In
/consumables/fuel/tank[n]/weight/
level-capacity-lbs
level-capacity-kg
level-lbs
level-kg
- In
/consumables/fuel/tank[n]/volume/
level-capacity-gals_imp
level-capacity-gals_us
level-capacity-litres
level-gals_imp
level-gals_us
level-litres
- Deprecated values
/consumables/fuel/total-gal_imp
deprecated alias for/consumables/fuel/total-gals_imp
/consumables/fuel/total-gal_us
deprecated alias for/consumables/fuel/total-gals_imp
fuel-selector
to_engine
to_tank
Implementation with custom locations: If you require your values be stored in a custom location, be sure to alias them in the standard location: <property alias="../../params/n1"/>