Aircraft systems

From FlightGear wiki
Jump to navigation Jump to search

Almost all aircraft needs systems of different kinds. Eg. fuel electric, vacuum, hydraulic.

By default an aircraft is supplied with generic systems defined in $FG_ROOT/Aircraft/Generic/generic-systems.xml. The workings of these systems are hard-coded in c++. See the source code.

Flightgear also has standard implementations of different common aircraft instruments and avionics. These creates useful output properties, found under instrumentation in the property tree. These properties can be used either by directly adding the generic instruments available in Aircraft/Instruments-3d or as input to your own instruments. Many of the standard instrument implementations depend on system properties to work. A list of dependencies are found here.


The hard-coded electric system implementation is considered deprecated but are still used in many aircrafts. A xml configuration file is used. The generic electrical system configuration is based on that of a small single engine aircraft. For information on configuration see $FG_ROOT/Docs/README.electrical provided in the Doc folder. As an alternative you can build a Nasal based system.

Here are two engines for Nasal-based electric systems:

Buckaroo's: A Nasal-Based Electrical System for Flightgear

AndersM's: Howto:A system engine in Nasal


No hard-coded fuel system is available. The flight dynamics model (FDM) is used for that. For JSBSim based aircrafts you can make fuel systems integrated in the FDM. See Howto:Write a fuel system in JSBSim.


No hard-coded hydraulic system is available. For JSBSim based aircrafts you can make hydraulic systems integrated in the FDM.


The hard-coded Pitot system is a simple system with two output properties, total-pressure-inhg and measured-total-pressure-inhg.


The hard-coded static pressure system is a simple system with one output property, pressure-inhg.


The hard-coded vacuum has one output propery: suction-inhg. This property is used to drive gyros needed in the standard instrument implementation. The generic implementation is based on a piston-engine and the vacuum depends on the engine's rpm:


You can set another property as source for the vacuum. If rpm times factor is greater than approx. 500 you will have fully functional gyros at all (reasonable) altitudes. Eg using an electric output to drive the gyro vacuum: