<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chris+blues</id>
	<title>FlightGear wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.flightgear.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Chris+blues"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/Chris_blues"/>
	<updated>2026-04-17T14:52:58Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=119462</id>
		<title>Earthview</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=119462"/>
		<updated>2019-08-02T11:10:11Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: note-box - finally!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{See also|Flying on other planets}}&lt;br /&gt;
&lt;br /&gt;
The default FlightGear terrain rendering strategy is designed for visuals from aircraft cruise altitude. While it is [http://www.flightgear.org/tours/pushing-the-boundaries-the-x-15-story/ possible] to use it for altitudes up to some 100 km, the performance impact becomes increasingly prohibitive and the visuals are not overly compelling. In particular for orbiting spacecraft such as [[Vostok-1]] or the [[Space Shuttle]] neither rendering nor loading the standard terrain mesh is fast enough.&lt;br /&gt;
&lt;br /&gt;
Earthview is an alternative orbital rendering engine for FlightGear designed to get credible visuals in these situations. It is based on projecting a simple textured sphere representing Earth into the scene using ray optics. The quality of the terrain visuals then largely depend on the texture size used. Since there is then only a single object in the field of view, performance is generally very good provided that there is enough texture memory available.&lt;br /&gt;
&lt;br /&gt;
{{Spaceflight}}&lt;br /&gt;
=== Overview ===&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
Earthview is started from the menu as View -&amp;gt; Earthview Orbital Rendering. This brings up the configuration dialog.&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview.jpg|thumb|Earthview configuration dialog]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options checkboxes allow to select&lt;br /&gt;
&lt;br /&gt;
* whether a cloud layer should be rendered above the planet&lt;br /&gt;
* whether the cloud layer information should be used to render cloud shadows onto the terrain&lt;br /&gt;
* whether Earthview should take control of the atmosphere visuals and adjust them based on altitude&lt;br /&gt;
* whether textures should be procedurally enhanced with overlay textures to provide better apparent texture resolution&lt;br /&gt;
&lt;br /&gt;
'Start' run Earthview, 'Stop' ends the computations and removes the 3d model. Generally, using Earthview below an altitude of ~30  km / 100.000 ft is not recommended and will almost certainly not give the desired visuals.&lt;br /&gt;
&lt;br /&gt;
Sliders further down can be used to adjust details. For instance, if no cloud shadows are rendered, it is possible to rotate the cloud sphere around Earth and give different places different weather (otherwise, the cloud pattern will always be the same, i.e. if a place is obscured by clouds initially, it will always be). Using Rayleigh, Mie and Density, atmosphere visuals (if [[Atmospheric light scattering]] (ALS) is on) can be adjusted. Visibility dials the amount of fogging seen on the planet. &lt;br /&gt;
&lt;br /&gt;
Earthview runs without ALS, but does not provide any credible visuals of the Atmosphere.&lt;br /&gt;
&lt;br /&gt;
If atmosphere visuals are rendered, Earthview interacts with the weather system in that the visibility used by Earthview and by the weather system will be the same. In the case of [[A local weather system | Advanced Weather]] (AW) this is an issue because both systems try to adjust atmosphere visuals. For this reason, AW needs to be ended before Earthview is started. There is no general option to do this automatically, but an automatic transition from default FG rendering and weather to Earthview is easily coded spacecraft side and implemented for the Space Shuttle.&lt;br /&gt;
&lt;br /&gt;
All textures are taken from the [http://visibleearth.nasa.gov/ NASA Visible Earth project] - at the highest resolution level, Earth can be rendered at 32768x65536 pixel (about 500 x 500 m per pixel) and clouds with half of that. Currently there is a much lower texture resolution distributed in FGData as the highest resolution set has eight textures sheets of 172 MB each which would double the current repository size. It is however easily possible to obtain the textures from the NASA website and apply them.&lt;br /&gt;
&lt;br /&gt;
At highest texture resolution, visuals are generally very compelling:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview for low Earth orbit.jpg|450px|Low orbit]] [[File:Earthview hig altitude.jpg|450px|High orbit]]&lt;br /&gt;
&lt;br /&gt;
A dedicated set of shaders for Earth and the cloudsphere is used to create additional effects such a enhanced specular water reflections, cloud shadows and dawnlight color changes:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview cloud shadows.jpg|450px|Cloud shadows in Earthview]] [[File:Earthview specular water reflections.jpg|450px|Specular water reflections and cloud shadows in Earthview]]&lt;br /&gt;
&lt;br /&gt;
Earthview can also render Aurora Borealis seen from space.&lt;br /&gt;
&lt;br /&gt;
For comparison, this is the FG native terrain tweaked to render with 600 km visibility from 100 km altitude (bringing a gaming laptop to 10 fps in the process):&lt;br /&gt;
&lt;br /&gt;
[[File:X-15-iceland05.jpg|450px|X-15 over Iceland]] [[File:X-15-iceland03.jpg|450px|X-15 in space]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Since there is no detailed terrain mesh involved and there is essentially just a single textured sphere in the field of view, performance is generally excellent even on low end graphics cards.&lt;br /&gt;
&lt;br /&gt;
The main requirement (especially if custom hires textures are used) is available memory and GPU texture memory (this is not an issue for the default texture size). Provided there is sufficient texture memory available, loading the texture sheets is another bottleneck and FG may hang for a couple of seconds while the textures appear. &lt;br /&gt;
&lt;br /&gt;
Where this is feasible and supported by the GPU drivers, pre-compressed and mipmapped dds textures offer the fastest loading times. As such textures can not be used with many OpenSource graphics drivers, the default textures are not in dds format.&lt;br /&gt;
&lt;br /&gt;
While it is possible to use Earthview in rendering schemes other then ALS, this is neither supported nor endorsed. While they work perfectly well for the normal operations envelope of a flightsim, at high altitude the default renderer as well as [[Project Rembrandt]] do not render a realistic horizon line, plausible atmosphere visuals or the hard shadows of outer space and Earthview can not compensate for these issues.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
Getting your own hires version of textures requires a few simple steps:&lt;br /&gt;
&lt;br /&gt;
{{Note|1=You can skip the next 2 steps (&amp;quot;obtain a texture set&amp;quot; and &amp;quot;convert the texture set&amp;quot;) and download the ready-to-use files via torrent with this magnet link:&lt;br /&gt;
magnet:?xt=urn:btih:ffd18abf3bd98ee761babc09d7c901ea1ce0c78f&amp;amp;dn=EarthView%20-%20Complete&lt;br /&gt;
&lt;br /&gt;
Or you could get yourself this Bash-script to let it do the generation for you: https://github.com/chris-blues/Nasa2FGearthview}}&lt;br /&gt;
&lt;br /&gt;
* obtain a texture set&lt;br /&gt;
Go to [http://visibleearth.nasa.gov/ Visible Earth], look into the Blue Marble section and download a texture set of your choice (there's different seasons available for instance).&lt;br /&gt;
&lt;br /&gt;
NASA typically delivers the hires textures with naming conventions N1 - N4 (northern hemisphere) and S1 - S4 (southern hemisphere) and Earthview follows that convention.&lt;br /&gt;
&lt;br /&gt;
* convert the texture set&lt;br /&gt;
&lt;br /&gt;
Graphics cards prefer powers of two in texture sizes, so you probably want to resize the sheets to either 8192x8192 or 16384x16384. At the same time, you might want to save them in pre-compressed and mip-mapped dds format (this may require a gimp plugin) for better loading times. Do this on a machine with plenty of memory, as the graphics program may need a lot in intermediate stages.&lt;br /&gt;
&lt;br /&gt;
* assign the texture sheets&lt;br /&gt;
&lt;br /&gt;
Look into $FGData/Models/Astro  - this is where Earthview resides. The current texture sheets are pale_blue_aug_??.png and clouds_??.png where ?? stands for the NASA position reference. &lt;br /&gt;
&lt;br /&gt;
The simple way is to assign your texture to earth_unitscale_rawuv.ac (then they can be used 'as is'). It's easiest to open the file with the text editor, look for the lines like&lt;br /&gt;
&amp;lt;b&amp;gt;texture &amp;quot;pale_blue_aug_N1.png&amp;quot;&amp;lt;/b&amp;gt;&lt;br /&gt;
and replace them with your own N1 texture. Then open earth.xml and point to your just edited 3d model via &amp;lt;path&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/path&amp;gt;. Do the same for cloudsphere.xml (it's entirely possible to do all this in a 3d modeling application like blender, but chances are it will get rather slow and unwieldy for such huge texture sheets).&lt;br /&gt;
&lt;br /&gt;
Assigning textures as they are to the rawuv sphere creates visible seams where the texture sheets end. The solution is to add margins (like done for the texture set provided). If you edit your textures to add such margins, you don't need to use &amp;lt;b&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/b&amp;gt; and can assign your textures to &amp;lt;b&amp;gt;earth_unitscale_hires.ac&amp;lt;/b&amp;gt; (see [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=15754&amp;amp;start=135#p207629 this forum post] for the details of creating such textures)&lt;br /&gt;
&lt;br /&gt;
For comparison, a 16384x16384 texture sheet in pre-compressed and mip-mapped dds format should come to 341 MB. Unless you have a substantial amount of memory, consider using less than full resolution, since you always need 4 of these textures loaded into graphics memory, and 8 if you also switch on clouds.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Technically, Earth is rendered as a ~58 km sized sphere positioned 1/100 of the actual altitude away from the spacecraft. It's position is constantly adjusted to give the same visual size using ray optics equations, and its attitude is rotated to place you 'above' the correct latitude and longitude. For 100 km altitude, the camera is thus actually just 1000 m away from the sphere.&lt;br /&gt;
&lt;br /&gt;
Compared to almost anything else, the performance impact of re-positioning the sphere every frame is minimal.&lt;br /&gt;
&lt;br /&gt;
The reason is that graphics cards operate with floating point precision, and a sphere with the real size of Earth would create (potentially architecture dependent) massive numerical problems (the default far plane clipping distance in FG is some 120.000 m). The same is in fact true for the skydome - it's actually a half dome some 20 km away from the camera, made to appear behind everything else by rendering magic. Or, in other words, we can't simply render a 'real earth' and a 'real atmosphere' because that would potentially overtax the GPU - real time rendering is always trickery of some sort.&lt;br /&gt;
&lt;br /&gt;
The implementation has the negative consequence that you may not move the view point too far from the spacecraft (the ray optics illusion works for one object, but not for two simultaneously) - in particular flyby view or tower view will give you odd results with Earthview.&lt;br /&gt;
&lt;br /&gt;
The real terrain engine is not technically switched off, but (assuming normal visibility settings) the terrain mesh is just too far to trigger either tile loading or rendering - as you get back from orbit, the terrain will load underneath Earthview, and if you end it at a reasonable altitude (say between 80.000 and 120.000 ft) you can go right back to the native FG terrain with minimum fuss.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
Earthview in its current state isn't perfect, for instance in low light it may produce mismatches with the atmosphere shader (as it's fogging model is not precisely the same, and the numerics of the projected Earth sphere doesn't always match what the atmosphere shader computes as horizon). For that reason, its visuals are developed further, but the priority is in general low as by and large the goal to have viable spaceflight visuals is met.&lt;br /&gt;
&lt;br /&gt;
Over the years, there have been diverse proposals for alternative ways to render orbital visuals in a way that is more integrated with FG - the only viable alternative that has actually materialized so far seems to be [[Building FlightGear with osgEarth Integration]], however this lacks atmosphere visuals.&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=119461</id>
		<title>Earthview</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=119461"/>
		<updated>2019-08-02T10:59:13Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: Try to get this %?$§# note-box working... :-/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{See also|Flying on other planets}}&lt;br /&gt;
&lt;br /&gt;
The default FlightGear terrain rendering strategy is designed for visuals from aircraft cruise altitude. While it is [http://www.flightgear.org/tours/pushing-the-boundaries-the-x-15-story/ possible] to use it for altitudes up to some 100 km, the performance impact becomes increasingly prohibitive and the visuals are not overly compelling. In particular for orbiting spacecraft such as [[Vostok-1]] or the [[Space Shuttle]] neither rendering nor loading the standard terrain mesh is fast enough.&lt;br /&gt;
&lt;br /&gt;
Earthview is an alternative orbital rendering engine for FlightGear designed to get credible visuals in these situations. It is based on projecting a simple textured sphere representing Earth into the scene using ray optics. The quality of the terrain visuals then largely depend on the texture size used. Since there is then only a single object in the field of view, performance is generally very good provided that there is enough texture memory available.&lt;br /&gt;
&lt;br /&gt;
{{Spaceflight}}&lt;br /&gt;
=== Overview ===&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
Earthview is started from the menu as View -&amp;gt; Earthview Orbital Rendering. This brings up the configuration dialog.&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview.jpg|thumb|Earthview configuration dialog]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options checkboxes allow to select&lt;br /&gt;
&lt;br /&gt;
* whether a cloud layer should be rendered above the planet&lt;br /&gt;
* whether the cloud layer information should be used to render cloud shadows onto the terrain&lt;br /&gt;
* whether Earthview should take control of the atmosphere visuals and adjust them based on altitude&lt;br /&gt;
* whether textures should be procedurally enhanced with overlay textures to provide better apparent texture resolution&lt;br /&gt;
&lt;br /&gt;
'Start' run Earthview, 'Stop' ends the computations and removes the 3d model. Generally, using Earthview below an altitude of ~30  km / 100.000 ft is not recommended and will almost certainly not give the desired visuals.&lt;br /&gt;
&lt;br /&gt;
Sliders further down can be used to adjust details. For instance, if no cloud shadows are rendered, it is possible to rotate the cloud sphere around Earth and give different places different weather (otherwise, the cloud pattern will always be the same, i.e. if a place is obscured by clouds initially, it will always be). Using Rayleigh, Mie and Density, atmosphere visuals (if [[Atmospheric light scattering]] (ALS) is on) can be adjusted. Visibility dials the amount of fogging seen on the planet. &lt;br /&gt;
&lt;br /&gt;
Earthview runs without ALS, but does not provide any credible visuals of the Atmosphere.&lt;br /&gt;
&lt;br /&gt;
If atmosphere visuals are rendered, Earthview interacts with the weather system in that the visibility used by Earthview and by the weather system will be the same. In the case of [[A local weather system | Advanced Weather]] (AW) this is an issue because both systems try to adjust atmosphere visuals. For this reason, AW needs to be ended before Earthview is started. There is no general option to do this automatically, but an automatic transition from default FG rendering and weather to Earthview is easily coded spacecraft side and implemented for the Space Shuttle.&lt;br /&gt;
&lt;br /&gt;
All textures are taken from the [http://visibleearth.nasa.gov/ NASA Visible Earth project] - at the highest resolution level, Earth can be rendered at 32768x65536 pixel (about 500 x 500 m per pixel) and clouds with half of that. Currently there is a much lower texture resolution distributed in FGData as the highest resolution set has eight textures sheets of 172 MB each which would double the current repository size. It is however easily possible to obtain the textures from the NASA website and apply them.&lt;br /&gt;
&lt;br /&gt;
At highest texture resolution, visuals are generally very compelling:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview for low Earth orbit.jpg|450px|Low orbit]] [[File:Earthview hig altitude.jpg|450px|High orbit]]&lt;br /&gt;
&lt;br /&gt;
A dedicated set of shaders for Earth and the cloudsphere is used to create additional effects such a enhanced specular water reflections, cloud shadows and dawnlight color changes:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview cloud shadows.jpg|450px|Cloud shadows in Earthview]] [[File:Earthview specular water reflections.jpg|450px|Specular water reflections and cloud shadows in Earthview]]&lt;br /&gt;
&lt;br /&gt;
Earthview can also render Aurora Borealis seen from space.&lt;br /&gt;
&lt;br /&gt;
For comparison, this is the FG native terrain tweaked to render with 600 km visibility from 100 km altitude (bringing a gaming laptop to 10 fps in the process):&lt;br /&gt;
&lt;br /&gt;
[[File:X-15-iceland05.jpg|450px|X-15 over Iceland]] [[File:X-15-iceland03.jpg|450px|X-15 in space]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Since there is no detailed terrain mesh involved and there is essentially just a single textured sphere in the field of view, performance is generally excellent even on low end graphics cards.&lt;br /&gt;
&lt;br /&gt;
The main requirement (especially if custom hires textures are used) is available memory and GPU texture memory (this is not an issue for the default texture size). Provided there is sufficient texture memory available, loading the texture sheets is another bottleneck and FG may hang for a couple of seconds while the textures appear. &lt;br /&gt;
&lt;br /&gt;
Where this is feasible and supported by the GPU drivers, pre-compressed and mipmapped dds textures offer the fastest loading times. As such textures can not be used with many OpenSource graphics drivers, the default textures are not in dds format.&lt;br /&gt;
&lt;br /&gt;
While it is possible to use Earthview in rendering schemes other then ALS, this is neither supported nor endorsed. While they work perfectly well for the normal operations envelope of a flightsim, at high altitude the default renderer as well as [[Project Rembrandt]] do not render a realistic horizon line, plausible atmosphere visuals or the hard shadows of outer space and Earthview can not compensate for these issues.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
Getting your own hires version of textures requires a few simple steps:&lt;br /&gt;
&lt;br /&gt;
{{note|You can skip the next 2 steps (&amp;quot;obtain a texture set&amp;quot; and &amp;quot;convert the texture set&amp;quot;) and download the ready-to-use files via torrent with this magnet link:&lt;br /&gt;
magnet:?xt=urn:btih:ffd18abf3bd98ee761babc09d7c901ea1ce0c78f&amp;amp;dn=EarthView%20-%20Complete&lt;br /&gt;
Or you could get yourself this Bash-script to let it do the generation for you: https://github.com/chris-blues/Nasa2FGearthview&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
* obtain a texture set&lt;br /&gt;
Go to [http://visibleearth.nasa.gov/ Visible Earth], look into the Blue Marble section and download a texture set of your choice (there's different seasons available for instance).&lt;br /&gt;
&lt;br /&gt;
NASA typically delivers the hires textures with naming conventions N1 - N4 (northern hemisphere) and S1 - S4 (southern hemisphere) and Earthview follows that convention.&lt;br /&gt;
&lt;br /&gt;
* convert the texture set&lt;br /&gt;
&lt;br /&gt;
Graphics cards prefer powers of two in texture sizes, so you probably want to resize the sheets to either 8192x8192 or 16384x16384. At the same time, you might want to save them in pre-compressed and mip-mapped dds format (this may require a gimp plugin) for better loading times. Do this on a machine with plenty of memory, as the graphics program may need a lot in intermediate stages.&lt;br /&gt;
&lt;br /&gt;
* assign the texture sheets&lt;br /&gt;
&lt;br /&gt;
Look into $FGData/Models/Astro  - this is where Earthview resides. The current texture sheets are pale_blue_aug_??.png and clouds_??.png where ?? stands for the NASA position reference. &lt;br /&gt;
&lt;br /&gt;
The simple way is to assign your texture to earth_unitscale_rawuv.ac (then they can be used 'as is'). It's easiest to open the file with the text editor, look for the lines like&lt;br /&gt;
&amp;lt;b&amp;gt;texture &amp;quot;pale_blue_aug_N1.png&amp;quot;&amp;lt;/b&amp;gt;&lt;br /&gt;
and replace them with your own N1 texture. Then open earth.xml and point to your just edited 3d model via &amp;lt;path&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/path&amp;gt;. Do the same for cloudsphere.xml (it's entirely possible to do all this in a 3d modeling application like blender, but chances are it will get rather slow and unwieldy for such huge texture sheets).&lt;br /&gt;
&lt;br /&gt;
Assigning textures as they are to the rawuv sphere creates visible seams where the texture sheets end. The solution is to add margins (like done for the texture set provided). If you edit your textures to add such margins, you don't need to use &amp;lt;b&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/b&amp;gt; and can assign your textures to &amp;lt;b&amp;gt;earth_unitscale_hires.ac&amp;lt;/b&amp;gt; (see [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=15754&amp;amp;start=135#p207629 this forum post] for the details of creating such textures)&lt;br /&gt;
&lt;br /&gt;
For comparison, a 16384x16384 texture sheet in pre-compressed and mip-mapped dds format should come to 341 MB. Unless you have a substantial amount of memory, consider using less than full resolution, since you always need 4 of these textures loaded into graphics memory, and 8 if you also switch on clouds.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Technically, Earth is rendered as a ~58 km sized sphere positioned 1/100 of the actual altitude away from the spacecraft. It's position is constantly adjusted to give the same visual size using ray optics equations, and its attitude is rotated to place you 'above' the correct latitude and longitude. For 100 km altitude, the camera is thus actually just 1000 m away from the sphere.&lt;br /&gt;
&lt;br /&gt;
Compared to almost anything else, the performance impact of re-positioning the sphere every frame is minimal.&lt;br /&gt;
&lt;br /&gt;
The reason is that graphics cards operate with floating point precision, and a sphere with the real size of Earth would create (potentially architecture dependent) massive numerical problems (the default far plane clipping distance in FG is some 120.000 m). The same is in fact true for the skydome - it's actually a half dome some 20 km away from the camera, made to appear behind everything else by rendering magic. Or, in other words, we can't simply render a 'real earth' and a 'real atmosphere' because that would potentially overtax the GPU - real time rendering is always trickery of some sort.&lt;br /&gt;
&lt;br /&gt;
The implementation has the negative consequence that you may not move the view point too far from the spacecraft (the ray optics illusion works for one object, but not for two simultaneously) - in particular flyby view or tower view will give you odd results with Earthview.&lt;br /&gt;
&lt;br /&gt;
The real terrain engine is not technically switched off, but (assuming normal visibility settings) the terrain mesh is just too far to trigger either tile loading or rendering - as you get back from orbit, the terrain will load underneath Earthview, and if you end it at a reasonable altitude (say between 80.000 and 120.000 ft) you can go right back to the native FG terrain with minimum fuss.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
Earthview in its current state isn't perfect, for instance in low light it may produce mismatches with the atmosphere shader (as it's fogging model is not precisely the same, and the numerics of the projected Earth sphere doesn't always match what the atmosphere shader computes as horizon). For that reason, its visuals are developed further, but the priority is in general low as by and large the goal to have viable spaceflight visuals is met.&lt;br /&gt;
&lt;br /&gt;
Over the years, there have been diverse proposals for alternative ways to render orbital visuals in a way that is more integrated with FG - the only viable alternative that has actually materialized so far seems to be [[Building FlightGear with osgEarth Integration]], however this lacks atmosphere visuals.&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=119460</id>
		<title>Earthview</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=119460"/>
		<updated>2019-08-02T10:57:05Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: Remove links to musicchris.de and add torrent/magnet link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{See also|Flying on other planets}}&lt;br /&gt;
&lt;br /&gt;
The default FlightGear terrain rendering strategy is designed for visuals from aircraft cruise altitude. While it is [http://www.flightgear.org/tours/pushing-the-boundaries-the-x-15-story/ possible] to use it for altitudes up to some 100 km, the performance impact becomes increasingly prohibitive and the visuals are not overly compelling. In particular for orbiting spacecraft such as [[Vostok-1]] or the [[Space Shuttle]] neither rendering nor loading the standard terrain mesh is fast enough.&lt;br /&gt;
&lt;br /&gt;
Earthview is an alternative orbital rendering engine for FlightGear designed to get credible visuals in these situations. It is based on projecting a simple textured sphere representing Earth into the scene using ray optics. The quality of the terrain visuals then largely depend on the texture size used. Since there is then only a single object in the field of view, performance is generally very good provided that there is enough texture memory available.&lt;br /&gt;
&lt;br /&gt;
{{Spaceflight}}&lt;br /&gt;
=== Overview ===&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
Earthview is started from the menu as View -&amp;gt; Earthview Orbital Rendering. This brings up the configuration dialog.&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview.jpg|thumb|Earthview configuration dialog]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options checkboxes allow to select&lt;br /&gt;
&lt;br /&gt;
* whether a cloud layer should be rendered above the planet&lt;br /&gt;
* whether the cloud layer information should be used to render cloud shadows onto the terrain&lt;br /&gt;
* whether Earthview should take control of the atmosphere visuals and adjust them based on altitude&lt;br /&gt;
* whether textures should be procedurally enhanced with overlay textures to provide better apparent texture resolution&lt;br /&gt;
&lt;br /&gt;
'Start' run Earthview, 'Stop' ends the computations and removes the 3d model. Generally, using Earthview below an altitude of ~30  km / 100.000 ft is not recommended and will almost certainly not give the desired visuals.&lt;br /&gt;
&lt;br /&gt;
Sliders further down can be used to adjust details. For instance, if no cloud shadows are rendered, it is possible to rotate the cloud sphere around Earth and give different places different weather (otherwise, the cloud pattern will always be the same, i.e. if a place is obscured by clouds initially, it will always be). Using Rayleigh, Mie and Density, atmosphere visuals (if [[Atmospheric light scattering]] (ALS) is on) can be adjusted. Visibility dials the amount of fogging seen on the planet. &lt;br /&gt;
&lt;br /&gt;
Earthview runs without ALS, but does not provide any credible visuals of the Atmosphere.&lt;br /&gt;
&lt;br /&gt;
If atmosphere visuals are rendered, Earthview interacts with the weather system in that the visibility used by Earthview and by the weather system will be the same. In the case of [[A local weather system | Advanced Weather]] (AW) this is an issue because both systems try to adjust atmosphere visuals. For this reason, AW needs to be ended before Earthview is started. There is no general option to do this automatically, but an automatic transition from default FG rendering and weather to Earthview is easily coded spacecraft side and implemented for the Space Shuttle.&lt;br /&gt;
&lt;br /&gt;
All textures are taken from the [http://visibleearth.nasa.gov/ NASA Visible Earth project] - at the highest resolution level, Earth can be rendered at 32768x65536 pixel (about 500 x 500 m per pixel) and clouds with half of that. Currently there is a much lower texture resolution distributed in FGData as the highest resolution set has eight textures sheets of 172 MB each which would double the current repository size. It is however easily possible to obtain the textures from the NASA website and apply them.&lt;br /&gt;
&lt;br /&gt;
At highest texture resolution, visuals are generally very compelling:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview for low Earth orbit.jpg|450px|Low orbit]] [[File:Earthview hig altitude.jpg|450px|High orbit]]&lt;br /&gt;
&lt;br /&gt;
A dedicated set of shaders for Earth and the cloudsphere is used to create additional effects such a enhanced specular water reflections, cloud shadows and dawnlight color changes:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview cloud shadows.jpg|450px|Cloud shadows in Earthview]] [[File:Earthview specular water reflections.jpg|450px|Specular water reflections and cloud shadows in Earthview]]&lt;br /&gt;
&lt;br /&gt;
Earthview can also render Aurora Borealis seen from space.&lt;br /&gt;
&lt;br /&gt;
For comparison, this is the FG native terrain tweaked to render with 600 km visibility from 100 km altitude (bringing a gaming laptop to 10 fps in the process):&lt;br /&gt;
&lt;br /&gt;
[[File:X-15-iceland05.jpg|450px|X-15 over Iceland]] [[File:X-15-iceland03.jpg|450px|X-15 in space]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Since there is no detailed terrain mesh involved and there is essentially just a single textured sphere in the field of view, performance is generally excellent even on low end graphics cards.&lt;br /&gt;
&lt;br /&gt;
The main requirement (especially if custom hires textures are used) is available memory and GPU texture memory (this is not an issue for the default texture size). Provided there is sufficient texture memory available, loading the texture sheets is another bottleneck and FG may hang for a couple of seconds while the textures appear. &lt;br /&gt;
&lt;br /&gt;
Where this is feasible and supported by the GPU drivers, pre-compressed and mipmapped dds textures offer the fastest loading times. As such textures can not be used with many OpenSource graphics drivers, the default textures are not in dds format.&lt;br /&gt;
&lt;br /&gt;
While it is possible to use Earthview in rendering schemes other then ALS, this is neither supported nor endorsed. While they work perfectly well for the normal operations envelope of a flightsim, at high altitude the default renderer as well as [[Project Rembrandt]] do not render a realistic horizon line, plausible atmosphere visuals or the hard shadows of outer space and Earthview can not compensate for these issues.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
Getting your own hires version of textures requires a few simple steps:&lt;br /&gt;
&lt;br /&gt;
{{note|You can skip the next 2 steps (&amp;quot;obtain a texture set&amp;quot; and &amp;quot;convert the texture set&amp;quot;) and download the ready-to-use files via torrent with this magnet link:&lt;br /&gt;
magnet:?xt=urn:btih:ffd18abf3bd98ee761babc09d7c901ea1ce0c78f&amp;amp;dn=EarthView%20-%20Complete&lt;br /&gt;
Or you could get yourself this Bash-script to let it do the generation for you: https://github.com/chris-blues/Nasa2FGearthview}}&lt;br /&gt;
&lt;br /&gt;
* obtain a texture set&lt;br /&gt;
Go to [http://visibleearth.nasa.gov/ Visible Earth], look into the Blue Marble section and download a texture set of your choice (there's different seasons available for instance).&lt;br /&gt;
&lt;br /&gt;
NASA typically delivers the hires textures with naming conventions N1 - N4 (northern hemisphere) and S1 - S4 (southern hemisphere) and Earthview follows that convention.&lt;br /&gt;
&lt;br /&gt;
* convert the texture set&lt;br /&gt;
&lt;br /&gt;
Graphics cards prefer powers of two in texture sizes, so you probably want to resize the sheets to either 8192x8192 or 16384x16384. At the same time, you might want to save them in pre-compressed and mip-mapped dds format (this may require a gimp plugin) for better loading times. Do this on a machine with plenty of memory, as the graphics program may need a lot in intermediate stages.&lt;br /&gt;
&lt;br /&gt;
* assign the texture sheets&lt;br /&gt;
&lt;br /&gt;
Look into $FGData/Models/Astro  - this is where Earthview resides. The current texture sheets are pale_blue_aug_??.png and clouds_??.png where ?? stands for the NASA position reference. &lt;br /&gt;
&lt;br /&gt;
The simple way is to assign your texture to earth_unitscale_rawuv.ac (then they can be used 'as is'). It's easiest to open the file with the text editor, look for the lines like&lt;br /&gt;
&amp;lt;b&amp;gt;texture &amp;quot;pale_blue_aug_N1.png&amp;quot;&amp;lt;/b&amp;gt;&lt;br /&gt;
and replace them with your own N1 texture. Then open earth.xml and point to your just edited 3d model via &amp;lt;path&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/path&amp;gt;. Do the same for cloudsphere.xml (it's entirely possible to do all this in a 3d modeling application like blender, but chances are it will get rather slow and unwieldy for such huge texture sheets).&lt;br /&gt;
&lt;br /&gt;
Assigning textures as they are to the rawuv sphere creates visible seams where the texture sheets end. The solution is to add margins (like done for the texture set provided). If you edit your textures to add such margins, you don't need to use &amp;lt;b&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/b&amp;gt; and can assign your textures to &amp;lt;b&amp;gt;earth_unitscale_hires.ac&amp;lt;/b&amp;gt; (see [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=15754&amp;amp;start=135#p207629 this forum post] for the details of creating such textures)&lt;br /&gt;
&lt;br /&gt;
For comparison, a 16384x16384 texture sheet in pre-compressed and mip-mapped dds format should come to 341 MB. Unless you have a substantial amount of memory, consider using less than full resolution, since you always need 4 of these textures loaded into graphics memory, and 8 if you also switch on clouds.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Technically, Earth is rendered as a ~58 km sized sphere positioned 1/100 of the actual altitude away from the spacecraft. It's position is constantly adjusted to give the same visual size using ray optics equations, and its attitude is rotated to place you 'above' the correct latitude and longitude. For 100 km altitude, the camera is thus actually just 1000 m away from the sphere.&lt;br /&gt;
&lt;br /&gt;
Compared to almost anything else, the performance impact of re-positioning the sphere every frame is minimal.&lt;br /&gt;
&lt;br /&gt;
The reason is that graphics cards operate with floating point precision, and a sphere with the real size of Earth would create (potentially architecture dependent) massive numerical problems (the default far plane clipping distance in FG is some 120.000 m). The same is in fact true for the skydome - it's actually a half dome some 20 km away from the camera, made to appear behind everything else by rendering magic. Or, in other words, we can't simply render a 'real earth' and a 'real atmosphere' because that would potentially overtax the GPU - real time rendering is always trickery of some sort.&lt;br /&gt;
&lt;br /&gt;
The implementation has the negative consequence that you may not move the view point too far from the spacecraft (the ray optics illusion works for one object, but not for two simultaneously) - in particular flyby view or tower view will give you odd results with Earthview.&lt;br /&gt;
&lt;br /&gt;
The real terrain engine is not technically switched off, but (assuming normal visibility settings) the terrain mesh is just too far to trigger either tile loading or rendering - as you get back from orbit, the terrain will load underneath Earthview, and if you end it at a reasonable altitude (say between 80.000 and 120.000 ft) you can go right back to the native FG terrain with minimum fuss.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
Earthview in its current state isn't perfect, for instance in low light it may produce mismatches with the atmosphere shader (as it's fogging model is not precisely the same, and the numerics of the projected Earth sphere doesn't always match what the atmosphere shader computes as horizon). For that reason, its visuals are developed further, but the priority is in general low as by and large the goal to have viable spaceflight visuals is met.&lt;br /&gt;
&lt;br /&gt;
Over the years, there have been diverse proposals for alternative ways to render orbital visuals in a way that is more integrated with FG - the only viable alternative that has actually materialized so far seems to be [[Building FlightGear with osgEarth Integration]], however this lacks atmosphere visuals.&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=108718</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=108718"/>
		<updated>2017-07-04T08:15:41Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists and tutorials&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
$ {{fgaddon co|Citation|post=Citation}}&lt;br /&gt;
$ svn up&lt;br /&gt;
|  lang=&amp;quot;bash&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
==== will be released with 2017.2 ====&lt;br /&gt;
* Tutorials have been added.&lt;br /&gt;
* A new menu item is in place. The '''Citation II config''' dialog is available under menu -&amp;amp;gt; Citation II -&amp;amp;gt; Citation II config. It contains options for saving through sessions, some display options and several shortcuts for easy access to tutorials, help and more.&lt;br /&gt;
* New support for [[State_Overlay_System|state overlays]]. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * '''parking'''  ( cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
  * '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
  * '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
  * '''approach''' ( !experimental! use with:&lt;br /&gt;
    ''--glideslope=degrees''       ( usually 3 ) '''or'''&lt;br /&gt;
    ''--altitude=ft-above-msl''    ( alt above sea level ) '''or'''&lt;br /&gt;
    ''--offset-distance=nm''       ( 10 seems like a good start )&lt;br /&gt;
    Never use all 3 options at once! Only 2 of them. Triangle calculation - remember?&lt;br /&gt;
    ''--in-air''                   ( well, just do it... )&lt;br /&gt;
    if you want, you can add options like this:&lt;br /&gt;
    ''--nav1=rad:freq''            ( Going into [https://skyvector.com/airport/LPAZ/Santa-Maria-Airport LPAZ] 18 enter --nav1=179:110.300 meaning NAV1 is set to 110.300 MHz with a radial of 179°, which is the G/S of LPAZ-18 )&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107966</id>
		<title>FlightGear Newsletter April 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107966"/>
		<updated>2017-05-29T12:25:31Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[FlightGear Newsletter March 2017]].}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|April 2017}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;small&amp;gt;[[#MapGear is out!|MapGear is out!]]&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Updates to the Citation II|Updates to the Citation II]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Updates to the ERCO Ercoupe|Updates to the ERCO Ercoupe]]&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Updates to the Citation II ===&lt;br /&gt;
During March 2017 the [[Cessna_550_Citation_II|Citation II]] has received a number of updates:&lt;br /&gt;
==== Citation II config dialog ====&lt;br /&gt;
One of the more prominent ones is the new Citation config dialog. It allows for settings, such as, what group of items you want to be stored throughout sessions. Also, for convenience, it provides some shortcuts to most used dialogs and a button to reset all circuit-breakers at once.&lt;br /&gt;
&lt;br /&gt;
Check it out in sim via &amp;lt;code&amp;gt;menu -&amp;gt; Citation II -&amp;gt; Citation II config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== tutorials ====&lt;br /&gt;
Also 2 [[Tutorials|tutorials]] have been added in the [[Boeing_707-420|707]] style - with markers, view zoom and explicit messages. See the Citation II config dialog or &amp;lt;code&amp;gt;menu -&amp;gt; help -&amp;gt; tutorials&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== state overlays ====&lt;br /&gt;
It is now possible to start the Citation II in some assorted [[State_Overlay_System|states]]. You could start FG on a parking space and add &amp;lt;code&amp;gt;--state=parking&amp;lt;/code&amp;gt; to startup the Citation cold and dark. This would be a good place to start the startup tutorial from the config dialog.&lt;br /&gt;
&lt;br /&gt;
Or you could start on the runway and add &amp;lt;code&amp;gt;--state=take-off&amp;lt;/code&amp;gt; to your launcher. All you need to do is throttle up and go! Or take the tutorial &amp;quot;take-off&amp;quot; from the config dialog, which will guide you savely to cruise altitude, according to official checklists.&lt;br /&gt;
&lt;br /&gt;
All possible states are:&lt;br /&gt;
* '''parking'''  ( cold and dark, all systems off) (same as without --state=$state )&lt;br /&gt;
* '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
* '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
* '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
* '''approach''' ( !experimental! )&lt;br /&gt;
For details see: [[Cessna_550_Citation_II#will_be_released_with_2017.2|Citation II]]&lt;br /&gt;
&lt;br /&gt;
==== new splash screen system ====&lt;br /&gt;
James has added a new splash screen scheme, as well as a new preview feature for the [[FlightGear_Qt_launcher|QT launcher]]. The Citation II now complies with that scheme and provides a new logo and some brand-new splash screens.&lt;br /&gt;
&lt;br /&gt;
=== Updates to the ERCO Ercoupe ===&lt;br /&gt;
[[File:Ercoupe-cockpit.jpg|thumb|right|The improved ERCO Ercoupe cockpit]]&lt;br /&gt;
After the discussion in the mailing list about possibly adding the [[Ercoupe 415-C|Ercoupe]] as a second default aircraft for the novice users the Ercoupe has had a considerable upgrade:&lt;br /&gt;
* The FDM has been improved&lt;br /&gt;
* Reflection effects are added to the fuselage&lt;br /&gt;
* Reflection and shadow effects are added to the cockpit&lt;br /&gt;
* Cockpit panel and instruments have been improved&lt;br /&gt;
* Textures have been improved&lt;br /&gt;
* A number of new liveries were added&lt;br /&gt;
* Functional navigation lights were added&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:zh.gif]]&lt;br /&gt;
| FlightGear 百科仍然需要志愿者将其翻译为各种语言。如果你有兴趣让FlightGear百科支持更多语言, 你可以查看 [[Help:Translate]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
FlightGear's Screenshot of the Month April 2016 is ''Early Morning Coffee'' by {{usr|Icecode|Icecode GL}}&lt;br /&gt;
[[File:777 over Malaga.jpg|900px|center|Early Morning Coffee]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to participate in the screenshot contest of May 2017, you can submit your candidate to [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32163 this] forum topic. Be sure to see the [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32163#p310086 first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of May 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear Newsletter|2017 04]]&lt;br /&gt;
[[Category:Changes after 2017.1]]&lt;br /&gt;
&lt;br /&gt;
[[De:FlightGear Newsletter April 2017]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107909</id>
		<title>FlightGear Newsletter April 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107909"/>
		<updated>2017-05-22T14:40:49Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: remove mapgear from index also&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[FlightGear Newsletter March 2017]].}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|April 2017}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!-- &amp;lt;small&amp;gt;[[#MapGear is out!|MapGear is out!]]&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt; --&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Updates to the Citation II|Updates to the Citation II]]&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Updates to the ERCO Ercoupe|Updates to the ERCO Ercoupe]]&amp;lt;/small&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Updates to the Citation II ===&lt;br /&gt;
During March 2017 the [[Cessna_550_Citation_II|Citation II]] has received a number of updates:&lt;br /&gt;
==== Citation II config dialog ====&lt;br /&gt;
One of the more prominent ones is the new Citation config dialog. It allows for settings, such as, what group of items you want to be stored throughout sessions. Also, for convenience, it provides some shortcuts to most used dialogs and a button to reset all circuit-breakers at once.&lt;br /&gt;
&lt;br /&gt;
Check it out in sim via &amp;lt;code&amp;gt;menu -&amp;gt; Citation II -&amp;gt; Citation II config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== tutorials ====&lt;br /&gt;
Also 2 [[Tutorials|tutorials]] have been added in the [[Boeing_707-420|707]] style - with markers, view zoom and explicit messages. See the Citation II config dialog or menu -&amp;gt; help -&amp;gt; tutorials.&lt;br /&gt;
&lt;br /&gt;
==== state overlays ====&lt;br /&gt;
It is now possible to start the Citation II in some assorted [[State_Overlay_System|states]]. You could start FG on a parking space and add &amp;lt;code&amp;gt;--state=parking&amp;lt;/code&amp;gt; to startup the Citation cold and dark. This would be a good place to start the startup tutorial from the config dialog.&lt;br /&gt;
&lt;br /&gt;
Or you could start on the runway and add &amp;lt;code&amp;gt;--state=take-off&amp;lt;/code&amp;gt; to your launcher. All you need to do is throttle up and go! Or take the tutorial &amp;quot;take-off&amp;quot; from the config dialog, which will guide you savely to cruise altitude, according to official checklists.&lt;br /&gt;
&lt;br /&gt;
All possible states are:&lt;br /&gt;
* '''parking'''  ( cold and dark, all systems off) (same as without --state=$state )&lt;br /&gt;
* '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
* '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
* '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
* '''approach''' ( !experimental! )&lt;br /&gt;
For details see: [[Cessna_550_Citation_II#will_be_released_with_2017.2|Citation II]]&lt;br /&gt;
&lt;br /&gt;
==== new splash screen system ====&lt;br /&gt;
James has added a new splash screen scheme, as well as a new preview feature for the [[FlightGear_Qt_launcher|QT launcher]]. The Citation II now complies with that scheme and provides a new logo and some brand-new splash screens.&lt;br /&gt;
&lt;br /&gt;
=== Updates to the ERCO Ercoupe ===&lt;br /&gt;
[[File:Ercoupe-cockpit.jpg|thumb|right|The improved ERCO Ercoupe cockpit]]&lt;br /&gt;
After the discussion in the mailing list about possibly adding the [[Ercoupe 415-C|Ercoupe]] as a second default aircraft for the novice users the Ercoupe has had a considerable upgrade:&lt;br /&gt;
* The FDM has been improved&lt;br /&gt;
* Reflection effects are added to the fuselage&lt;br /&gt;
* Reflection and shadow effects are added to the cockpit&lt;br /&gt;
* Cockpit panel and instruments have been improved&lt;br /&gt;
* Textures have been improved&lt;br /&gt;
* A number of new liveries were added&lt;br /&gt;
* Functional navigation lights were added&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:zh.gif]]&lt;br /&gt;
| FlightGear 百科仍然需要志愿者将其翻译为各种语言。如果你有兴趣让FlightGear百科支持更多语言, 你可以查看 [[Help:Translate]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
FlightGear's Screenshot of the Month May 2016 is ''Early Morning Coffee'' by {{usr|Icecode|Icecode GL}}&lt;br /&gt;
[[File:777 over Malaga.jpg|900px|center|Early Morning Coffee]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to participate in the screenshot contest of May 2017, you can submit your candidate to [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32163 this] forum topic. Be sure to see the [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32163#p310086 first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of May 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear Newsletter|2017 04]]&lt;br /&gt;
[[Category:Changes after 2017.1]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107886</id>
		<title>FlightGear Newsletter April 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107886"/>
		<updated>2017-05-22T06:37:37Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: add mapgear is out to index, and change bold heading font to actual heading&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[FlightGear Newsletter March 2017]].}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|April 2017}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#MapGear is out!|MapGear is out!]]&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Updates to the Citation II|Updates to the Citation II]]&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Updates to the ERCO Ercoupe|Updates to the ERCO Ercoupe]]&amp;lt;/small&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&lt;br /&gt;
===MapGear is out!===&lt;br /&gt;
&lt;br /&gt;
MapGear.py is a mapping tool for FlightGear that saves the flight path as an animated .GIF.&lt;br /&gt;
&lt;br /&gt;
The aim is to create a nice map projection/animation for any log file submitted. For this to happen a &lt;br /&gt;
good degree of numerical tunning is required so the more feedback the project has from users the better.&lt;br /&gt;
Feedback would be greatly appreciated! &lt;br /&gt;
&lt;br /&gt;
So far, the program seems to be stable enough so it is worth of publishing here in the FlightGear Newsletter.&lt;br /&gt;
&lt;br /&gt;
It consists of a small python script and a few Geo information data files taken from NaturalEarth. &lt;br /&gt;
&lt;br /&gt;
Stay tuned via the announcement page:&lt;br /&gt;
https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=31741&lt;br /&gt;
&lt;br /&gt;
Screenshot:&lt;br /&gt;
[img]http://i.imgur.com/cUuza9l.gif[/img]&lt;br /&gt;
&lt;br /&gt;
Licensed under the GPLv2+&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Updates to the Citation II ===&lt;br /&gt;
During March 2017 the [[Cessna_550_Citation_II|Citation II]] has received a number of updates:&lt;br /&gt;
==== Citation II config dialog ====&lt;br /&gt;
One of the more prominent ones is the new Citation config dialog. It allows for settings, such as, what group of items you want to be stored throughout sessions. Also, for convenience, it provides some shortcuts to most used dialogs and a button to reset all circuit-breakers at once.&lt;br /&gt;
&lt;br /&gt;
Check it out in sim via &amp;lt;code&amp;gt;menu -&amp;gt; Citation II -&amp;gt; Citation II config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== tutorials ====&lt;br /&gt;
Also 2 [[Tutorials|tutorials]] have been added in the [[Boeing_707-420|707]] style - with markers, view zoom and explicit messages. See the Citation II config dialog or menu -&amp;gt; help -&amp;gt; tutorials.&lt;br /&gt;
&lt;br /&gt;
==== state overlays ====&lt;br /&gt;
It is now possible to start the Citation II in some assorted [[State_Overlay_System|states]]. You could start FG on a parking space and add &amp;lt;code&amp;gt;--state=parking&amp;lt;/code&amp;gt; to startup the Citation cold and dark. This would be a good place to start the startup tutorial from the config dialog.&lt;br /&gt;
&lt;br /&gt;
Or you could start on the runway and add &amp;lt;code&amp;gt;--state=take-off&amp;lt;/code&amp;gt; to your launcher. All you need to do is throttle up and go! Or take the tutorial &amp;quot;take-off&amp;quot; from the config dialog, which will guide you savely to cruise altitude, according to official checklists.&lt;br /&gt;
&lt;br /&gt;
All possible states are:&lt;br /&gt;
* '''parking'''  ( cold and dark, all systems off) (same as without --state=$state )&lt;br /&gt;
* '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
* '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
* '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
* '''approach''' ( !experimental! )&lt;br /&gt;
For details see: [[Cessna_550_Citation_II#will_be_released_with_2017.2|Citation II]]&lt;br /&gt;
&lt;br /&gt;
==== new splash screen system ====&lt;br /&gt;
James has added a new splash screen scheme, as well as a new preview feature for the [[FlightGear_Qt_launcher|QT launcher]]. The Citation II now complies with that scheme and provides a new logo and some brand-new splash screens.&lt;br /&gt;
&lt;br /&gt;
=== Updates to the ERCO Ercoupe ===&lt;br /&gt;
[[File:Ercoupe-cockpit.jpg|thumb|right|The improved ERCO Ercoupe cockpit]]&lt;br /&gt;
After the discussion in the mailing list about possibly adding the Ercoupe as a second default aircraft for the novice users the Ercoupe has had a considerable upgrade:&lt;br /&gt;
* The FDM has been improved&lt;br /&gt;
* Reflection effects are added to the fuselage&lt;br /&gt;
* Reflection and shadow effects are added to the cockpit&lt;br /&gt;
* Cockpit panel and instruments have been improved&lt;br /&gt;
* Textures have been improved&lt;br /&gt;
* A number of new liveries were added&lt;br /&gt;
* Functional navigation lights were added&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:zh.gif]]&lt;br /&gt;
| FlightGear 百科仍然需要志愿者将其翻译为各种语言。如果你有兴趣让FlightGear百科支持更多语言, 你可以查看 [[Help:Translate]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
FlightGear's Screenshot of the Month May 2016 is ''Early Morning Coffee'' by {{usr|Icecode|Icecode GL}}&lt;br /&gt;
[[File:777 over Malaga.jpg|900px|center|Early Morning Coffee]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to participate in the screenshot contest of May 2017, you can submit your candidate to [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32163 this] forum topic. Be sure to see the [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32163#p310086 first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of May 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear Newsletter|2017 04]]&lt;br /&gt;
[[Category:Changes after 2017.1]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107885</id>
		<title>FlightGear Newsletter April 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107885"/>
		<updated>2017-05-22T06:33:39Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: Add aircraft updates to the index (Citation + Ercoupe)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[FlightGear Newsletter March 2017]].}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|April 2017}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Updates to the Citation II|Updates to the Citation II]]&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Updates to the ERCO Ercoupe|Updates to the ERCO Ercoupe]]&amp;lt;/small&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&lt;br /&gt;
'''MapGear is out!'''&lt;br /&gt;
&lt;br /&gt;
MapGear.py is a mapping tool for FlightGear that saves the flight path as an animated .GIF.&lt;br /&gt;
&lt;br /&gt;
The aim is to create a nice map projection/animation for any log file submitted. For this to happen a &lt;br /&gt;
good degree of numerical tunning is required so the more feedback the project has from users the better.&lt;br /&gt;
Feedback would be greatly appreciated! &lt;br /&gt;
&lt;br /&gt;
So far, the program seems to be stable enough so it is worth of publishing here in the FlightGear Newsletter.&lt;br /&gt;
&lt;br /&gt;
It consists of a small python script and a few Geo information data files taken from NaturalEarth. &lt;br /&gt;
&lt;br /&gt;
Stay tuned via the announcement page:&lt;br /&gt;
https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=31741&lt;br /&gt;
&lt;br /&gt;
Screenshot:&lt;br /&gt;
[img]http://i.imgur.com/cUuza9l.gif[/img]&lt;br /&gt;
&lt;br /&gt;
Licensed under the GPLv2+&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Updates to the Citation II ===&lt;br /&gt;
During March 2017 the [[Cessna_550_Citation_II|Citation II]] has received a number of updates:&lt;br /&gt;
==== Citation II config dialog ====&lt;br /&gt;
One of the more prominent ones is the new Citation config dialog. It allows for settings, such as, what group of items you want to be stored throughout sessions. Also, for convenience, it provides some shortcuts to most used dialogs and a button to reset all circuit-breakers at once.&lt;br /&gt;
&lt;br /&gt;
Check it out in sim via &amp;lt;code&amp;gt;menu -&amp;gt; Citation II -&amp;gt; Citation II config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== tutorials ====&lt;br /&gt;
Also 2 [[Tutorials|tutorials]] have been added in the [[Boeing_707-420|707]] style - with markers, view zoom and explicit messages. See the Citation II config dialog or menu -&amp;gt; help -&amp;gt; tutorials.&lt;br /&gt;
&lt;br /&gt;
==== state overlays ====&lt;br /&gt;
It is now possible to start the Citation II in some assorted [[State_Overlay_System|states]]. You could start FG on a parking space and add &amp;lt;code&amp;gt;--state=parking&amp;lt;/code&amp;gt; to startup the Citation cold and dark. This would be a good place to start the startup tutorial from the config dialog.&lt;br /&gt;
&lt;br /&gt;
Or you could start on the runway and add &amp;lt;code&amp;gt;--state=take-off&amp;lt;/code&amp;gt; to your launcher. All you need to do is throttle up and go! Or take the tutorial &amp;quot;take-off&amp;quot; from the config dialog, which will guide you savely to cruise altitude, according to official checklists.&lt;br /&gt;
&lt;br /&gt;
All possible states are:&lt;br /&gt;
* '''parking'''  ( cold and dark, all systems off) (same as without --state=$state )&lt;br /&gt;
* '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
* '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
* '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
* '''approach''' ( !experimental! )&lt;br /&gt;
For details see: [[Cessna_550_Citation_II#will_be_released_with_2017.2|Citation II]]&lt;br /&gt;
&lt;br /&gt;
==== new splash screen system ====&lt;br /&gt;
James has added a new splash screen scheme, as well as a new preview feature for the [[FlightGear_Qt_launcher|QT launcher]]. The Citation II now complies with that scheme and provides a new logo and some brand-new splash screens.&lt;br /&gt;
&lt;br /&gt;
=== Updates to the ERCO Ercoupe ===&lt;br /&gt;
[[File:Ercoupe-cockpit.jpg|thumb|right|The improved ERCO Ercoupe cockpit]]&lt;br /&gt;
After the discussion in the mailing list about possibly adding the Ercoupe as a second default aircraft for the novice users the Ercoupe has had a considerable upgrade:&lt;br /&gt;
* The FDM has been improved&lt;br /&gt;
* Reflection effects are added to the fuselage&lt;br /&gt;
* Reflection and shadow effects are added to the cockpit&lt;br /&gt;
* Cockpit panel and instruments have been improved&lt;br /&gt;
* Textures have been improved&lt;br /&gt;
* A number of new liveries were added&lt;br /&gt;
* Functional navigation lights were added&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:zh.gif]]&lt;br /&gt;
| FlightGear 百科仍然需要志愿者将其翻译为各种语言。如果你有兴趣让FlightGear百科支持更多语言, 你可以查看 [[Help:Translate]].&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
FlightGear's Screenshot of the Month May 2016 is ''Early Morning Coffee'' by {{usr|Icecode|Icecode GL}}&lt;br /&gt;
[[File:777 over Malaga.jpg|900px|center|Early Morning Coffee]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you want to participate in the screenshot contest of May 2017, you can submit your candidate to [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32163 this] forum topic. Be sure to see the [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=32163#p310086 first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of May 2017.&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear Newsletter|2017 04]]&lt;br /&gt;
[[Category:Changes after 2017.1]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107588</id>
		<title>FlightGear Newsletter April 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107588"/>
		<updated>2017-04-04T17:40:04Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* state overlays */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[FlightGear Newsletter March 2017]].}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|April 2017}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Updates to the Citation II ===&lt;br /&gt;
During March 2017 the [[Cessna_550_Citation_II|Citation II]] has received a number of updates:&lt;br /&gt;
==== Citation II config dialog ====&lt;br /&gt;
One of the more prominent ones is the new Citation config dialog. It allows for settings, such as, what group of items you want to be stored throughout sessions. Also, for convenience, it provides some shortcuts to most used dialogs and a button to reset all circuit-breakers at once.&lt;br /&gt;
&lt;br /&gt;
Check it out in sim via &amp;lt;code&amp;gt;menu -&amp;gt; Citation II -&amp;gt; Citation II config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== tutorials ====&lt;br /&gt;
Also 2 [[Tutorials|tutorials]] have been added in the [[Boeing_707-420|707]] style - with markers, view zoom and explicit messages. See the Citation II config dialog or menu -&amp;gt; help -&amp;gt; tutorials.&lt;br /&gt;
&lt;br /&gt;
==== state overlays ====&lt;br /&gt;
It is now possible to start the Citation II in some assorted [[State_Overlay_System|states]]. You could start FG on a parking space and add &amp;lt;code&amp;gt;--state=parking&amp;lt;/code&amp;gt; to startup the Citation cold and dark. This would be a good place to start the startup tutorial from the config dialog.&lt;br /&gt;
&lt;br /&gt;
Or you could start on the runway and add &amp;lt;code&amp;gt;--state=take-off&amp;lt;/code&amp;gt; to your launcher. All you need to do is throttle up and go! Or take the tutorial &amp;quot;take-off&amp;quot; from the config dialog, which will guide you savely to cruise altitude, according to official checklists.&lt;br /&gt;
&lt;br /&gt;
All possible states are:&lt;br /&gt;
* '''parking'''  ( cold and dark, all systems off) (same as without --state=$state )&lt;br /&gt;
* '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
* '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
* '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
* '''approach''' ( !experimental! )&lt;br /&gt;
For details see: [[Cessna_550_Citation_II#will_be_released_with_2017.2|Citation II]]&lt;br /&gt;
&lt;br /&gt;
==== new splash screen system ====&lt;br /&gt;
James has added a new splash screen scheme, as well as a new preview feature for the [[FlightGear_Qt_launcher|QT launcher]]. The Citation II now complies with that scheme and provides a new logo and some brand-new splash screens.&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
Entries for this month's best screenshot can be submitted to [ this] &amp;lt;!-- link to SOTM topic --&amp;gt; forum topic. Be sure to see the [ first post] &amp;lt;!-- link to first post of SOTM topic --&amp;gt; for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented on this page. --&amp;gt; &amp;lt;!-- Edit this when the SOTM topic for this month has been created --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- FlightGear's Screenshot of the Month May 2016 is ''TITLE'' by AUTHOR&lt;br /&gt;
[[File:|900px|center|TITLE]] --&amp;gt; &amp;lt;!-- Uncomment/edit this when the winner is chosen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- If you want to participate in the screenshot contest of *NEXTMONTH*, you can submit your candidate to [ this] forum topic. Be sure to see the [ first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of *NEXTMONTH*. --&amp;gt; &amp;lt;!-- Uncomment/edit this when the SOTM topic for the following month has been created --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[Category:FlightGear Newsletter|2017 04]] change year and month as necessary --&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[Category:Changes after 2017.2]] change version as necessary --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107587</id>
		<title>FlightGear Newsletter April 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107587"/>
		<updated>2017-04-04T17:37:58Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* In the hangar */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[FlightGear Newsletter March 2017]].}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|April 2017}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Updates to the Citation II ===&lt;br /&gt;
During March 2017 the [[Cessna_550_Citation_II|Citation II]] has received a number of updates:&lt;br /&gt;
==== Citation II config dialog ====&lt;br /&gt;
One of the more prominent ones is the new Citation config dialog. It allows for settings, such as, what group of items you want to be stored throughout sessions. Also, for convenience, it provides some shortcuts to most used dialogs and a button to reset all circuit-breakers at once.&lt;br /&gt;
&lt;br /&gt;
Check it out in sim via &amp;lt;code&amp;gt;menu -&amp;gt; Citation II -&amp;gt; Citation II config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== tutorials ====&lt;br /&gt;
Also 2 [[Tutorials|tutorials]] have been added in the [[Boeing_707-420|707]] style - with markers, view zoom and explicit messages. See the Citation II config dialog or menu -&amp;gt; help -&amp;gt; tutorials.&lt;br /&gt;
&lt;br /&gt;
==== state overlays ====&lt;br /&gt;
It is now possible to start the Citation II in some assorted [[State_Overlay_System|states]]. You could start FG on a parking space and add &amp;lt;code&amp;gt;--state=parking&amp;lt;/code&amp;gt; to startup the Citation cold and dark. This would be a good place to start the startup tutorial from the config dialog.&lt;br /&gt;
&lt;br /&gt;
Or you could start on the runway and add &amp;lt;code&amp;gt;--state=take-off&amp;lt;/code&amp;gt; to your launcher. All you need to do is throttle up and go! Or take the tutorial &amp;quot;take-off&amp;quot; from the config dialog, which will guide you savely to cruise altitude, according to official checklists.&lt;br /&gt;
&lt;br /&gt;
All possible states are:&lt;br /&gt;
* parking  ( cold and dark, all systems off) (same as without --state=$state )&lt;br /&gt;
* taxi     ( engines and all systems running - ready to taxi )&lt;br /&gt;
* take-off ( flaps and AP set - just throttle up and go )&lt;br /&gt;
* cruise   ( flying at FL360 on AP )&lt;br /&gt;
* approach ( !experimental! )&lt;br /&gt;
For details see: [[Cessna_550_Citation_II#will_be_released_with_2017.2|Citation II]]&lt;br /&gt;
&lt;br /&gt;
==== new splash screen system ====&lt;br /&gt;
James has added a new splash screen scheme, as well as a new preview feature for the [[FlightGear_Qt_launcher|QT launcher]]. The Citation II now complies with that scheme and provides a new logo and some brand-new splash screens.&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
Entries for this month's best screenshot can be submitted to [ this] &amp;lt;!-- link to SOTM topic --&amp;gt; forum topic. Be sure to see the [ first post] &amp;lt;!-- link to first post of SOTM topic --&amp;gt; for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented on this page. --&amp;gt; &amp;lt;!-- Edit this when the SOTM topic for this month has been created --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- FlightGear's Screenshot of the Month May 2016 is ''TITLE'' by AUTHOR&lt;br /&gt;
[[File:|900px|center|TITLE]] --&amp;gt; &amp;lt;!-- Uncomment/edit this when the winner is chosen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- If you want to participate in the screenshot contest of *NEXTMONTH*, you can submit your candidate to [ this] forum topic. Be sure to see the [ first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of *NEXTMONTH*. --&amp;gt; &amp;lt;!-- Uncomment/edit this when the SOTM topic for the following month has been created --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[Category:FlightGear Newsletter|2017 04]] change year and month as necessary --&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[Category:Changes after 2017.2]] change version as necessary --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107586</id>
		<title>FlightGear Newsletter April 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_April_2017&amp;diff=107586"/>
		<updated>2017-04-04T17:31:20Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* In the hangar */ Add new features of Citation II&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[FlightGear Newsletter March 2017]].}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|April 2017}} &amp;lt;!-- change month and year as required--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Updates to the Citation II ===&lt;br /&gt;
During March 2017 the [[Cessna_550_Citation_II|Citation II]] has received a number of updates:&lt;br /&gt;
==== Citation II config dialog ====&lt;br /&gt;
One of the more prominent ones is the new Citation config dialog. It allows for settings, such as, what group of items you want to be stored throughout sessions. Also, for convenience, it provides some shortcuts to most used dialogs and a button to reset all circuit-breakers at once.&lt;br /&gt;
&lt;br /&gt;
Check it out in sim via &amp;lt;code&amp;gt;menu -&amp;gt; Citation II -&amp;gt; Citation II config&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== tutorials ====&lt;br /&gt;
Also 2 [[Tutorials|tutorials]] have been added in the [[Boeing_707-420|707]] style - with markers, view zoom and explicit messages. See the Citation II config dialog or menu -&amp;gt; help -&amp;gt; tutorials.&lt;br /&gt;
&lt;br /&gt;
==== state overlays ====&lt;br /&gt;
It is now possible to start the Citation II in some assorted [[State_Overlay_System|states]]. You could start FG on a parking space and add &amp;lt;code&amp;gt;--state=parking&amp;lt;/code&amp;gt; to startup the Citation cold and dark. This would be a good place to start the startup tutorial from the config dialog.&lt;br /&gt;
&lt;br /&gt;
Or you could start on the runway and add &amp;lt;code&amp;gt;--state=take-off&amp;lt;/code&amp;gt; to your launcher. All you need to do is throttle up and go! Or take the tutorial &amp;quot;take-off&amp;quot; from the config dialog, which will guide you savely to cruise altitude, according to official checklists.&lt;br /&gt;
&lt;br /&gt;
All possible states are:&lt;br /&gt;
 * parking  ( cold and dark, all systems off) (same as without --state=$state )&lt;br /&gt;
 * taxi     ( engines and all systems running - ready to taxi )&lt;br /&gt;
 * take-off ( flaps and AP set - just throttle up and go )&lt;br /&gt;
 * cruise   ( flying at FL360 on AP )&lt;br /&gt;
 * approach ( !experimental! )&lt;br /&gt;
For details see: [[Cessna_550_Citation_II#will_be_released_with_2017.2|Citation II]]&lt;br /&gt;
&lt;br /&gt;
==== new splash screen system ====&lt;br /&gt;
James has added a new splash screen scheme, as well as a new preview feature for the [[FlightGear_Qt_launcher|QT launcher]]. The Citation II now complies with that scheme and provides a new logo and some brand-new splash screens.&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
Entries for this month's best screenshot can be submitted to [ this] &amp;lt;!-- link to SOTM topic --&amp;gt; forum topic. Be sure to see the [ first post] &amp;lt;!-- link to first post of SOTM topic --&amp;gt; for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented on this page. --&amp;gt; &amp;lt;!-- Edit this when the SOTM topic for this month has been created --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- FlightGear's Screenshot of the Month May 2016 is ''TITLE'' by AUTHOR&lt;br /&gt;
[[File:|900px|center|TITLE]] --&amp;gt; &amp;lt;!-- Uncomment/edit this when the winner is chosen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- If you want to participate in the screenshot contest of *NEXTMONTH*, you can submit your candidate to [ this] forum topic. Be sure to see the [ first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of *NEXTMONTH*. --&amp;gt; &amp;lt;!-- Uncomment/edit this when the SOTM topic for the following month has been created --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[Category:FlightGear Newsletter|2017 04]] change year and month as necessary --&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[Category:Changes after 2017.2]] change version as necessary --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Howto:Implement_wing_flex&amp;diff=107537</id>
		<title>Howto:Implement wing flex</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Howto:Implement_wing_flex&amp;diff=107537"/>
		<updated>2017-03-25T06:58:52Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: Add Citation II to the list of implementations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:747-400_wing_flex.jpg|thumb|270px|Wing flex as seen on the [[Boeing 747-400]].]]&lt;br /&gt;
&lt;br /&gt;
'''Wing flex''' is the flexing of wings on [[aircraft]], due to lift and fuselage load. [[FlightGear]] is able to show realistic wing flex. Currently the [[Boeing 787]], [[Airbus A330-200|A330-200]], [[Boeing 747-400|747-400]], [[Cessna_550_Citation_II|Citation II]] and [[Bombardier CRJ-900|CRJ-900]] are equipped with flexing wings.&lt;br /&gt;
&lt;br /&gt;
This article describes a simple approach to model static wing flex. Using this approach, the wing will bend realistically under load, but it will not oscillate after load changes, e.g., on hard touchdown. For a more sophisticated model for dynamic wing flex, please see the [[Wingflexer|Wingflexer article]].&lt;br /&gt;
&lt;br /&gt;
== Model ==&lt;br /&gt;
A few edits have to be made to the aircraft model. Each wing has to be cut into multiple sections. The more sections, the smoother the wing flex. Be carefull that you do not cut through flaps or engines. Naming our wing sections, from fuselage to wing tip: wing.1, wing.2 and wing.3. &lt;br /&gt;
&lt;br /&gt;
Measure the coordinates of the start of each new wing section, you will need them to animate the wings.&lt;br /&gt;
&lt;br /&gt;
== Animation ==&lt;br /&gt;
The following lines have to be added to the aircraft model .xml file. These lines are used with three wing sections, and a [[JSBSim]] [[FDM]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;animation&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;rotate&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;object-name&amp;gt;LeftWing.1&amp;lt;/object-name&amp;gt;&lt;br /&gt;
  &amp;lt;object-name&amp;gt;LeftWing.2&amp;lt;/object-name&amp;gt;&lt;br /&gt;
  &amp;lt;object-name&amp;gt;LeftWing.3&amp;lt;/object-name&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;fdm/jsbsim/aero/coefficient/CLalpha&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;factor&amp;gt;-0.0000045&amp;lt;/factor&amp;gt;&lt;br /&gt;
  &amp;lt;offset-deg&amp;gt;0&amp;lt;/offset-deg&amp;gt;   &lt;br /&gt;
  &amp;lt;center&amp;gt;&lt;br /&gt;
   &amp;lt;x-m&amp;gt; 0.00&amp;lt;/x-m&amp;gt;&lt;br /&gt;
   &amp;lt;y-m&amp;gt;-4.00&amp;lt;/y-m&amp;gt;&lt;br /&gt;
   &amp;lt;z-m&amp;gt;-1.70&amp;lt;/z-m&amp;gt;&lt;br /&gt;
  &amp;lt;/center&amp;gt;&lt;br /&gt;
  &amp;lt;axis&amp;gt;&lt;br /&gt;
   &amp;lt;x&amp;gt;1.0&amp;lt;/x&amp;gt;&lt;br /&gt;
   &amp;lt;y&amp;gt;0.0&amp;lt;/y&amp;gt;&lt;br /&gt;
   &amp;lt;z&amp;gt;0.0&amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/axis&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;animation&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;rotate&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;object-name&amp;gt;LeftWing.2&amp;lt;/object-name&amp;gt;&lt;br /&gt;
  &amp;lt;object-name&amp;gt;LeftWing.3&amp;lt;/object-name&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;fdm/jsbsim/aero/coefficient/CLalpha&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;factor&amp;gt;-0.0000045&amp;lt;/factor&amp;gt;&lt;br /&gt;
  &amp;lt;offset-deg&amp;gt;0&amp;lt;/offset-deg&amp;gt;   &lt;br /&gt;
  &amp;lt;center&amp;gt;&lt;br /&gt;
   &amp;lt;x-m&amp;gt; 0.00&amp;lt;/x-m&amp;gt;&lt;br /&gt;
   &amp;lt;y-m&amp;gt;-8.00&amp;lt;/y-m&amp;gt;&lt;br /&gt;
   &amp;lt;z-m&amp;gt;-1.50&amp;lt;/z-m&amp;gt;&lt;br /&gt;
  &amp;lt;/center&amp;gt;&lt;br /&gt;
  &amp;lt;axis&amp;gt;&lt;br /&gt;
   &amp;lt;x&amp;gt;1.0&amp;lt;/x&amp;gt;&lt;br /&gt;
   &amp;lt;y&amp;gt;0.0&amp;lt;/y&amp;gt;&lt;br /&gt;
   &amp;lt;z&amp;gt;0.0&amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/axis&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;animation&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;rotate&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;object-name&amp;gt;LeftWing.3&amp;lt;/object-name&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;fdm/jsbsim/aero/coefficient/CLalpha&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;factor&amp;gt;-0.0000045&amp;lt;/factor&amp;gt;&lt;br /&gt;
  &amp;lt;offset-deg&amp;gt;0&amp;lt;/offset-deg&amp;gt;&lt;br /&gt;
  &amp;lt;center&amp;gt;&lt;br /&gt;
   &amp;lt;x-m&amp;gt;  0.00&amp;lt;/x-m&amp;gt;&lt;br /&gt;
   &amp;lt;y-m&amp;gt;-12.25&amp;lt;/y-m&amp;gt;&lt;br /&gt;
   &amp;lt;z-m&amp;gt; -1.25&amp;lt;/z-m&amp;gt;&lt;br /&gt;
  &amp;lt;/center&amp;gt;&lt;br /&gt;
  &amp;lt;axis&amp;gt;&lt;br /&gt;
   &amp;lt;x&amp;gt;1.0&amp;lt;/x&amp;gt;&lt;br /&gt;
   &amp;lt;y&amp;gt;0.0&amp;lt;/y&amp;gt;&lt;br /&gt;
   &amp;lt;z&amp;gt;0.0&amp;lt;/z&amp;gt;&lt;br /&gt;
  &amp;lt;/axis&amp;gt;&lt;br /&gt;
 &amp;lt;/animation&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You probably need to add a lot more objects to each section (like engines, flaps, ailerons etc.) and also change the ''center'' coordinates according to your aircraft. For the right wing, just change the sign of the center &amp;lt;y-m&amp;gt; coordinate and the factor value.&lt;br /&gt;
&lt;br /&gt;
=== JSBSim ===&lt;br /&gt;
[[JSBSim]] calculates the lift force of the aircraft. The lift reacts on the G-forces, the velocity and turbulences. The respective property is: &amp;lt;tt&amp;gt;fdm/jsbsim/aero/coefficient/CLalpha&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== YASim ===&lt;br /&gt;
[[YASim]] does not calculate wingflex as nice as JSBSim, but a pretty realistic effect can be reached by using the &amp;lt;tt&amp;gt;accelerations/pilot-g[0]&amp;lt;/tt&amp;gt; property instead.&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [[Wingflexer]] – A newer way to add wing flex, though it still need to be animated much like here&lt;br /&gt;
&lt;br /&gt;
[[es:Howto: Implement wing flex]]&lt;br /&gt;
[[Category:Aircraft enhancement|Implement wing flex]]&lt;br /&gt;
[[Category:Howto|Implement wing flex]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107516</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107516"/>
		<updated>2017-03-22T14:55:49Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */ new additions to the changelog: tutorials and config dialog&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
$ {{fgaddon co|Citation|post=Citation}}&lt;br /&gt;
$ svn up&lt;br /&gt;
|  lang=&amp;quot;bash&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
==== will be released with 2017.2 ====&lt;br /&gt;
* Tutorials have been added.&lt;br /&gt;
* A new menu item is in place. The '''Citation II config''' dialog is available under menu -&amp;amp;gt; Citation II -&amp;amp;gt; Citation II config. It contains options for saving through sessions, some display options and several shortcuts for easy access to tutorials, help and more.&lt;br /&gt;
* New support for [[State_Overlay_System|state overlays]]. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * '''parking'''  ( cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
  * '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
  * '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
  * '''approach''' ( !experimental! use with:&lt;br /&gt;
    ''--glideslope=degrees''       ( usually 3 ) '''or'''&lt;br /&gt;
    ''--altitude=ft-above-msl''    ( alt above sea level ) '''or'''&lt;br /&gt;
    ''--offset-distance=nm''       ( 10 seems like a good start )&lt;br /&gt;
    Never use all 3 options at once! Only 2 of them. Triangle calculation - remember?&lt;br /&gt;
    ''--in-air''                   ( well, just do it... )&lt;br /&gt;
    if you want, you can add options like this:&lt;br /&gt;
    ''--nav1=rad:freq''            ( Going into [https://skyvector.com/airport/LPAZ/Santa-Maria-Airport LPAZ] 18 enter --nav1=179:110.300 meaning NAV1 is set to 110.300 MHz with a radial of 179°, which is the G/S of LPAZ-18 )&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Autopilot_configuration_reference&amp;diff=107440</id>
		<title>Autopilot configuration reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Autopilot_configuration_reference&amp;diff=107440"/>
		<updated>2017-03-19T13:26:40Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Adding an autopilot configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Systems_Modeling_Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[File:FgPlot.jpg|400px|thumb|[[FGPlot]] can be used to plot the value properties while tuning an autopilot.]]&lt;br /&gt;
&lt;br /&gt;
{{forum|46|Autopilot &amp;amp; Route Manager}}&lt;br /&gt;
{{Autoflight Navigation}}&lt;br /&gt;
&lt;br /&gt;
: ''For a guide on how to model an autopilot using these elements, see [[Howto:Design an autopilot]].''&lt;br /&gt;
&lt;br /&gt;
The '''property rules''' used for '''autopilot configuration''' can also be used for other kinds of systems modeling.  The controllers and filters allow for both simple and complex systems to be modeled.  By using the output from one as the input to another one, very complex systems such as fly-by-wire systems with different control laws can be modeled.&lt;br /&gt;
&lt;br /&gt;
This page serves as a reference for the elements of [[FlightGear]] XML [[autopilot]] and property rule configuration files. It describes all elements available within the autopilot configuration file supported in the bleeding edge [[Git]] sources. Some of the elements may not be available in the current release version of FlightGear.&lt;br /&gt;
&lt;br /&gt;
For built-in runtime plotting of FlightGear properties (including FDM/Autopilot properties), check out [[FGPlot]] (available in FlightGear 2.11+).&lt;br /&gt;
&lt;br /&gt;
== Autopilot vs. property-rule configurations ==&lt;br /&gt;
The main difference between XML based autopilot and property-rule systems is the update rate:&lt;br /&gt;
&lt;br /&gt;
* Autopilot configurations run at [[FDM]] rate&lt;br /&gt;
* Property-rule configurations run at frame rate&lt;br /&gt;
&lt;br /&gt;
=== Performance considerations ===&lt;br /&gt;
Using property-rule elements for things that does not have to run a FDM rate can improve the frame rate, in particular for complex systems and on weaker computers.  Depending on FlightGear settings and the hardware, the FDM rate is about 2–10 times higher than the frame rate.&lt;br /&gt;
&lt;br /&gt;
It is possible to implement a system using both autopilot and property-rule based elements.  They can communicate with each other using [[Property tree|properties]].  The only disadvantage is that they will be split between an autopilot and a property-rule configuration file.&lt;br /&gt;
&lt;br /&gt;
For example would a fly-by-wire flight control system element augmenting an unstable aircraft need to run at FDM rate, while an element depending on the flap extension would work just as well at frame rate.&lt;br /&gt;
&lt;br /&gt;
== Adding a configuration to an aircraft ==&lt;br /&gt;
A configuration is added to an aircraft by adding the path to an XML configuration file to the &amp;lt;code&amp;gt;&amp;amp;lt;Aircraft&amp;amp;gt;-set.xml&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
=== Adding an autopilot configuration ===&lt;br /&gt;
Autopilot configuration files are added to the aircraft by adding&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;autopilot n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Aircraft/MyAircraft/Systems/my-autopilot.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;/autopilot&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to the&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;sim&amp;gt;&lt;br /&gt;
   &amp;lt;systems&amp;gt;&lt;br /&gt;
     &amp;lt;!-- many other elements live here --&amp;gt;&lt;br /&gt;
     &amp;lt;autopilot n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;path&amp;gt;Aircraft/MyAircraft/Systems/my-autopilot.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
     &amp;lt;/autopilot&amp;gt;&lt;br /&gt;
   &amp;lt;/systems&amp;gt;&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
node of your &amp;lt;code&amp;gt;aircraft-set.xml&amp;lt;/code&amp;gt; file. Note, that more than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;autopilot&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; node may be present, each will create a new instance of the autopilot subsystem when running FlightGear. They run in the order of appearance under &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;systems&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. For example, lateral and vertical autopilot modes could live in separate files, as could a yaw-damper system.&lt;br /&gt;
&lt;br /&gt;
{{note|While the above seems to be the recommended standard, it has occasionally lead to trouble, not to index additional autopilot configurations. Anyway, it shouldn't hurt to do so.&amp;lt;br&amp;gt;&lt;br /&gt;
FG first loads generic configs, which get indexed atomatically as they appear. Then you override these generic configs with your own, which may lead to strange behaviour, if you for example overwrite the weather rules with an autopilot-helper configuration. Not only will you have no weather anymore, but also 2 systems that will most likely overwrite each others results all the time. Check the property-tree at /sim/systems/autopilot[*]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Adding a property-rule configuration ===&lt;br /&gt;
Property-rules can also be used in which case they will run at frame rate. You can use these to process properties so their values can be used by other systems outside of the autopilot scope (for example to create smooth animations for switches that normally have discrete values)&lt;br /&gt;
&lt;br /&gt;
To achieve this load your filters configuration by adding:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property-rule n=&amp;quot;100&amp;quot;&amp;gt;  &amp;lt;!-- &amp;quot;n&amp;quot; needs to be &amp;gt;= 100 to avoid overwriting other predefined global rules (in particular the environment ones) --&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;My property rule&amp;lt;/name&amp;gt;  &amp;lt;!--  Optional name tag useful for debugging and other maintenance --&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Systems/my-propertyrules.xml&amp;lt;/path&amp;gt;  &amp;lt;!-- path can be relative to the current aircraft-set.xml location --&amp;gt;&lt;br /&gt;
  &amp;lt;/property-rule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(Do NOT use the filename &amp;quot;propertyrules.xml&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
to the :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;sim&amp;gt;&lt;br /&gt;
    &amp;lt;systems&amp;gt;&lt;br /&gt;
      &amp;lt;!-- many other elements live here --&amp;gt;&lt;br /&gt;
      &amp;lt;property-rule n=&amp;quot;100&amp;quot;&amp;gt;  &amp;lt;!-- &amp;quot;n&amp;quot; needs to be &amp;gt;= 100 to avoid overwriting other predefined global rules (in particular the environment ones) --&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;My property rule&amp;lt;/name&amp;gt;  &amp;lt;!--  Optional name tag useful for debugging and other maintenance --&amp;gt;&lt;br /&gt;
        &amp;lt;path&amp;gt;Systems/my-propertyrules.xml&amp;lt;/path&amp;gt;  &amp;lt;!-- path can be relative to the current aircraft-set.xml location --&amp;gt;&lt;br /&gt;
      &amp;lt;/property-rule&amp;gt;&lt;br /&gt;
    &amp;lt;/systems&amp;gt;&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
node of your &amp;lt;code&amp;gt;&amp;amp;lt;aircraft&amp;amp;gt;-set.xml&amp;lt;/code&amp;gt; file. Note that you can add multiple &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property-rule&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements, similar to the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;autopilot&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; as described above.&lt;br /&gt;
&lt;br /&gt;
{{tip|Configurations can be enabled and disabled through the boolean properties &amp;lt;code&amp;gt;/sim/systems/autopilot[''n'']/serviceable&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/sim/systems/property-rule[''n'']/serviceable&amp;lt;/code&amp;gt;, where''n'' is the index for a configuration}}&lt;br /&gt;
&lt;br /&gt;
== Structure of a configuration file ==&lt;br /&gt;
Autopilot configurations live in a separate file, formatted using the well known XML syntax like so many other FlightGear files with a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;PropertyList&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; node as a root element. A basic skeleton file looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;params include=&amp;quot;MyParams.xml&amp;quot;&amp;gt; &amp;lt;!-- Params can be included like this --&amp;gt;&lt;br /&gt;
    &amp;lt;controls&amp;gt;&lt;br /&gt;
      &amp;lt;aileron&amp;gt;controls/flight/aileron&amp;lt;/aileron&amp;gt;&lt;br /&gt;
      &amp;lt;rudder&amp;gt;controls/flight/rudder&amp;lt;/rudder&amp;gt;&lt;br /&gt;
      &amp;lt;elevator&amp;gt;controls/flight/elevator&amp;lt;/elevator&amp;gt;&lt;br /&gt;
    &amp;lt;/controls&amp;gt;&lt;br /&gt;
  &amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Place your components here --&amp;gt;&lt;br /&gt;
  &amp;lt;!--&lt;br /&gt;
  &amp;lt;filter&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Myfilter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;input&amp;gt;/foo&amp;lt;/input&amp;gt;&lt;br /&gt;
    &amp;lt;output&amp;gt;/bar&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;/filter&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Myfilter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;input alias=&amp;quot;/params/control/aileron&amp;quot;/&amp;gt;  Aliasing a property name&lt;br /&gt;
    &amp;lt;output&amp;gt;/bar&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;/filter&amp;gt;&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The location and the name of the configuration file is up to the developer. A descriptive name like &amp;lt;code&amp;gt;autopilot.xml&amp;lt;/code&amp;gt; might be a good choice. Most developers put these files into the &amp;lt;code&amp;gt;Systems&amp;lt;/code&amp;gt; folder of the aircraft.&lt;br /&gt;
&lt;br /&gt;
{{tip|Using [[PropertyList XML files#Aliased properties|aliased property names]] is good style and makes the configuration file more readable.  The params section may be included from an external file to avoid duplication of code.&lt;br /&gt;
&lt;br /&gt;
For complex systems, spread over multiple autopilot and/or property-rule configuration files, this can greatly aid debugging and maintenance.}}&lt;br /&gt;
&lt;br /&gt;
{{tip|Commenting the configuration file to document the purpose elements and groups of elements and what they are intended to do can also aid debugging and maintenance.}}&lt;br /&gt;
&lt;br /&gt;
== Available elements ==&lt;br /&gt;
All elements may contain the attributes &amp;quot;include&amp;quot; and &amp;quot;alias&amp;quot;. &lt;br /&gt;
The &amp;quot;include&amp;quot; property takes a file name as a parameter. This can be used to read the document tree of an external XML file into the node containing the &amp;quot;include&amp;quot; attribute. The included file must have a PropertyList node as the root node. All nodes under this PropertyList node will be added to the node containing the &amp;quot;include&amp;quot; attribute.&lt;br /&gt;
The &amp;quot;alias&amp;quot; attribute refers to an element defined elsewhere in this XMl document. Alias references are in a path-style syntax, either as a relative or absolute path. Absolute paths start with a slash, like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;foo alias=&amp;quot;/params/bar/baz&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. Use the colon to move through the document tree, similar to file system paths like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;foo alias=&amp;quot;../../bar/baz&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Any top-level element can appear in an autopilot XML file, but only the following elements will be recognised and used:&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pid-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pi-simple-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;predict-simple&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;logic&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;flipflop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;state-machine&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common elements used by all elements ==&lt;br /&gt;
&lt;br /&gt;
=== Name of filter and controller &amp;amp;lt;name&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is optional, but should be added to give the controller a distinct name. It is only used in debug output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;NAV hold&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Feedback &amp;amp;lt;feedback-if-disabled&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;feedback-if-disabled&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element advises the controller to feed back the output property value to the active input property if the condition defined in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag evaluates to false. This is usually required for controllers like servo drivers behind a PID-controller to give that PID-controller a valid starting value when it becomes enabled. The absence of this element or anything but the word &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt; within this element results in feedback disabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;feedback-if-disabled&amp;gt;true&amp;lt;/feedback-if-disabled&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Printing debug output &amp;amp;lt;debug&amp;amp;gt; ===&lt;br /&gt;
If the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;debug&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is present and if it contains the word &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt;, the containing controller prints out some diagnostic information on the console for each processing loop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug&amp;gt;true&amp;lt;/debug&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input and reference properties or values &amp;amp;lt;input&amp;amp;gt; and &amp;amp;lt;reference&amp;amp;gt; ===&lt;br /&gt;
Each controller has two input &amp;quot;lines&amp;quot;, denoted by the tags &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. The arithmetic difference of these two values is used by the respective controller to compute it's output. Unfortunately due to historical reasons, the sign of input and reference is not consistent for all controllers. While the pid-controller and the pi-simple-controller compute &amp;quot;reference-input&amp;quot;, the filter controller computes &amp;quot;input-reference&amp;quot;. Each element is optional with a default value of zero. These elements are made of so called ''input values'' described further down in this document.&lt;br /&gt;
&lt;br /&gt;
Example for a simple differential amplifier, computing output = (input-reference)*2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;reference&amp;gt;/some/output&amp;lt;/reference&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Output property &amp;amp;lt;output&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element names the properties, the computed value should be written to. More than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; may be present, each named property will be assigned the computed value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;output&amp;gt;controls/flight/elevator&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Enabling and disabling a filter &amp;amp;lt;enable&amp;amp;gt; ===&lt;br /&gt;
Controllers can be enabled or disabled using property values. This element &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; may contain a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;prop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. The controller is enabled, if the value of the named property equals the given value. This feature is considered deprecated and might go away in future releases. The preferred way of defining the enable-condition is by adding a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element to the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. This &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; follows the same syntactical rules as the one used in model animations and can model complex expression trees.&lt;br /&gt;
To enable a wing leveler only if the current bank angle does not exceed 30° of bank, use this condition&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enable&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;less-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;30.0&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/less-than&amp;gt;&lt;br /&gt;
    &amp;lt;greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;-30.0&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
&amp;lt;/enable&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input values ===&lt;br /&gt;
Input values for controllers may be specified in several notations. Values may be supplied as constants, from properties or by means of simple linear transformations. Conditions allow the selection of one of multiple input sources. The following text will use the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element as an example but it may be substituted by any other input element like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; etc. Input values will be interpreted as double values.&lt;br /&gt;
&lt;br /&gt;
==== A constant value &amp;amp;lt;value&amp;amp;gt; or &amp;amp;lt;reference&amp;amp;gt; ====&lt;br /&gt;
A constant value is defined by just adding the value as text to the input element: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;value&amp;gt;3.5&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The shortcut syntax is also valid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;3.5&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the text can be parsed by &amp;lt;code&amp;gt;strtod()&amp;lt;/code&amp;gt; to a double value, it will be used as a constant value, otherwise it will be interpreted as a property value (see next paragraph)&lt;br /&gt;
&lt;br /&gt;
==== A property value ====&lt;br /&gt;
To evaluate the value of a property, place the name of the property into the text element:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/my/property&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The shortcut syntax is also valid:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;/my/property&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|The shortcut syntax is only valid, if neither &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; nor &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element exists.&lt;br /&gt;
If both &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; '''and''' &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element exist, the property will be initialized with the given value with scale and offset applied correctly.&lt;br /&gt;
Properties don't have to exist, the will be created as needed.}}&lt;br /&gt;
&lt;br /&gt;
{{note|For backward compatibility, the notation &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;prop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; instead of &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; is also valid but considered deprecated and might go away in future releases.}}&lt;br /&gt;
&lt;br /&gt;
==== Linear transformation of the input value &amp;amp;lt;offset&amp;amp;gt; ====&lt;br /&gt;
Input values may be scaled and shifted before they are processed by the controller using the formula &amp;lt;tt&amp;gt;y = value * scale + offset&amp;lt;/tt&amp;gt;&lt;br /&gt;
To use a Celsius temperature property in a controller which expects the temperature in Fahrenheit you might use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/environment/temperature-degc&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;1.8&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;32&amp;lt;/offset&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Periodical transformation of the input value &amp;amp;lt;period&amp;amp;gt; ====&lt;br /&gt;
Periodical (like angular) input values can be transformed to appear in the correct phase before they are processed by the controller by adding or subtracting multiples of the period to the input value until the values is in the requested periods interval.&lt;br /&gt;
The following example converts the heading which comes in the range of [0..360] into the range of [-180..+180]. This will cause a heading of 270 to be processed as a value of -90.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/orientation/heading-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;period&amp;gt;&lt;br /&gt;
    &amp;lt;min&amp;gt;-180.0&amp;lt;/min&amp;gt;&lt;br /&gt;
    &amp;lt;max&amp;gt;180.0&amp;lt;/max&amp;gt;&lt;br /&gt;
  &amp;lt;/period&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Input clamping &amp;amp;lt;min&amp;amp;gt; and &amp;amp;lt;max&amp;amp;gt; ====&lt;br /&gt;
To clamp the input to a minimum value, maximum value or both, the tags &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; can be used. Clamping will occur after the linear transformation has been applied. Note the difference of input clamping to output clamping. While input clamping is applied '''before''' the signal reaches the controller, output clamping will be applied to the output signal '''after''' it has been processed.&lt;br /&gt;
&lt;br /&gt;
The following code will keep the input to the controller in the range of 60 to 80 degrees Fahrenheit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/environment/temperature-degc&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;1.8&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;32&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;60&amp;lt;/min&amp;gt;&lt;br /&gt;
  &amp;lt;max&amp;gt;80&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Absolute values &amp;amp;lt;abs&amp;amp;gt; ====&lt;br /&gt;
To use the absolute (unsigned) value of the input, add &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;abs type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/abs&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/autopilot/internal/course-error-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;abs type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/abs&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recursive definition ====&lt;br /&gt;
The elements &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;scale&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; itself can be defined as input values. This code uses as reference the value of course-error-deg, scaled by two and an offset applied which is calculated as the product of the bank-angle-de and the property some/property which itself is limited within the range of -1.5 .. +1.5.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/autopilot/internal/course-error-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;2.0&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;scale&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;some/property&lt;br /&gt;
      &amp;lt;min&amp;gt;-1.5&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;1.5&amp;lt;/max&amp;gt;&lt;br /&gt;
    &amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;/offset&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Conditional input values &amp;amp;lt;condition&amp;amp;gt; ====&lt;br /&gt;
The direct inputs of controller and filter elements support so called input value lists. This is useful, if the input should be connected to one of many separate inputs like autopilots connected to NAV1, NAV2 or the GPS. A standard &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is allowed within an input value element. The input value list will be traversed until the first input value with a successful condition is found. The behavior is much like the switch statement in programming languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/coupled-to-gps&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;instrumentation/gps/desired-track-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/coupled-to-nav2&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;instrumentation/nav[1]/radials/selected-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;instrumentation/nav[0]/radials/selected-deg&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the unconditional last &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element which acts as an &amp;quot;if all others fail, use NAV1&amp;quot; anchor. If no input value return with a successful condition, the input value is undefined.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;scale&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements of input values itself currently don't support input value lists.&lt;br /&gt;
&lt;br /&gt;
==== Expressions &amp;amp;lt;expression&amp;amp;gt; ====&lt;br /&gt;
Complex math or lookup tables may be represented using the [[expression]] syntax. The expression has to be enclosed in &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;expression&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
=== Output values ===&lt;br /&gt;
After processing of a component, the resulting value passes a transformation stage where it can be clipped or normalized into a given period. Periodic values such as angular properties may be normalized into a given period by adding a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;period&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element, defining the lower and upper bounds of the period. Additionally, a maximun and a minimum value may be given which will guarantee that the output value will ever exceed a defined value. &lt;br /&gt;
&lt;br /&gt;
{{note|Both periodical normalization and clipping may be defined. If both are given, the value will be normalized first and the clipping will be applied to the normalized value.}}&lt;br /&gt;
&lt;br /&gt;
The following example shifts the computed value into the interval of [-180..180] thereafter being limited into the interval of [-30..30]. The following table contains some computed values and the resulting written value:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! computed !! written&lt;br /&gt;
|-&lt;br /&gt;
|     -350 ||  10&lt;br /&gt;
|-&lt;br /&gt;
|     -270 ||  30&lt;br /&gt;
|-&lt;br /&gt;
|      -90 || -30&lt;br /&gt;
|-&lt;br /&gt;
|      -29 || -29&lt;br /&gt;
|-&lt;br /&gt;
|       29 ||  29&lt;br /&gt;
|-&lt;br /&gt;
|       90 ||  30&lt;br /&gt;
|-&lt;br /&gt;
|      350 || -10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;output&amp;gt;/some/property&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;period&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;-180&amp;lt;/min&amp;gt;&lt;br /&gt;
  &amp;lt;max&amp;gt;180&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/period&amp;gt;&lt;br /&gt;
&amp;lt;min&amp;gt;-30&amp;lt;/min&amp;gt;&lt;br /&gt;
&amp;lt;max&amp;gt;30&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use a table to vary an output with height. At sea level, the output is 0.045, at 22400 the output is 0.1196, and at 56000 ft the output is 0.7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;GAy&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;expression&amp;gt;&lt;br /&gt;
      &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/instrumentation/altimeter/indicated-altitude-ft&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;0.0&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.045&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;22400&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.1196&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;56000&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.7&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
      &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;/expression&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/gain/GAy&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logic controller &amp;amp;lt;logic&amp;amp;gt; ==&lt;br /&gt;
The logic controller provides a simple way of creating property values from the result of the condition expression in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. The condition expression is evaluated once per iteration and the result is written as a boolean value to the named output property or properties. An optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;inverted&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element inverts the logic. The default is &amp;quot;not inverted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example: output = not( ( a is true ) or ( ( b greater than c ) and ( d is true ) )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;logic&amp;gt;&lt;br /&gt;
  &amp;lt;inverted&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;a&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;or&amp;gt;&lt;br /&gt;
      &amp;lt;greater-than&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;b&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;c&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;d&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/or&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/logic&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Flip flop logic &amp;amp;lt;flipflop&amp;amp;gt; ==&lt;br /&gt;
A flip flop is a controller that has two stable states so it can be used as a one bit memory. Four types of flip flops are implemented: '''RS''', '''JK''', '''D''' and '''T'''. All use positive logic and operate on the raising edge of the clock signal if a clock is used.&lt;br /&gt;
All input lines, including the clock line, are encoded as condition constructs.&lt;br /&gt;
If negative logic for the input line is required, wrap the condition into a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;not&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag to invert the logic.&lt;br /&gt;
&lt;br /&gt;
{{note|The type, for example '''RS''', is case sensitive.}}&lt;br /&gt;
{{note|Using &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tags will break the logic.}}&lt;br /&gt;
&lt;br /&gt;
=== RS flip flop &amp;amp;lt;RS&amp;amp;gt; ===&lt;br /&gt;
This flip flop sets its output according to the set (S) or reset (R) input lines. If the set line is set, the output gets set. If the reset line is set, the output gets reset. If no line is set, the output stays unchanged. For the special case where set and reset lines are both set, two types of RS flip flops exist: for the RS flip flop (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;type&amp;gt;RS&amp;lt;/type&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;), the reset line is dominant and the output is reset. Alternatively, a SR flip flop (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;type&amp;gt;SR&amp;lt;/type&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;) has a dominant set line and the output gets set if set and reset line are set.&lt;br /&gt;
&lt;br /&gt;
Example: simple RS flip flop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;RS&amp;lt;/type&amp;gt; &amp;lt;!-- or SR --&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/set&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;R&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/reset&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/R&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JK flip flop &amp;amp;lt;JK&amp;amp;gt; ===&lt;br /&gt;
The JK flip flop is an extension of the RS flip flop. In addition to the set and reset lines of the RS flip flop it uses J, K and a clock input.&lt;br /&gt;
The J line serves as a clock dependent set input while the K line does the reset job. Optionally, a clock input may be provided. State changes do not occur immediately, but on the next raising edge of the clock signal. The state of J=K=true causes the output to toggle it's current state on the next raising edge of the clock signal.&lt;br /&gt;
If no clock signal is provided, the frame rate serves as the clock input.&lt;br /&gt;
&lt;br /&gt;
Example: simple JK flip flop with negative edge clock&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;JK&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;J&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/set&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/J&amp;gt;&lt;br /&gt;
  &amp;lt;K&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/reset&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/K&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;not&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/not&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== D flip flop &amp;amp;lt;D&amp;amp;gt; ===&lt;br /&gt;
The D flip flop transfers the state of the input signal '''D''' to the output line at the next raising edge of the clock signal, which is mandatory for this flip flop.&lt;br /&gt;
&lt;br /&gt;
Example: simple D flip flop with inverted output&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;D&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;D&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/data&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/D&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;inverted type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T flip flop &amp;amp;lt;T&amp;amp;gt; ===&lt;br /&gt;
The T flip flop toggles the state of the output signal at the next raising edge of the clock signal, which is mandatory for this flip flop.&lt;br /&gt;
&lt;br /&gt;
Example: simple T flip flop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;T&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Monostable flip flop &amp;amp;lt;monostable&amp;amp;gt; ===&lt;br /&gt;
A monostable flip flop has only one stable state which will be reentered after a well defined time. The stable state in current implementation is the output set 'false' or 0. The Monostable is an extension of the JK flip flop. Additionally to the input values defined there, an InputValue for the definition of the pulse time is mandatory. &lt;br /&gt;
&lt;br /&gt;
The moment the time for the astable state starts counting depends on the input used to set the output. If the output is set from the SET input of the RS flipflop, the output is kept true for the defined time ''after'' the SET input enters it's false state. The total time the output is true equals the time, the SET input is true plus the time defined in the &amp;lt;time&amp;gt; element.&lt;br /&gt;
If the output is set from the J and clock inputs of the JK flipflop, the timer starts on the raising edge of the clock input. The output signal will be true for exactly the time defined in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. &lt;br /&gt;
&lt;br /&gt;
{{note|The optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;R&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;K&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; inputs may be used to reset the output before the internal timer expired. This will also reset the timer to zero, so no additional event will be triggered after the defined timer interval.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Test mf&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;monostable&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;time&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/pulsetime-sec&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;value&amp;gt;10&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/time&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&amp;lt;property&amp;gt;/myflipflop/s&amp;lt;/property&amp;gt;&amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;J&amp;gt;&amp;lt;property&amp;gt;/myflipflop/j&amp;lt;/property&amp;gt;&amp;lt;/J&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example shows how a monostable can be used to enable a certain property (/myflipflop/output) if another property (/myflipflop/s) is true for at least the specified amount of time:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Test mf&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;monostable&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;inverted type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&lt;br /&gt;
    &amp;lt;not&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/myflipflop/s&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/not&amp;gt;&lt;br /&gt;
  &amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;time&amp;gt;&lt;br /&gt;
    &amp;lt;value&amp;gt;10.0&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/time&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/output&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example the monostable is inverted, which means the stable state is true instead of false. The key idea here is to keep the monostable in its unstable state (false) by keeping the set line true, which is the case when /myflipflop/s is false. Then, when /myflipflop/s becomes true the set line becomes false, which causes the timer to start. When the timer expires (in this case 10 seconds) the monostable will enter its stable state (true). At any time when the set line becomes true (when /myflipflop/s becomes false) the monostable will immediately enter its unstable state (false) again, resulting in /myflipflop/output to become false immediately.&lt;br /&gt;
&lt;br /&gt;
== Filters &amp;amp;lt;filter&amp;amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== Pure gain filter &amp;amp;lt;gain&amp;amp;gt; ===&lt;br /&gt;
A gain filter multiplies the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; value by a given factor or gain &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and returns the output to &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. More than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element formatted as in [[Autopilot Configuration Reference#Input Values|Input Values]] may be present.  Within a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; evaluating as true the first &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; will define the used gain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;6.28&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;radius&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;circumfence&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== First order low pass filter &amp;amp;lt;exponential&amp;amp;gt; ===&lt;br /&gt;
The exponential filter is a typical [http://en.wikipedia.org/wiki/Low-pass_filter low pass filter]. The magic Euler number and the associated mathematical function exp() plays a major role here. As the name implies, lower frequencies can pass this filter while higher frequencies are cut. The frequency where only half of the input signal reaches the output is called cutoff frequency. This cutoff frequency is defined by the parameter &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and resolves as cutoff-frequency = 1/(2*pi*cutoff-frequency).&lt;br /&gt;
&lt;br /&gt;
Example: a 1Hz first order low pass filter &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;exponential&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Second order low pass filter &amp;amp;lt;double-exponential&amp;amp;gt; ===&lt;br /&gt;
The double exponential filter is a low pass filter like the exponential filter with a steeper slope of the filter diagram. It acts basically like two chained exponential filters and it is some times called second order filter. &lt;br /&gt;
&lt;br /&gt;
The configuration is the same for exponential and double-exponential filters, just the type entry differs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;double-exponential&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First order high pass filter &amp;amp;lt;high-pass&amp;amp;gt; ===&lt;br /&gt;
The high pass filter is a typical [http://en.wikipedia.org/wiki/High-pass_filter high pass filter]. The magic euler number and the associated mathematical funtion exp() plays a major role here. As the name implies, higher frequencies can pass this filter while lower frequencies are cut. The frequency where only half of the input signal reaches the output is called cutoff frequency. This cutoff frequency is defined by the parameter &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and resolves as cutoff-frequency = 1/(2*pi*cutoff-frequency). It is commonly known as a wash-out filter or a 1st order lead filter&lt;br /&gt;
&lt;br /&gt;
Example: a 1Hz first order high pass filter &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;high-pass&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lead-Lag filter &amp;amp;lt;lead-lag&amp;amp;gt; ===&lt;br /&gt;
The lead-lag filter  is a typical [https://en.wikipedia.org/wiki/Lead%E2%80%93lag_compensator] lead lag filter. As the name implies it is a combination of a lead (high-pass) filter and a lag (low-pass) filter.&lt;br /&gt;
&lt;br /&gt;
Example: a lead lag filter k(s+a)/s+b).&lt;br /&gt;
The gain is k, filter-time-a is a, and filter-time-b is b.&lt;br /&gt;
&lt;br /&gt;
In an autopilot is is often used to sharpen up the response to an input. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;loc-deg leadlag&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;lead-lag&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;5&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time-a&amp;gt;5.0&amp;lt;/filter-time-a&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time-b&amp;gt;1.0&amp;lt;/filter-time-b&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/loc-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/loc-deg-leadlag&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Integrator filter &amp;amp;lt;lead-lag&amp;amp;gt; ===&lt;br /&gt;
The integrator filter provides integration with time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: an integrator filter k(1/s).&lt;br /&gt;
&lt;br /&gt;
In this example, the normal input (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;/autopilot/internal/p-deg_sec&amp;lt;/property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;)is disconnected and replaved by (output x 10) input when relay Rb is closed. This has the effect of rapidly ramping the integrator output to zero. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;synthetic bank from roll rate&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;integrator&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/autopilot/internal/Rb&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/p-deg_sec&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt; &amp;lt;!-- zero integrator when Rb is not set --&amp;gt;&lt;br /&gt;
    &amp;lt;expression&amp;gt;&lt;br /&gt;
      &amp;lt;product&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;-10.0&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/autopilot/internal/phi-deg_synth&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;/expression&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/phi-deg_synth&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;u_min&amp;gt;-180&amp;lt;/u_min&amp;gt;&lt;br /&gt;
  &amp;lt;u_max&amp;gt;180&amp;lt;/u_max&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Moving average filter &amp;amp;lt;moving-average&amp;amp;gt; ===&lt;br /&gt;
Calculates average of specified number of values.&lt;br /&gt;
&lt;br /&gt;
Currently the average length can only be given as number of samples and not time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;moving-average&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;samples&amp;gt;120&amp;lt;/samples&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rate limit filter &amp;amp;lt;noise-spike&amp;amp;gt; ===&lt;br /&gt;
A better name for a noise spike filter would probably have been &amp;quot;rate limit filter&amp;quot;. This is exactly what it does: limit the rate of change of the output value. The relevant configuration element is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max-rate-of-change&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; setting the maximum rate of change of the output property per second.&lt;br /&gt;
&lt;br /&gt;
Example: A transition from 0 to 4 at the input property results in a linear increase of the output property over 8 seconds from 0 to 4 at a rate of 0.5/sec.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;noise-spike&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;max-rate-of-change&amp;gt;0.5&amp;lt;/max-rate-of-change&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reciprocal filter &amp;amp;lt;reciprocal&amp;amp;gt; ===&lt;br /&gt;
Compute the reciprocal (1/x) value of the input property. If x is zero, no computation is performed. The optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element may be used to scale the value. Output computes as gain divided by input.&lt;br /&gt;
&lt;br /&gt;
Example: compute the flight time per pound of burned fuel from the fuel flow&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;reciprocal&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/engines/engine[0]/fuel-flow-pph&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/engines/engine[0]/fuel-flow-hpp&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Derivative filter &amp;amp;lt;derivative&amp;amp;gt; ===&lt;br /&gt;
Compute first time derivative of the input property, that is change per unit of time. Time is measured in seconds. A &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; acts as gain and must be given because it has default 0.&lt;br /&gt;
&lt;br /&gt;
Example: compute derivative of static port pressure&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;derivative&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;systems/static[0]/pressure-inhg&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;autopilot/internal/pressure-rate&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;1.0&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PID controller &amp;amp;lt;pid-controller&amp;amp;gt; ==&lt;br /&gt;
The [http://en.wikipedia.org/wiki/PID_controller PID controller] is the swiss army knife of automation and this implementation is suitable for most situations. It has a builtin anti-windup logic, and usage of &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements for clamping the output is mandatory. The most important thing to know is that this controller 'does not' compute absolute output values but an offset from the current value of the output property. This can lead to unexpected behavior if the current value of the output property is unknown when the controller is enabled. This behavior is different to that of the pi-simple-controller.&lt;br /&gt;
&lt;br /&gt;
The xml element creating a pid controller is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pid-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| The overall gain for the proportional, integral and derivative part&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ti&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Integrator time&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Td&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Derivator time&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ts&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Sampling interval (default: sample at frame rate)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;alpha&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scaling factor for Td (defaults to 0.1)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;beta&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Reference weighing factor for the proportional component (defaults to 1.0)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gamma&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Reference weighing factor for the derivate component (defaults to 0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PI controller &amp;amp;lt;pi-simple-controller&amp;amp;gt; ==&lt;br /&gt;
This controller implements a PI controller. Other than the PID controller, it computes absolute output values, regardless of the value of the output property. It can by configured as an I-only, P-only or PI-controller. It has anti windup logic if &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements are present.&lt;br /&gt;
The xml element creating a PI controller is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pi-simple-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Gain of the proportional component&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ki&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Gain of the integrator component&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Predictor &amp;amp;lt;predict-simple&amp;amp;gt; ==&lt;br /&gt;
Estimates the future value for a given property based on its current (or averaged) rate of change.&lt;br /&gt;
&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;seconds&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| The time to be estimated ahead&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Smoothing factor (0.0-1.0, 1.0=no smoothing)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example: compute estimated speed 5 seconds ahead&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;predict-simple&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;predicted air speed 5 seconds ahead&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;velocities/airspeed-kt&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;autopilot/internal/airspeed-5-sec-ahead&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;seconds&amp;gt;5.0&amp;lt;/seconds&amp;gt;&lt;br /&gt;
  &amp;lt;filter-gain&amp;gt;0.1&amp;lt;/filter-gain&amp;gt;&lt;br /&gt;
&amp;lt;/predict-simple&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== State Machine &amp;amp;lt;state-machine&amp;amp;gt; ==&lt;br /&gt;
For a description of what a state machine can do, look here: [http://en.wikipedia.org/wiki/Finite-state_machine].&lt;br /&gt;
&lt;br /&gt;
{{note|Current behaviour with enter, exit and update tags differs from this documentation. Refer to the developer mailing list [https://sourceforge.net/p/flightgear/mailman/message/35557652/] before implementing bindings in state machines.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;state-machine&amp;gt;&lt;br /&gt;
  &amp;lt;branch&amp;gt;/my-statemachine&amp;lt;/branch&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;init&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;enter&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/enter&amp;gt;&lt;br /&gt;
    &amp;lt;exit&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/exit&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/update&amp;gt;&lt;br /&gt;
  &amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;finished&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;enter&amp;gt;Zero to many bindings, fired upon state enter&amp;lt;/enter&amp;gt;&lt;br /&gt;
    &amp;lt;exit&amp;gt;Zero to many bindings, fired upon state exit&amp;lt;/exit&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;Zero to many bindings, fired upon every state change&amp;lt;/update&amp;gt;&lt;br /&gt;
  &amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;transition&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;ready&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;init&amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;target&amp;gt;finished&amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;exclude-target type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/exclude-target&amp;gt;&lt;br /&gt;
    &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;greater-than&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/sim/time/elapsed-sec&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;30&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
    &amp;lt;/condition&amp;gt;&lt;br /&gt;
    &amp;lt;binding&amp;gt;Zero to many bindings, fired upon state change&amp;lt;/binding&amp;gt;&lt;br /&gt;
  &amp;lt;/transition&amp;gt;&lt;br /&gt;
&amp;lt;/state-machine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Legal elements for the state machine are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;branch&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| A path to a property node where the internal states of the machine gets written to. Can be empty.&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;state&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Two ore more state elements are required for a minimal state machine&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;transition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Any number of transition elements. Describes how to change from one state to another.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legal elements for the state element are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, gives the state a name for reference&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enter&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many enter elements containing a SGBinding to fire upon state enter&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;exit&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many exit elements containing a SGBinding to fire upon state exit&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;update&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many update elements containing a SGBinding to fire upon state change&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Legal elements for the transition element are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, gives the transition a name for reference&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many source elements containing the name of a source state. If no source state is definied, this transition applies to all states.&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;target&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, exactly one target element defining the target state&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, contains a SGCondition when this state change occours&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;exclude-target&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, boolean flag defaults to true. Indicates if this transition should be evaluated even if current state equals target&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;binding&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many binding elements containing a SGBinding to fire when this transition triggers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Proposed extensions ==&lt;br /&gt;
This sections contains new features for the autopilot to be implemented. Nobody knows if and when this will happen. Consider this as a collection of ideas as a base for discussion on the mailing list, the forum or IRC.&lt;br /&gt;
&lt;br /&gt;
=== Expose to Nasal ===&lt;br /&gt;
Given that Nasal is a widely-known bottleneck, people should not use it for implement FDM/AP or route-manager functionality in scripting space. However, for the time being, the underlying C++ code is not exposed to scripting space, so that aircraft developers tend to reinvent the wheel. Thus, it would make sense to expose the AP/property-rule/state machine subsystems to scripting space using the [[Nasal/CppBind]] framework, to ensure that existing C++ code can be used for such purposes:&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I have recently committed some code to allow runtime loading of &amp;amp;lt;strike&amp;amp;gt;autopilots&amp;amp;lt;/strike&amp;amp;gt; property rules and have a Nasal binding for that in mind.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=149376#p149376&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: 2 Questions: vacuum &amp;amp; electrical&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Torsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Feb 2nd, 2012&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[Autopilot PID controller tuning resources]]&lt;br /&gt;
* [[Howto:Design an autopilot]]&lt;br /&gt;
* [[Howto:Implement a Fly-By-Wire System for Airliners]]&lt;br /&gt;
&lt;br /&gt;
=== Readme file ===&lt;br /&gt;
* {{readme file|digitalfilters}}&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
* {{flightgear source|src/Autopilot/digitalfilter.hxx}}&lt;br /&gt;
* {{flightgear source|src/Autopilot/autopilot.cxx}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Autopilot_configuration_reference&amp;diff=107439</id>
		<title>Autopilot configuration reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Autopilot_configuration_reference&amp;diff=107439"/>
		<updated>2017-03-19T13:25:35Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Adding a configuration to an aircraft */ Add note why some autopilot configs have certain indices, and some not.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Systems_Modeling_Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[File:FgPlot.jpg|400px|thumb|[[FGPlot]] can be used to plot the value properties while tuning an autopilot.]]&lt;br /&gt;
&lt;br /&gt;
{{forum|46|Autopilot &amp;amp; Route Manager}}&lt;br /&gt;
{{Autoflight Navigation}}&lt;br /&gt;
&lt;br /&gt;
: ''For a guide on how to model an autopilot using these elements, see [[Howto:Design an autopilot]].''&lt;br /&gt;
&lt;br /&gt;
The '''property rules''' used for '''autopilot configuration''' can also be used for other kinds of systems modeling.  The controllers and filters allow for both simple and complex systems to be modeled.  By using the output from one as the input to another one, very complex systems such as fly-by-wire systems with different control laws can be modeled.&lt;br /&gt;
&lt;br /&gt;
This page serves as a reference for the elements of [[FlightGear]] XML [[autopilot]] and property rule configuration files. It describes all elements available within the autopilot configuration file supported in the bleeding edge [[Git]] sources. Some of the elements may not be available in the current release version of FlightGear.&lt;br /&gt;
&lt;br /&gt;
For built-in runtime plotting of FlightGear properties (including FDM/Autopilot properties), check out [[FGPlot]] (available in FlightGear 2.11+).&lt;br /&gt;
&lt;br /&gt;
== Autopilot vs. property-rule configurations ==&lt;br /&gt;
The main difference between XML based autopilot and property-rule systems is the update rate:&lt;br /&gt;
&lt;br /&gt;
* Autopilot configurations run at [[FDM]] rate&lt;br /&gt;
* Property-rule configurations run at frame rate&lt;br /&gt;
&lt;br /&gt;
=== Performance considerations ===&lt;br /&gt;
Using property-rule elements for things that does not have to run a FDM rate can improve the frame rate, in particular for complex systems and on weaker computers.  Depending on FlightGear settings and the hardware, the FDM rate is about 2–10 times higher than the frame rate.&lt;br /&gt;
&lt;br /&gt;
It is possible to implement a system using both autopilot and property-rule based elements.  They can communicate with each other using [[Property tree|properties]].  The only disadvantage is that they will be split between an autopilot and a property-rule configuration file.&lt;br /&gt;
&lt;br /&gt;
For example would a fly-by-wire flight control system element augmenting an unstable aircraft need to run at FDM rate, while an element depending on the flap extension would work just as well at frame rate.&lt;br /&gt;
&lt;br /&gt;
== Adding a configuration to an aircraft ==&lt;br /&gt;
A configuration is added to an aircraft by adding the path to an XML configuration file to the &amp;lt;code&amp;gt;&amp;amp;lt;Aircraft&amp;amp;gt;-set.xml&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
=== Adding an autopilot configuration ===&lt;br /&gt;
Autopilot configuration files are added to the aircraft by adding&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;autopilot n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Aircraft/MyAircraft/Systems/my-autopilot.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;/autopilot&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to the&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;sim&amp;gt;&lt;br /&gt;
   &amp;lt;systems&amp;gt;&lt;br /&gt;
     &amp;lt;!-- many other elements live here --&amp;gt;&lt;br /&gt;
     &amp;lt;autopilot n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;path&amp;gt;Aircraft/MyAircraft/Systems/my-autopilot.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
     &amp;lt;/autopilot&amp;gt;&lt;br /&gt;
   &amp;lt;/systems&amp;gt;&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
node of your &amp;lt;code&amp;gt;aircraft-set.xml&amp;lt;/code&amp;gt; file. Note, that more than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;autopilot&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; node may be present, each will create a new instance of the autopilot subsystem when running FlightGear. They run in the order of appearance under &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;systems&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. For example, lateral and vertical autopilot modes could live in separate files, as could a yaw-damper system.&lt;br /&gt;
&lt;br /&gt;
{{note|While the above seems to be the recommended standard, it has occasionally lead to trouble, not to index additional autopilot configurations. Anyway, it shouldn't hurt to do so.&amp;lt;br&amp;gt;&lt;br /&gt;
FG first loads generic configs, which get indexed atomatically as they appear. Then you override these generic configs with your own, which may lead to strange behaviour, if you for example overwrite the weather rules with an autopilot-helper configuration. Not only will you have no weather anymore, but also 2 systems that will most likely overwrite each others results all the time. Check the property-tree at &amp;lt;code&amp;gt;/sim/systems/autopilot[*]&amp;lt;code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Adding a property-rule configuration ===&lt;br /&gt;
Property-rules can also be used in which case they will run at frame rate. You can use these to process properties so their values can be used by other systems outside of the autopilot scope (for example to create smooth animations for switches that normally have discrete values)&lt;br /&gt;
&lt;br /&gt;
To achieve this load your filters configuration by adding:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property-rule n=&amp;quot;100&amp;quot;&amp;gt;  &amp;lt;!-- &amp;quot;n&amp;quot; needs to be &amp;gt;= 100 to avoid overwriting other predefined global rules (in particular the environment ones) --&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;My property rule&amp;lt;/name&amp;gt;  &amp;lt;!--  Optional name tag useful for debugging and other maintenance --&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Systems/my-propertyrules.xml&amp;lt;/path&amp;gt;  &amp;lt;!-- path can be relative to the current aircraft-set.xml location --&amp;gt;&lt;br /&gt;
  &amp;lt;/property-rule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(Do NOT use the filename &amp;quot;propertyrules.xml&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
to the :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;sim&amp;gt;&lt;br /&gt;
    &amp;lt;systems&amp;gt;&lt;br /&gt;
      &amp;lt;!-- many other elements live here --&amp;gt;&lt;br /&gt;
      &amp;lt;property-rule n=&amp;quot;100&amp;quot;&amp;gt;  &amp;lt;!-- &amp;quot;n&amp;quot; needs to be &amp;gt;= 100 to avoid overwriting other predefined global rules (in particular the environment ones) --&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;My property rule&amp;lt;/name&amp;gt;  &amp;lt;!--  Optional name tag useful for debugging and other maintenance --&amp;gt;&lt;br /&gt;
        &amp;lt;path&amp;gt;Systems/my-propertyrules.xml&amp;lt;/path&amp;gt;  &amp;lt;!-- path can be relative to the current aircraft-set.xml location --&amp;gt;&lt;br /&gt;
      &amp;lt;/property-rule&amp;gt;&lt;br /&gt;
    &amp;lt;/systems&amp;gt;&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
node of your &amp;lt;code&amp;gt;&amp;amp;lt;aircraft&amp;amp;gt;-set.xml&amp;lt;/code&amp;gt; file. Note that you can add multiple &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property-rule&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements, similar to the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;autopilot&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; as described above.&lt;br /&gt;
&lt;br /&gt;
{{tip|Configurations can be enabled and disabled through the boolean properties &amp;lt;code&amp;gt;/sim/systems/autopilot[''n'']/serviceable&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/sim/systems/property-rule[''n'']/serviceable&amp;lt;/code&amp;gt;, where''n'' is the index for a configuration}}&lt;br /&gt;
&lt;br /&gt;
== Structure of a configuration file ==&lt;br /&gt;
Autopilot configurations live in a separate file, formatted using the well known XML syntax like so many other FlightGear files with a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;PropertyList&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; node as a root element. A basic skeleton file looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;params include=&amp;quot;MyParams.xml&amp;quot;&amp;gt; &amp;lt;!-- Params can be included like this --&amp;gt;&lt;br /&gt;
    &amp;lt;controls&amp;gt;&lt;br /&gt;
      &amp;lt;aileron&amp;gt;controls/flight/aileron&amp;lt;/aileron&amp;gt;&lt;br /&gt;
      &amp;lt;rudder&amp;gt;controls/flight/rudder&amp;lt;/rudder&amp;gt;&lt;br /&gt;
      &amp;lt;elevator&amp;gt;controls/flight/elevator&amp;lt;/elevator&amp;gt;&lt;br /&gt;
    &amp;lt;/controls&amp;gt;&lt;br /&gt;
  &amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Place your components here --&amp;gt;&lt;br /&gt;
  &amp;lt;!--&lt;br /&gt;
  &amp;lt;filter&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Myfilter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;input&amp;gt;/foo&amp;lt;/input&amp;gt;&lt;br /&gt;
    &amp;lt;output&amp;gt;/bar&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;/filter&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Myfilter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;input alias=&amp;quot;/params/control/aileron&amp;quot;/&amp;gt;  Aliasing a property name&lt;br /&gt;
    &amp;lt;output&amp;gt;/bar&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;/filter&amp;gt;&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The location and the name of the configuration file is up to the developer. A descriptive name like &amp;lt;code&amp;gt;autopilot.xml&amp;lt;/code&amp;gt; might be a good choice. Most developers put these files into the &amp;lt;code&amp;gt;Systems&amp;lt;/code&amp;gt; folder of the aircraft.&lt;br /&gt;
&lt;br /&gt;
{{tip|Using [[PropertyList XML files#Aliased properties|aliased property names]] is good style and makes the configuration file more readable.  The params section may be included from an external file to avoid duplication of code.&lt;br /&gt;
&lt;br /&gt;
For complex systems, spread over multiple autopilot and/or property-rule configuration files, this can greatly aid debugging and maintenance.}}&lt;br /&gt;
&lt;br /&gt;
{{tip|Commenting the configuration file to document the purpose elements and groups of elements and what they are intended to do can also aid debugging and maintenance.}}&lt;br /&gt;
&lt;br /&gt;
== Available elements ==&lt;br /&gt;
All elements may contain the attributes &amp;quot;include&amp;quot; and &amp;quot;alias&amp;quot;. &lt;br /&gt;
The &amp;quot;include&amp;quot; property takes a file name as a parameter. This can be used to read the document tree of an external XML file into the node containing the &amp;quot;include&amp;quot; attribute. The included file must have a PropertyList node as the root node. All nodes under this PropertyList node will be added to the node containing the &amp;quot;include&amp;quot; attribute.&lt;br /&gt;
The &amp;quot;alias&amp;quot; attribute refers to an element defined elsewhere in this XMl document. Alias references are in a path-style syntax, either as a relative or absolute path. Absolute paths start with a slash, like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;foo alias=&amp;quot;/params/bar/baz&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. Use the colon to move through the document tree, similar to file system paths like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;foo alias=&amp;quot;../../bar/baz&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Any top-level element can appear in an autopilot XML file, but only the following elements will be recognised and used:&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pid-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pi-simple-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;predict-simple&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;logic&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;flipflop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;state-machine&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common elements used by all elements ==&lt;br /&gt;
&lt;br /&gt;
=== Name of filter and controller &amp;amp;lt;name&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is optional, but should be added to give the controller a distinct name. It is only used in debug output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;NAV hold&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Feedback &amp;amp;lt;feedback-if-disabled&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;feedback-if-disabled&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element advises the controller to feed back the output property value to the active input property if the condition defined in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag evaluates to false. This is usually required for controllers like servo drivers behind a PID-controller to give that PID-controller a valid starting value when it becomes enabled. The absence of this element or anything but the word &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt; within this element results in feedback disabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;feedback-if-disabled&amp;gt;true&amp;lt;/feedback-if-disabled&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Printing debug output &amp;amp;lt;debug&amp;amp;gt; ===&lt;br /&gt;
If the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;debug&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is present and if it contains the word &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt;, the containing controller prints out some diagnostic information on the console for each processing loop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug&amp;gt;true&amp;lt;/debug&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input and reference properties or values &amp;amp;lt;input&amp;amp;gt; and &amp;amp;lt;reference&amp;amp;gt; ===&lt;br /&gt;
Each controller has two input &amp;quot;lines&amp;quot;, denoted by the tags &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. The arithmetic difference of these two values is used by the respective controller to compute it's output. Unfortunately due to historical reasons, the sign of input and reference is not consistent for all controllers. While the pid-controller and the pi-simple-controller compute &amp;quot;reference-input&amp;quot;, the filter controller computes &amp;quot;input-reference&amp;quot;. Each element is optional with a default value of zero. These elements are made of so called ''input values'' described further down in this document.&lt;br /&gt;
&lt;br /&gt;
Example for a simple differential amplifier, computing output = (input-reference)*2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;reference&amp;gt;/some/output&amp;lt;/reference&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Output property &amp;amp;lt;output&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element names the properties, the computed value should be written to. More than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; may be present, each named property will be assigned the computed value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;output&amp;gt;controls/flight/elevator&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Enabling and disabling a filter &amp;amp;lt;enable&amp;amp;gt; ===&lt;br /&gt;
Controllers can be enabled or disabled using property values. This element &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; may contain a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;prop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. The controller is enabled, if the value of the named property equals the given value. This feature is considered deprecated and might go away in future releases. The preferred way of defining the enable-condition is by adding a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element to the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. This &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; follows the same syntactical rules as the one used in model animations and can model complex expression trees.&lt;br /&gt;
To enable a wing leveler only if the current bank angle does not exceed 30° of bank, use this condition&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enable&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;less-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;30.0&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/less-than&amp;gt;&lt;br /&gt;
    &amp;lt;greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;-30.0&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
&amp;lt;/enable&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input values ===&lt;br /&gt;
Input values for controllers may be specified in several notations. Values may be supplied as constants, from properties or by means of simple linear transformations. Conditions allow the selection of one of multiple input sources. The following text will use the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element as an example but it may be substituted by any other input element like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; etc. Input values will be interpreted as double values.&lt;br /&gt;
&lt;br /&gt;
==== A constant value &amp;amp;lt;value&amp;amp;gt; or &amp;amp;lt;reference&amp;amp;gt; ====&lt;br /&gt;
A constant value is defined by just adding the value as text to the input element: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;value&amp;gt;3.5&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The shortcut syntax is also valid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;3.5&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the text can be parsed by &amp;lt;code&amp;gt;strtod()&amp;lt;/code&amp;gt; to a double value, it will be used as a constant value, otherwise it will be interpreted as a property value (see next paragraph)&lt;br /&gt;
&lt;br /&gt;
==== A property value ====&lt;br /&gt;
To evaluate the value of a property, place the name of the property into the text element:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/my/property&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The shortcut syntax is also valid:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;/my/property&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|The shortcut syntax is only valid, if neither &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; nor &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element exists.&lt;br /&gt;
If both &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; '''and''' &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element exist, the property will be initialized with the given value with scale and offset applied correctly.&lt;br /&gt;
Properties don't have to exist, the will be created as needed.}}&lt;br /&gt;
&lt;br /&gt;
{{note|For backward compatibility, the notation &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;prop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; instead of &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; is also valid but considered deprecated and might go away in future releases.}}&lt;br /&gt;
&lt;br /&gt;
==== Linear transformation of the input value &amp;amp;lt;offset&amp;amp;gt; ====&lt;br /&gt;
Input values may be scaled and shifted before they are processed by the controller using the formula &amp;lt;tt&amp;gt;y = value * scale + offset&amp;lt;/tt&amp;gt;&lt;br /&gt;
To use a Celsius temperature property in a controller which expects the temperature in Fahrenheit you might use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/environment/temperature-degc&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;1.8&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;32&amp;lt;/offset&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Periodical transformation of the input value &amp;amp;lt;period&amp;amp;gt; ====&lt;br /&gt;
Periodical (like angular) input values can be transformed to appear in the correct phase before they are processed by the controller by adding or subtracting multiples of the period to the input value until the values is in the requested periods interval.&lt;br /&gt;
The following example converts the heading which comes in the range of [0..360] into the range of [-180..+180]. This will cause a heading of 270 to be processed as a value of -90.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/orientation/heading-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;period&amp;gt;&lt;br /&gt;
    &amp;lt;min&amp;gt;-180.0&amp;lt;/min&amp;gt;&lt;br /&gt;
    &amp;lt;max&amp;gt;180.0&amp;lt;/max&amp;gt;&lt;br /&gt;
  &amp;lt;/period&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Input clamping &amp;amp;lt;min&amp;amp;gt; and &amp;amp;lt;max&amp;amp;gt; ====&lt;br /&gt;
To clamp the input to a minimum value, maximum value or both, the tags &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; can be used. Clamping will occur after the linear transformation has been applied. Note the difference of input clamping to output clamping. While input clamping is applied '''before''' the signal reaches the controller, output clamping will be applied to the output signal '''after''' it has been processed.&lt;br /&gt;
&lt;br /&gt;
The following code will keep the input to the controller in the range of 60 to 80 degrees Fahrenheit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/environment/temperature-degc&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;1.8&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;32&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;60&amp;lt;/min&amp;gt;&lt;br /&gt;
  &amp;lt;max&amp;gt;80&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Absolute values &amp;amp;lt;abs&amp;amp;gt; ====&lt;br /&gt;
To use the absolute (unsigned) value of the input, add &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;abs type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/abs&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/autopilot/internal/course-error-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;abs type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/abs&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recursive definition ====&lt;br /&gt;
The elements &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;scale&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; itself can be defined as input values. This code uses as reference the value of course-error-deg, scaled by two and an offset applied which is calculated as the product of the bank-angle-de and the property some/property which itself is limited within the range of -1.5 .. +1.5.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/autopilot/internal/course-error-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;2.0&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;scale&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;some/property&lt;br /&gt;
      &amp;lt;min&amp;gt;-1.5&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;1.5&amp;lt;/max&amp;gt;&lt;br /&gt;
    &amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;/offset&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Conditional input values &amp;amp;lt;condition&amp;amp;gt; ====&lt;br /&gt;
The direct inputs of controller and filter elements support so called input value lists. This is useful, if the input should be connected to one of many separate inputs like autopilots connected to NAV1, NAV2 or the GPS. A standard &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is allowed within an input value element. The input value list will be traversed until the first input value with a successful condition is found. The behavior is much like the switch statement in programming languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/coupled-to-gps&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;instrumentation/gps/desired-track-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/coupled-to-nav2&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;instrumentation/nav[1]/radials/selected-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;instrumentation/nav[0]/radials/selected-deg&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the unconditional last &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element which acts as an &amp;quot;if all others fail, use NAV1&amp;quot; anchor. If no input value return with a successful condition, the input value is undefined.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;scale&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements of input values itself currently don't support input value lists.&lt;br /&gt;
&lt;br /&gt;
==== Expressions &amp;amp;lt;expression&amp;amp;gt; ====&lt;br /&gt;
Complex math or lookup tables may be represented using the [[expression]] syntax. The expression has to be enclosed in &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;expression&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
=== Output values ===&lt;br /&gt;
After processing of a component, the resulting value passes a transformation stage where it can be clipped or normalized into a given period. Periodic values such as angular properties may be normalized into a given period by adding a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;period&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element, defining the lower and upper bounds of the period. Additionally, a maximun and a minimum value may be given which will guarantee that the output value will ever exceed a defined value. &lt;br /&gt;
&lt;br /&gt;
{{note|Both periodical normalization and clipping may be defined. If both are given, the value will be normalized first and the clipping will be applied to the normalized value.}}&lt;br /&gt;
&lt;br /&gt;
The following example shifts the computed value into the interval of [-180..180] thereafter being limited into the interval of [-30..30]. The following table contains some computed values and the resulting written value:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! computed !! written&lt;br /&gt;
|-&lt;br /&gt;
|     -350 ||  10&lt;br /&gt;
|-&lt;br /&gt;
|     -270 ||  30&lt;br /&gt;
|-&lt;br /&gt;
|      -90 || -30&lt;br /&gt;
|-&lt;br /&gt;
|      -29 || -29&lt;br /&gt;
|-&lt;br /&gt;
|       29 ||  29&lt;br /&gt;
|-&lt;br /&gt;
|       90 ||  30&lt;br /&gt;
|-&lt;br /&gt;
|      350 || -10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;output&amp;gt;/some/property&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;period&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;-180&amp;lt;/min&amp;gt;&lt;br /&gt;
  &amp;lt;max&amp;gt;180&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/period&amp;gt;&lt;br /&gt;
&amp;lt;min&amp;gt;-30&amp;lt;/min&amp;gt;&lt;br /&gt;
&amp;lt;max&amp;gt;30&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use a table to vary an output with height. At sea level, the output is 0.045, at 22400 the output is 0.1196, and at 56000 ft the output is 0.7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;GAy&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;expression&amp;gt;&lt;br /&gt;
      &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/instrumentation/altimeter/indicated-altitude-ft&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;0.0&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.045&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;22400&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.1196&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;56000&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.7&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
      &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;/expression&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/gain/GAy&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logic controller &amp;amp;lt;logic&amp;amp;gt; ==&lt;br /&gt;
The logic controller provides a simple way of creating property values from the result of the condition expression in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. The condition expression is evaluated once per iteration and the result is written as a boolean value to the named output property or properties. An optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;inverted&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element inverts the logic. The default is &amp;quot;not inverted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example: output = not( ( a is true ) or ( ( b greater than c ) and ( d is true ) )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;logic&amp;gt;&lt;br /&gt;
  &amp;lt;inverted&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;a&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;or&amp;gt;&lt;br /&gt;
      &amp;lt;greater-than&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;b&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;c&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;d&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/or&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/logic&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Flip flop logic &amp;amp;lt;flipflop&amp;amp;gt; ==&lt;br /&gt;
A flip flop is a controller that has two stable states so it can be used as a one bit memory. Four types of flip flops are implemented: '''RS''', '''JK''', '''D''' and '''T'''. All use positive logic and operate on the raising edge of the clock signal if a clock is used.&lt;br /&gt;
All input lines, including the clock line, are encoded as condition constructs.&lt;br /&gt;
If negative logic for the input line is required, wrap the condition into a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;not&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag to invert the logic.&lt;br /&gt;
&lt;br /&gt;
{{note|The type, for example '''RS''', is case sensitive.}}&lt;br /&gt;
{{note|Using &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tags will break the logic.}}&lt;br /&gt;
&lt;br /&gt;
=== RS flip flop &amp;amp;lt;RS&amp;amp;gt; ===&lt;br /&gt;
This flip flop sets its output according to the set (S) or reset (R) input lines. If the set line is set, the output gets set. If the reset line is set, the output gets reset. If no line is set, the output stays unchanged. For the special case where set and reset lines are both set, two types of RS flip flops exist: for the RS flip flop (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;type&amp;gt;RS&amp;lt;/type&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;), the reset line is dominant and the output is reset. Alternatively, a SR flip flop (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;type&amp;gt;SR&amp;lt;/type&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;) has a dominant set line and the output gets set if set and reset line are set.&lt;br /&gt;
&lt;br /&gt;
Example: simple RS flip flop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;RS&amp;lt;/type&amp;gt; &amp;lt;!-- or SR --&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/set&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;R&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/reset&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/R&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JK flip flop &amp;amp;lt;JK&amp;amp;gt; ===&lt;br /&gt;
The JK flip flop is an extension of the RS flip flop. In addition to the set and reset lines of the RS flip flop it uses J, K and a clock input.&lt;br /&gt;
The J line serves as a clock dependent set input while the K line does the reset job. Optionally, a clock input may be provided. State changes do not occur immediately, but on the next raising edge of the clock signal. The state of J=K=true causes the output to toggle it's current state on the next raising edge of the clock signal.&lt;br /&gt;
If no clock signal is provided, the frame rate serves as the clock input.&lt;br /&gt;
&lt;br /&gt;
Example: simple JK flip flop with negative edge clock&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;JK&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;J&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/set&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/J&amp;gt;&lt;br /&gt;
  &amp;lt;K&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/reset&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/K&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;not&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/not&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== D flip flop &amp;amp;lt;D&amp;amp;gt; ===&lt;br /&gt;
The D flip flop transfers the state of the input signal '''D''' to the output line at the next raising edge of the clock signal, which is mandatory for this flip flop.&lt;br /&gt;
&lt;br /&gt;
Example: simple D flip flop with inverted output&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;D&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;D&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/data&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/D&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;inverted type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T flip flop &amp;amp;lt;T&amp;amp;gt; ===&lt;br /&gt;
The T flip flop toggles the state of the output signal at the next raising edge of the clock signal, which is mandatory for this flip flop.&lt;br /&gt;
&lt;br /&gt;
Example: simple T flip flop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;T&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Monostable flip flop &amp;amp;lt;monostable&amp;amp;gt; ===&lt;br /&gt;
A monostable flip flop has only one stable state which will be reentered after a well defined time. The stable state in current implementation is the output set 'false' or 0. The Monostable is an extension of the JK flip flop. Additionally to the input values defined there, an InputValue for the definition of the pulse time is mandatory. &lt;br /&gt;
&lt;br /&gt;
The moment the time for the astable state starts counting depends on the input used to set the output. If the output is set from the SET input of the RS flipflop, the output is kept true for the defined time ''after'' the SET input enters it's false state. The total time the output is true equals the time, the SET input is true plus the time defined in the &amp;lt;time&amp;gt; element.&lt;br /&gt;
If the output is set from the J and clock inputs of the JK flipflop, the timer starts on the raising edge of the clock input. The output signal will be true for exactly the time defined in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. &lt;br /&gt;
&lt;br /&gt;
{{note|The optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;R&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;K&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; inputs may be used to reset the output before the internal timer expired. This will also reset the timer to zero, so no additional event will be triggered after the defined timer interval.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Test mf&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;monostable&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;time&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/pulsetime-sec&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;value&amp;gt;10&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/time&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&amp;lt;property&amp;gt;/myflipflop/s&amp;lt;/property&amp;gt;&amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;J&amp;gt;&amp;lt;property&amp;gt;/myflipflop/j&amp;lt;/property&amp;gt;&amp;lt;/J&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example shows how a monostable can be used to enable a certain property (/myflipflop/output) if another property (/myflipflop/s) is true for at least the specified amount of time:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Test mf&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;monostable&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;inverted type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&lt;br /&gt;
    &amp;lt;not&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/myflipflop/s&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/not&amp;gt;&lt;br /&gt;
  &amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;time&amp;gt;&lt;br /&gt;
    &amp;lt;value&amp;gt;10.0&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/time&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/output&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example the monostable is inverted, which means the stable state is true instead of false. The key idea here is to keep the monostable in its unstable state (false) by keeping the set line true, which is the case when /myflipflop/s is false. Then, when /myflipflop/s becomes true the set line becomes false, which causes the timer to start. When the timer expires (in this case 10 seconds) the monostable will enter its stable state (true). At any time when the set line becomes true (when /myflipflop/s becomes false) the monostable will immediately enter its unstable state (false) again, resulting in /myflipflop/output to become false immediately.&lt;br /&gt;
&lt;br /&gt;
== Filters &amp;amp;lt;filter&amp;amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== Pure gain filter &amp;amp;lt;gain&amp;amp;gt; ===&lt;br /&gt;
A gain filter multiplies the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; value by a given factor or gain &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and returns the output to &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. More than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element formatted as in [[Autopilot Configuration Reference#Input Values|Input Values]] may be present.  Within a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; evaluating as true the first &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; will define the used gain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;6.28&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;radius&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;circumfence&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== First order low pass filter &amp;amp;lt;exponential&amp;amp;gt; ===&lt;br /&gt;
The exponential filter is a typical [http://en.wikipedia.org/wiki/Low-pass_filter low pass filter]. The magic Euler number and the associated mathematical function exp() plays a major role here. As the name implies, lower frequencies can pass this filter while higher frequencies are cut. The frequency where only half of the input signal reaches the output is called cutoff frequency. This cutoff frequency is defined by the parameter &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and resolves as cutoff-frequency = 1/(2*pi*cutoff-frequency).&lt;br /&gt;
&lt;br /&gt;
Example: a 1Hz first order low pass filter &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;exponential&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Second order low pass filter &amp;amp;lt;double-exponential&amp;amp;gt; ===&lt;br /&gt;
The double exponential filter is a low pass filter like the exponential filter with a steeper slope of the filter diagram. It acts basically like two chained exponential filters and it is some times called second order filter. &lt;br /&gt;
&lt;br /&gt;
The configuration is the same for exponential and double-exponential filters, just the type entry differs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;double-exponential&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First order high pass filter &amp;amp;lt;high-pass&amp;amp;gt; ===&lt;br /&gt;
The high pass filter is a typical [http://en.wikipedia.org/wiki/High-pass_filter high pass filter]. The magic euler number and the associated mathematical funtion exp() plays a major role here. As the name implies, higher frequencies can pass this filter while lower frequencies are cut. The frequency where only half of the input signal reaches the output is called cutoff frequency. This cutoff frequency is defined by the parameter &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and resolves as cutoff-frequency = 1/(2*pi*cutoff-frequency). It is commonly known as a wash-out filter or a 1st order lead filter&lt;br /&gt;
&lt;br /&gt;
Example: a 1Hz first order high pass filter &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;high-pass&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lead-Lag filter &amp;amp;lt;lead-lag&amp;amp;gt; ===&lt;br /&gt;
The lead-lag filter  is a typical [https://en.wikipedia.org/wiki/Lead%E2%80%93lag_compensator] lead lag filter. As the name implies it is a combination of a lead (high-pass) filter and a lag (low-pass) filter.&lt;br /&gt;
&lt;br /&gt;
Example: a lead lag filter k(s+a)/s+b).&lt;br /&gt;
The gain is k, filter-time-a is a, and filter-time-b is b.&lt;br /&gt;
&lt;br /&gt;
In an autopilot is is often used to sharpen up the response to an input. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;loc-deg leadlag&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;lead-lag&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;5&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time-a&amp;gt;5.0&amp;lt;/filter-time-a&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time-b&amp;gt;1.0&amp;lt;/filter-time-b&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/loc-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/loc-deg-leadlag&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Integrator filter &amp;amp;lt;lead-lag&amp;amp;gt; ===&lt;br /&gt;
The integrator filter provides integration with time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: an integrator filter k(1/s).&lt;br /&gt;
&lt;br /&gt;
In this example, the normal input (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;/autopilot/internal/p-deg_sec&amp;lt;/property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;)is disconnected and replaved by (output x 10) input when relay Rb is closed. This has the effect of rapidly ramping the integrator output to zero. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;synthetic bank from roll rate&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;integrator&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/autopilot/internal/Rb&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/p-deg_sec&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt; &amp;lt;!-- zero integrator when Rb is not set --&amp;gt;&lt;br /&gt;
    &amp;lt;expression&amp;gt;&lt;br /&gt;
      &amp;lt;product&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;-10.0&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/autopilot/internal/phi-deg_synth&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;/expression&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/phi-deg_synth&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;u_min&amp;gt;-180&amp;lt;/u_min&amp;gt;&lt;br /&gt;
  &amp;lt;u_max&amp;gt;180&amp;lt;/u_max&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Moving average filter &amp;amp;lt;moving-average&amp;amp;gt; ===&lt;br /&gt;
Calculates average of specified number of values.&lt;br /&gt;
&lt;br /&gt;
Currently the average length can only be given as number of samples and not time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;moving-average&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;samples&amp;gt;120&amp;lt;/samples&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rate limit filter &amp;amp;lt;noise-spike&amp;amp;gt; ===&lt;br /&gt;
A better name for a noise spike filter would probably have been &amp;quot;rate limit filter&amp;quot;. This is exactly what it does: limit the rate of change of the output value. The relevant configuration element is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max-rate-of-change&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; setting the maximum rate of change of the output property per second.&lt;br /&gt;
&lt;br /&gt;
Example: A transition from 0 to 4 at the input property results in a linear increase of the output property over 8 seconds from 0 to 4 at a rate of 0.5/sec.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;noise-spike&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;max-rate-of-change&amp;gt;0.5&amp;lt;/max-rate-of-change&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reciprocal filter &amp;amp;lt;reciprocal&amp;amp;gt; ===&lt;br /&gt;
Compute the reciprocal (1/x) value of the input property. If x is zero, no computation is performed. The optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element may be used to scale the value. Output computes as gain divided by input.&lt;br /&gt;
&lt;br /&gt;
Example: compute the flight time per pound of burned fuel from the fuel flow&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;reciprocal&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/engines/engine[0]/fuel-flow-pph&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/engines/engine[0]/fuel-flow-hpp&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Derivative filter &amp;amp;lt;derivative&amp;amp;gt; ===&lt;br /&gt;
Compute first time derivative of the input property, that is change per unit of time. Time is measured in seconds. A &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; acts as gain and must be given because it has default 0.&lt;br /&gt;
&lt;br /&gt;
Example: compute derivative of static port pressure&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;derivative&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;systems/static[0]/pressure-inhg&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;autopilot/internal/pressure-rate&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;1.0&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PID controller &amp;amp;lt;pid-controller&amp;amp;gt; ==&lt;br /&gt;
The [http://en.wikipedia.org/wiki/PID_controller PID controller] is the swiss army knife of automation and this implementation is suitable for most situations. It has a builtin anti-windup logic, and usage of &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements for clamping the output is mandatory. The most important thing to know is that this controller 'does not' compute absolute output values but an offset from the current value of the output property. This can lead to unexpected behavior if the current value of the output property is unknown when the controller is enabled. This behavior is different to that of the pi-simple-controller.&lt;br /&gt;
&lt;br /&gt;
The xml element creating a pid controller is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pid-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| The overall gain for the proportional, integral and derivative part&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ti&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Integrator time&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Td&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Derivator time&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ts&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Sampling interval (default: sample at frame rate)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;alpha&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scaling factor for Td (defaults to 0.1)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;beta&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Reference weighing factor for the proportional component (defaults to 1.0)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gamma&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Reference weighing factor for the derivate component (defaults to 0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PI controller &amp;amp;lt;pi-simple-controller&amp;amp;gt; ==&lt;br /&gt;
This controller implements a PI controller. Other than the PID controller, it computes absolute output values, regardless of the value of the output property. It can by configured as an I-only, P-only or PI-controller. It has anti windup logic if &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements are present.&lt;br /&gt;
The xml element creating a PI controller is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pi-simple-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Gain of the proportional component&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ki&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Gain of the integrator component&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Predictor &amp;amp;lt;predict-simple&amp;amp;gt; ==&lt;br /&gt;
Estimates the future value for a given property based on its current (or averaged) rate of change.&lt;br /&gt;
&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;seconds&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| The time to be estimated ahead&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Smoothing factor (0.0-1.0, 1.0=no smoothing)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example: compute estimated speed 5 seconds ahead&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;predict-simple&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;predicted air speed 5 seconds ahead&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;velocities/airspeed-kt&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;autopilot/internal/airspeed-5-sec-ahead&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;seconds&amp;gt;5.0&amp;lt;/seconds&amp;gt;&lt;br /&gt;
  &amp;lt;filter-gain&amp;gt;0.1&amp;lt;/filter-gain&amp;gt;&lt;br /&gt;
&amp;lt;/predict-simple&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== State Machine &amp;amp;lt;state-machine&amp;amp;gt; ==&lt;br /&gt;
For a description of what a state machine can do, look here: [http://en.wikipedia.org/wiki/Finite-state_machine].&lt;br /&gt;
&lt;br /&gt;
{{note|Current behaviour with enter, exit and update tags differs from this documentation. Refer to the developer mailing list [https://sourceforge.net/p/flightgear/mailman/message/35557652/] before implementing bindings in state machines.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;state-machine&amp;gt;&lt;br /&gt;
  &amp;lt;branch&amp;gt;/my-statemachine&amp;lt;/branch&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;init&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;enter&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/enter&amp;gt;&lt;br /&gt;
    &amp;lt;exit&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/exit&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/update&amp;gt;&lt;br /&gt;
  &amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;finished&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;enter&amp;gt;Zero to many bindings, fired upon state enter&amp;lt;/enter&amp;gt;&lt;br /&gt;
    &amp;lt;exit&amp;gt;Zero to many bindings, fired upon state exit&amp;lt;/exit&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;Zero to many bindings, fired upon every state change&amp;lt;/update&amp;gt;&lt;br /&gt;
  &amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;transition&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;ready&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;init&amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;target&amp;gt;finished&amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;exclude-target type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/exclude-target&amp;gt;&lt;br /&gt;
    &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;greater-than&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/sim/time/elapsed-sec&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;30&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
    &amp;lt;/condition&amp;gt;&lt;br /&gt;
    &amp;lt;binding&amp;gt;Zero to many bindings, fired upon state change&amp;lt;/binding&amp;gt;&lt;br /&gt;
  &amp;lt;/transition&amp;gt;&lt;br /&gt;
&amp;lt;/state-machine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Legal elements for the state machine are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;branch&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| A path to a property node where the internal states of the machine gets written to. Can be empty.&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;state&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Two ore more state elements are required for a minimal state machine&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;transition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Any number of transition elements. Describes how to change from one state to another.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legal elements for the state element are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, gives the state a name for reference&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enter&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many enter elements containing a SGBinding to fire upon state enter&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;exit&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many exit elements containing a SGBinding to fire upon state exit&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;update&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many update elements containing a SGBinding to fire upon state change&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Legal elements for the transition element are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, gives the transition a name for reference&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many source elements containing the name of a source state. If no source state is definied, this transition applies to all states.&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;target&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, exactly one target element defining the target state&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, contains a SGCondition when this state change occours&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;exclude-target&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, boolean flag defaults to true. Indicates if this transition should be evaluated even if current state equals target&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;binding&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many binding elements containing a SGBinding to fire when this transition triggers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Proposed extensions ==&lt;br /&gt;
This sections contains new features for the autopilot to be implemented. Nobody knows if and when this will happen. Consider this as a collection of ideas as a base for discussion on the mailing list, the forum or IRC.&lt;br /&gt;
&lt;br /&gt;
=== Expose to Nasal ===&lt;br /&gt;
Given that Nasal is a widely-known bottleneck, people should not use it for implement FDM/AP or route-manager functionality in scripting space. However, for the time being, the underlying C++ code is not exposed to scripting space, so that aircraft developers tend to reinvent the wheel. Thus, it would make sense to expose the AP/property-rule/state machine subsystems to scripting space using the [[Nasal/CppBind]] framework, to ensure that existing C++ code can be used for such purposes:&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I have recently committed some code to allow runtime loading of &amp;amp;lt;strike&amp;amp;gt;autopilots&amp;amp;lt;/strike&amp;amp;gt; property rules and have a Nasal binding for that in mind.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=149376#p149376&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: 2 Questions: vacuum &amp;amp; electrical&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Torsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Feb 2nd, 2012&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[Autopilot PID controller tuning resources]]&lt;br /&gt;
* [[Howto:Design an autopilot]]&lt;br /&gt;
* [[Howto:Implement a Fly-By-Wire System for Airliners]]&lt;br /&gt;
&lt;br /&gt;
=== Readme file ===&lt;br /&gt;
* {{readme file|digitalfilters}}&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
* {{flightgear source|src/Autopilot/digitalfilter.hxx}}&lt;br /&gt;
* {{flightgear source|src/Autopilot/autopilot.cxx}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Autopilot_configuration_reference&amp;diff=107419</id>
		<title>Autopilot configuration reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Autopilot_configuration_reference&amp;diff=107419"/>
		<updated>2017-03-18T21:16:25Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Adding an autopilot configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Systems_Modeling_Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[File:FgPlot.jpg|400px|thumb|[[FGPlot]] can be used to plot the value properties while tuning an autopilot.]]&lt;br /&gt;
&lt;br /&gt;
{{forum|46|Autopilot &amp;amp; Route Manager}}&lt;br /&gt;
{{Autoflight Navigation}}&lt;br /&gt;
&lt;br /&gt;
: ''For a guide on how to model an autopilot using these elements, see [[Howto:Design an autopilot]].''&lt;br /&gt;
&lt;br /&gt;
The '''property rules''' used for '''autopilot configuration''' can also be used for other kinds of systems modeling.  The controllers and filters allow for both simple and complex systems to be modeled.  By using the output from one as the input to another one, very complex systems such as fly-by-wire systems with different control laws can be modeled.&lt;br /&gt;
&lt;br /&gt;
This page serves as a reference for the elements of [[FlightGear]] XML [[autopilot]] and property rule configuration files. It describes all elements available within the autopilot configuration file supported in the bleeding edge [[Git]] sources. Some of the elements may not be available in the current release version of FlightGear.&lt;br /&gt;
&lt;br /&gt;
For built-in runtime plotting of FlightGear properties (including FDM/Autopilot properties), check out [[FGPlot]] (available in FlightGear 2.11+).&lt;br /&gt;
&lt;br /&gt;
== Autopilot vs. property-rule configurations ==&lt;br /&gt;
The main difference between XML based autopilot and property-rule systems is the update rate:&lt;br /&gt;
&lt;br /&gt;
* Autopilot configurations run at [[FDM]] rate&lt;br /&gt;
* Property-rule configurations run at frame rate&lt;br /&gt;
&lt;br /&gt;
=== Performance considerations ===&lt;br /&gt;
Using property-rule elements for things that does not have to run a FDM rate can improve the frame rate, in particular for complex systems and on weaker computers.  Depending on FlightGear settings and the hardware, the FDM rate is about 2–10 times higher than the frame rate.&lt;br /&gt;
&lt;br /&gt;
It is possible to implement a system using both autopilot and property-rule based elements.  They can communicate with each other using [[Property tree|properties]].  The only disadvantage is that they will be split between an autopilot and a property-rule configuration file.&lt;br /&gt;
&lt;br /&gt;
For example would a fly-by-wire flight control system element augmenting an unstable aircraft need to run at FDM rate, while an element depending on the flap extension would work just as well at frame rate.&lt;br /&gt;
&lt;br /&gt;
== Adding a configuration to an aircraft ==&lt;br /&gt;
A configuration is added to an aircraft by adding the path to an XML configuration file to the &amp;lt;code&amp;gt;&amp;amp;lt;Aircraft&amp;amp;gt;-set.xml&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
=== Adding an autopilot configuration ===&lt;br /&gt;
Autopilot configuration files are added to the aircraft by adding&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;autopilot n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Aircraft/MyAircraft/Systems/my-autopilot.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;/autopilot&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to the&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;sim&amp;gt;&lt;br /&gt;
   &amp;lt;systems&amp;gt;&lt;br /&gt;
     &amp;lt;!-- many other elements live here --&amp;gt;&lt;br /&gt;
     &amp;lt;autopilot n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;path&amp;gt;Aircraft/MyAircraft/Systems/my-autopilot.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
     &amp;lt;/autopilot&amp;gt;&lt;br /&gt;
   &amp;lt;/systems&amp;gt;&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
node of your &amp;lt;code&amp;gt;aircraft-set.xml&amp;lt;/code&amp;gt; file. Note, that more than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;autopilot&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; node may be present, each will create a new instance of the autopilot subsystem when running FlightGear. They run in the order of appearance under &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;systems&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. For example, lateral and vertical autopilot modes could live in separate files, as could a yaw-damper system.&lt;br /&gt;
&lt;br /&gt;
{{note|While the above seems to be the recommended standard, it has occasionally lead to trouble, not to index the autopilot configurations. Anyway, it shouldn't hurt to do so.}}&lt;br /&gt;
&lt;br /&gt;
=== Adding a property-rule configuration ===&lt;br /&gt;
Property-rules can also be used in which case they will run at frame rate. You can use these to process properties so their values can be used by other systems outside of the autopilot scope (for example to create smooth animations for switches that normally have discrete values)&lt;br /&gt;
&lt;br /&gt;
To achieve this load your filters configuration by adding:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property-rule n=&amp;quot;100&amp;quot;&amp;gt;  &amp;lt;!-- &amp;quot;n&amp;quot; needs to be &amp;gt;= 100 to avoid overwriting other predefined global rules (in particular the environment ones) --&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;My property rule&amp;lt;/name&amp;gt;  &amp;lt;!--  Optional name tag useful for debugging and other maintenance --&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Systems/my-propertyrules.xml&amp;lt;/path&amp;gt;  &amp;lt;!-- path can be relative to the current aircraft-set.xml location --&amp;gt;&lt;br /&gt;
  &amp;lt;/property-rule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(Do NOT use the filename &amp;quot;propertyrules.xml&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
to the :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;sim&amp;gt;&lt;br /&gt;
    &amp;lt;systems&amp;gt;&lt;br /&gt;
      &amp;lt;!-- many other elements live here --&amp;gt;&lt;br /&gt;
      &amp;lt;property-rule n=&amp;quot;100&amp;quot;&amp;gt;  &amp;lt;!-- &amp;quot;n&amp;quot; needs to be &amp;gt;= 100 to avoid overwriting other predefined global rules (in particular the environment ones) --&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;My property rule&amp;lt;/name&amp;gt;  &amp;lt;!--  Optional name tag useful for debugging and other maintenance --&amp;gt;&lt;br /&gt;
        &amp;lt;path&amp;gt;Systems/my-propertyrules.xml&amp;lt;/path&amp;gt;  &amp;lt;!-- path can be relative to the current aircraft-set.xml location --&amp;gt;&lt;br /&gt;
      &amp;lt;/property-rule&amp;gt;&lt;br /&gt;
    &amp;lt;/systems&amp;gt;&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
node of your &amp;lt;code&amp;gt;&amp;amp;lt;aircraft&amp;amp;gt;-set.xml&amp;lt;/code&amp;gt; file. Note that you can add multiple &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property-rule&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements, similar to the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;autopilot&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; as described above.&lt;br /&gt;
&lt;br /&gt;
{{tip|Configurations can be enabled and disabled through the boolean properties &amp;lt;code&amp;gt;/sim/systems/autopilot[''n'']/serviceable&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/sim/systems/property-rule[''n'']/serviceable&amp;lt;/code&amp;gt;, where''n'' is the index for a configuration}}&lt;br /&gt;
&lt;br /&gt;
== Structure of a configuration file ==&lt;br /&gt;
Autopilot configurations live in a separate file, formatted using the well known XML syntax like so many other FlightGear files with a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;PropertyList&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; node as a root element. A basic skeleton file looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;params include=&amp;quot;MyParams.xml&amp;quot;&amp;gt; &amp;lt;!-- Params can be included like this --&amp;gt;&lt;br /&gt;
    &amp;lt;controls&amp;gt;&lt;br /&gt;
      &amp;lt;aileron&amp;gt;controls/flight/aileron&amp;lt;/aileron&amp;gt;&lt;br /&gt;
      &amp;lt;rudder&amp;gt;controls/flight/rudder&amp;lt;/rudder&amp;gt;&lt;br /&gt;
      &amp;lt;elevator&amp;gt;controls/flight/elevator&amp;lt;/elevator&amp;gt;&lt;br /&gt;
    &amp;lt;/controls&amp;gt;&lt;br /&gt;
  &amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Place your components here --&amp;gt;&lt;br /&gt;
  &amp;lt;!--&lt;br /&gt;
  &amp;lt;filter&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Myfilter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;input&amp;gt;/foo&amp;lt;/input&amp;gt;&lt;br /&gt;
    &amp;lt;output&amp;gt;/bar&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;/filter&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Myfilter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;input alias=&amp;quot;/params/control/aileron&amp;quot;/&amp;gt;  Aliasing a property name&lt;br /&gt;
    &amp;lt;output&amp;gt;/bar&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;/filter&amp;gt;&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The location and the name of the configuration file is up to the developer. A descriptive name like &amp;lt;code&amp;gt;autopilot.xml&amp;lt;/code&amp;gt; might be a good choice. Most developers put these files into the &amp;lt;code&amp;gt;Systems&amp;lt;/code&amp;gt; folder of the aircraft.&lt;br /&gt;
&lt;br /&gt;
{{tip|Using [[PropertyList XML files#Aliased properties|aliased property names]] is good style and makes the configuration file more readable.  The params section may be included from an external file to avoid duplication of code.&lt;br /&gt;
&lt;br /&gt;
For complex systems, spread over multiple autopilot and/or property-rule configuration files, this can greatly aid debugging and maintenance.}}&lt;br /&gt;
&lt;br /&gt;
{{tip|Commenting the configuration file to document the purpose elements and groups of elements and what they are intended to do can also aid debugging and maintenance.}}&lt;br /&gt;
&lt;br /&gt;
== Available elements ==&lt;br /&gt;
All elements may contain the attributes &amp;quot;include&amp;quot; and &amp;quot;alias&amp;quot;. &lt;br /&gt;
The &amp;quot;include&amp;quot; property takes a file name as a parameter. This can be used to read the document tree of an external XML file into the node containing the &amp;quot;include&amp;quot; attribute. The included file must have a PropertyList node as the root node. All nodes under this PropertyList node will be added to the node containing the &amp;quot;include&amp;quot; attribute.&lt;br /&gt;
The &amp;quot;alias&amp;quot; attribute refers to an element defined elsewhere in this XMl document. Alias references are in a path-style syntax, either as a relative or absolute path. Absolute paths start with a slash, like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;foo alias=&amp;quot;/params/bar/baz&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. Use the colon to move through the document tree, similar to file system paths like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;foo alias=&amp;quot;../../bar/baz&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Any top-level element can appear in an autopilot XML file, but only the following elements will be recognised and used:&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pid-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pi-simple-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;predict-simple&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;logic&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;flipflop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;state-machine&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common elements used by all elements ==&lt;br /&gt;
&lt;br /&gt;
=== Name of filter and controller &amp;amp;lt;name&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is optional, but should be added to give the controller a distinct name. It is only used in debug output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;NAV hold&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Feedback &amp;amp;lt;feedback-if-disabled&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;feedback-if-disabled&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element advises the controller to feed back the output property value to the active input property if the condition defined in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag evaluates to false. This is usually required for controllers like servo drivers behind a PID-controller to give that PID-controller a valid starting value when it becomes enabled. The absence of this element or anything but the word &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt; within this element results in feedback disabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;feedback-if-disabled&amp;gt;true&amp;lt;/feedback-if-disabled&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Printing debug output &amp;amp;lt;debug&amp;amp;gt; ===&lt;br /&gt;
If the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;debug&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is present and if it contains the word &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt;, the containing controller prints out some diagnostic information on the console for each processing loop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug&amp;gt;true&amp;lt;/debug&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input and reference properties or values &amp;amp;lt;input&amp;amp;gt; and &amp;amp;lt;reference&amp;amp;gt; ===&lt;br /&gt;
Each controller has two input &amp;quot;lines&amp;quot;, denoted by the tags &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. The arithmetic difference of these two values is used by the respective controller to compute it's output. Unfortunately due to historical reasons, the sign of input and reference is not consistent for all controllers. While the pid-controller and the pi-simple-controller compute &amp;quot;reference-input&amp;quot;, the filter controller computes &amp;quot;input-reference&amp;quot;. Each element is optional with a default value of zero. These elements are made of so called ''input values'' described further down in this document.&lt;br /&gt;
&lt;br /&gt;
Example for a simple differential amplifier, computing output = (input-reference)*2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;reference&amp;gt;/some/output&amp;lt;/reference&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Output property &amp;amp;lt;output&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element names the properties, the computed value should be written to. More than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; may be present, each named property will be assigned the computed value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;output&amp;gt;controls/flight/elevator&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Enabling and disabling a filter &amp;amp;lt;enable&amp;amp;gt; ===&lt;br /&gt;
Controllers can be enabled or disabled using property values. This element &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; may contain a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;prop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. The controller is enabled, if the value of the named property equals the given value. This feature is considered deprecated and might go away in future releases. The preferred way of defining the enable-condition is by adding a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element to the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. This &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; follows the same syntactical rules as the one used in model animations and can model complex expression trees.&lt;br /&gt;
To enable a wing leveler only if the current bank angle does not exceed 30° of bank, use this condition&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enable&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;less-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;30.0&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/less-than&amp;gt;&lt;br /&gt;
    &amp;lt;greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;-30.0&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
&amp;lt;/enable&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input values ===&lt;br /&gt;
Input values for controllers may be specified in several notations. Values may be supplied as constants, from properties or by means of simple linear transformations. Conditions allow the selection of one of multiple input sources. The following text will use the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element as an example but it may be substituted by any other input element like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; etc. Input values will be interpreted as double values.&lt;br /&gt;
&lt;br /&gt;
==== A constant value &amp;amp;lt;value&amp;amp;gt; or &amp;amp;lt;reference&amp;amp;gt; ====&lt;br /&gt;
A constant value is defined by just adding the value as text to the input element: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;value&amp;gt;3.5&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The shortcut syntax is also valid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;3.5&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the text can be parsed by &amp;lt;code&amp;gt;strtod()&amp;lt;/code&amp;gt; to a double value, it will be used as a constant value, otherwise it will be interpreted as a property value (see next paragraph)&lt;br /&gt;
&lt;br /&gt;
==== A property value ====&lt;br /&gt;
To evaluate the value of a property, place the name of the property into the text element:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/my/property&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The shortcut syntax is also valid:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;/my/property&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|The shortcut syntax is only valid, if neither &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; nor &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element exists.&lt;br /&gt;
If both &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; '''and''' &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element exist, the property will be initialized with the given value with scale and offset applied correctly.&lt;br /&gt;
Properties don't have to exist, the will be created as needed.}}&lt;br /&gt;
&lt;br /&gt;
{{note|For backward compatibility, the notation &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;prop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; instead of &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; is also valid but considered deprecated and might go away in future releases.}}&lt;br /&gt;
&lt;br /&gt;
==== Linear transformation of the input value &amp;amp;lt;offset&amp;amp;gt; ====&lt;br /&gt;
Input values may be scaled and shifted before they are processed by the controller using the formula &amp;lt;tt&amp;gt;y = value * scale + offset&amp;lt;/tt&amp;gt;&lt;br /&gt;
To use a Celsius temperature property in a controller which expects the temperature in Fahrenheit you might use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/environment/temperature-degc&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;1.8&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;32&amp;lt;/offset&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Periodical transformation of the input value &amp;amp;lt;period&amp;amp;gt; ====&lt;br /&gt;
Periodical (like angular) input values can be transformed to appear in the correct phase before they are processed by the controller by adding or subtracting multiples of the period to the input value until the values is in the requested periods interval.&lt;br /&gt;
The following example converts the heading which comes in the range of [0..360] into the range of [-180..+180]. This will cause a heading of 270 to be processed as a value of -90.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/orientation/heading-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;period&amp;gt;&lt;br /&gt;
    &amp;lt;min&amp;gt;-180.0&amp;lt;/min&amp;gt;&lt;br /&gt;
    &amp;lt;max&amp;gt;180.0&amp;lt;/max&amp;gt;&lt;br /&gt;
  &amp;lt;/period&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Input clamping &amp;amp;lt;min&amp;amp;gt; and &amp;amp;lt;max&amp;amp;gt; ====&lt;br /&gt;
To clamp the input to a minimum value, maximum value or both, the tags &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; can be used. Clamping will occur after the linear transformation has been applied. Note the difference of input clamping to output clamping. While input clamping is applied '''before''' the signal reaches the controller, output clamping will be applied to the output signal '''after''' it has been processed.&lt;br /&gt;
&lt;br /&gt;
The following code will keep the input to the controller in the range of 60 to 80 degrees Fahrenheit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/environment/temperature-degc&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;1.8&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;32&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;60&amp;lt;/min&amp;gt;&lt;br /&gt;
  &amp;lt;max&amp;gt;80&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Absolute values &amp;amp;lt;abs&amp;amp;gt; ====&lt;br /&gt;
To use the absolute (unsigned) value of the input, add &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;abs type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/abs&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/autopilot/internal/course-error-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;abs type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/abs&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recursive definition ====&lt;br /&gt;
The elements &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;scale&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; itself can be defined as input values. This code uses as reference the value of course-error-deg, scaled by two and an offset applied which is calculated as the product of the bank-angle-de and the property some/property which itself is limited within the range of -1.5 .. +1.5.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/autopilot/internal/course-error-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;2.0&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;scale&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;some/property&lt;br /&gt;
      &amp;lt;min&amp;gt;-1.5&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;1.5&amp;lt;/max&amp;gt;&lt;br /&gt;
    &amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;/offset&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Conditional input values &amp;amp;lt;condition&amp;amp;gt; ====&lt;br /&gt;
The direct inputs of controller and filter elements support so called input value lists. This is useful, if the input should be connected to one of many separate inputs like autopilots connected to NAV1, NAV2 or the GPS. A standard &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is allowed within an input value element. The input value list will be traversed until the first input value with a successful condition is found. The behavior is much like the switch statement in programming languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/coupled-to-gps&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;instrumentation/gps/desired-track-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/coupled-to-nav2&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;instrumentation/nav[1]/radials/selected-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;instrumentation/nav[0]/radials/selected-deg&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the unconditional last &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element which acts as an &amp;quot;if all others fail, use NAV1&amp;quot; anchor. If no input value return with a successful condition, the input value is undefined.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;scale&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements of input values itself currently don't support input value lists.&lt;br /&gt;
&lt;br /&gt;
==== Expressions &amp;amp;lt;expression&amp;amp;gt; ====&lt;br /&gt;
Complex math or lookup tables may be represented using the [[expression]] syntax. The expression has to be enclosed in &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;expression&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
=== Output values ===&lt;br /&gt;
After processing of a component, the resulting value passes a transformation stage where it can be clipped or normalized into a given period. Periodic values such as angular properties may be normalized into a given period by adding a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;period&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element, defining the lower and upper bounds of the period. Additionally, a maximun and a minimum value may be given which will guarantee that the output value will ever exceed a defined value. &lt;br /&gt;
&lt;br /&gt;
{{note|Both periodical normalization and clipping may be defined. If both are given, the value will be normalized first and the clipping will be applied to the normalized value.}}&lt;br /&gt;
&lt;br /&gt;
The following example shifts the computed value into the interval of [-180..180] thereafter being limited into the interval of [-30..30]. The following table contains some computed values and the resulting written value:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! computed !! written&lt;br /&gt;
|-&lt;br /&gt;
|     -350 ||  10&lt;br /&gt;
|-&lt;br /&gt;
|     -270 ||  30&lt;br /&gt;
|-&lt;br /&gt;
|      -90 || -30&lt;br /&gt;
|-&lt;br /&gt;
|      -29 || -29&lt;br /&gt;
|-&lt;br /&gt;
|       29 ||  29&lt;br /&gt;
|-&lt;br /&gt;
|       90 ||  30&lt;br /&gt;
|-&lt;br /&gt;
|      350 || -10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;output&amp;gt;/some/property&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;period&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;-180&amp;lt;/min&amp;gt;&lt;br /&gt;
  &amp;lt;max&amp;gt;180&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/period&amp;gt;&lt;br /&gt;
&amp;lt;min&amp;gt;-30&amp;lt;/min&amp;gt;&lt;br /&gt;
&amp;lt;max&amp;gt;30&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use a table to vary an output with height. At sea level, the output is 0.045, at 22400 the output is 0.1196, and at 56000 ft the output is 0.7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;GAy&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;expression&amp;gt;&lt;br /&gt;
      &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/instrumentation/altimeter/indicated-altitude-ft&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;0.0&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.045&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;22400&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.1196&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;56000&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.7&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
      &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;/expression&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/gain/GAy&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logic controller &amp;amp;lt;logic&amp;amp;gt; ==&lt;br /&gt;
The logic controller provides a simple way of creating property values from the result of the condition expression in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. The condition expression is evaluated once per iteration and the result is written as a boolean value to the named output property or properties. An optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;inverted&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element inverts the logic. The default is &amp;quot;not inverted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example: output = not( ( a is true ) or ( ( b greater than c ) and ( d is true ) )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;logic&amp;gt;&lt;br /&gt;
  &amp;lt;inverted&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;a&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;or&amp;gt;&lt;br /&gt;
      &amp;lt;greater-than&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;b&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;c&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;d&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/or&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/logic&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Flip flop logic &amp;amp;lt;flipflop&amp;amp;gt; ==&lt;br /&gt;
A flip flop is a controller that has two stable states so it can be used as a one bit memory. Four types of flip flops are implemented: '''RS''', '''JK''', '''D''' and '''T'''. All use positive logic and operate on the raising edge of the clock signal if a clock is used.&lt;br /&gt;
All input lines, including the clock line, are encoded as condition constructs.&lt;br /&gt;
If negative logic for the input line is required, wrap the condition into a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;not&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag to invert the logic.&lt;br /&gt;
&lt;br /&gt;
{{note|The type, for example '''RS''', is case sensitive.}}&lt;br /&gt;
{{note|Using &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tags will break the logic.}}&lt;br /&gt;
&lt;br /&gt;
=== RS flip flop &amp;amp;lt;RS&amp;amp;gt; ===&lt;br /&gt;
This flip flop sets its output according to the set (S) or reset (R) input lines. If the set line is set, the output gets set. If the reset line is set, the output gets reset. If no line is set, the output stays unchanged. For the special case where set and reset lines are both set, two types of RS flip flops exist: for the RS flip flop (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;type&amp;gt;RS&amp;lt;/type&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;), the reset line is dominant and the output is reset. Alternatively, a SR flip flop (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;type&amp;gt;SR&amp;lt;/type&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;) has a dominant set line and the output gets set if set and reset line are set.&lt;br /&gt;
&lt;br /&gt;
Example: simple RS flip flop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;RS&amp;lt;/type&amp;gt; &amp;lt;!-- or SR --&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/set&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;R&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/reset&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/R&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JK flip flop &amp;amp;lt;JK&amp;amp;gt; ===&lt;br /&gt;
The JK flip flop is an extension of the RS flip flop. In addition to the set and reset lines of the RS flip flop it uses J, K and a clock input.&lt;br /&gt;
The J line serves as a clock dependent set input while the K line does the reset job. Optionally, a clock input may be provided. State changes do not occur immediately, but on the next raising edge of the clock signal. The state of J=K=true causes the output to toggle it's current state on the next raising edge of the clock signal.&lt;br /&gt;
If no clock signal is provided, the frame rate serves as the clock input.&lt;br /&gt;
&lt;br /&gt;
Example: simple JK flip flop with negative edge clock&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;JK&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;J&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/set&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/J&amp;gt;&lt;br /&gt;
  &amp;lt;K&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/reset&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/K&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;not&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/not&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== D flip flop &amp;amp;lt;D&amp;amp;gt; ===&lt;br /&gt;
The D flip flop transfers the state of the input signal '''D''' to the output line at the next raising edge of the clock signal, which is mandatory for this flip flop.&lt;br /&gt;
&lt;br /&gt;
Example: simple D flip flop with inverted output&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;D&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;D&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/data&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/D&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;inverted type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T flip flop &amp;amp;lt;T&amp;amp;gt; ===&lt;br /&gt;
The T flip flop toggles the state of the output signal at the next raising edge of the clock signal, which is mandatory for this flip flop.&lt;br /&gt;
&lt;br /&gt;
Example: simple T flip flop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;T&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Monostable flip flop &amp;amp;lt;monostable&amp;amp;gt; ===&lt;br /&gt;
A monostable flip flop has only one stable state which will be reentered after a well defined time. The stable state in current implementation is the output set 'false' or 0. The Monostable is an extension of the JK flip flop. Additionally to the input values defined there, an InputValue for the definition of the pulse time is mandatory. &lt;br /&gt;
&lt;br /&gt;
The moment the time for the astable state starts counting depends on the input used to set the output. If the output is set from the SET input of the RS flipflop, the output is kept true for the defined time ''after'' the SET input enters it's false state. The total time the output is true equals the time, the SET input is true plus the time defined in the &amp;lt;time&amp;gt; element.&lt;br /&gt;
If the output is set from the J and clock inputs of the JK flipflop, the timer starts on the raising edge of the clock input. The output signal will be true for exactly the time defined in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. &lt;br /&gt;
&lt;br /&gt;
{{note|The optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;R&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;K&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; inputs may be used to reset the output before the internal timer expired. This will also reset the timer to zero, so no additional event will be triggered after the defined timer interval.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Test mf&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;monostable&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;time&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/pulsetime-sec&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;value&amp;gt;10&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/time&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&amp;lt;property&amp;gt;/myflipflop/s&amp;lt;/property&amp;gt;&amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;J&amp;gt;&amp;lt;property&amp;gt;/myflipflop/j&amp;lt;/property&amp;gt;&amp;lt;/J&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example shows how a monostable can be used to enable a certain property (/myflipflop/output) if another property (/myflipflop/s) is true for at least the specified amount of time:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Test mf&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;monostable&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;inverted type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&lt;br /&gt;
    &amp;lt;not&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/myflipflop/s&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/not&amp;gt;&lt;br /&gt;
  &amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;time&amp;gt;&lt;br /&gt;
    &amp;lt;value&amp;gt;10.0&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/time&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/output&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example the monostable is inverted, which means the stable state is true instead of false. The key idea here is to keep the monostable in its unstable state (false) by keeping the set line true, which is the case when /myflipflop/s is false. Then, when /myflipflop/s becomes true the set line becomes false, which causes the timer to start. When the timer expires (in this case 10 seconds) the monostable will enter its stable state (true). At any time when the set line becomes true (when /myflipflop/s becomes false) the monostable will immediately enter its unstable state (false) again, resulting in /myflipflop/output to become false immediately.&lt;br /&gt;
&lt;br /&gt;
== Filters &amp;amp;lt;filter&amp;amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== Pure gain filter &amp;amp;lt;gain&amp;amp;gt; ===&lt;br /&gt;
A gain filter multiplies the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; value by a given factor or gain &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and returns the output to &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. More than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element formatted as in [[Autopilot Configuration Reference#Input Values|Input Values]] may be present.  Within a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; evaluating as true the first &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; will define the used gain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;6.28&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;radius&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;circumfence&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== First order low pass filter &amp;amp;lt;exponential&amp;amp;gt; ===&lt;br /&gt;
The exponential filter is a typical [http://en.wikipedia.org/wiki/Low-pass_filter low pass filter]. The magic Euler number and the associated mathematical function exp() plays a major role here. As the name implies, lower frequencies can pass this filter while higher frequencies are cut. The frequency where only half of the input signal reaches the output is called cutoff frequency. This cutoff frequency is defined by the parameter &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and resolves as cutoff-frequency = 1/(2*pi*cutoff-frequency).&lt;br /&gt;
&lt;br /&gt;
Example: a 1Hz first order low pass filter &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;exponential&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Second order low pass filter &amp;amp;lt;double-exponential&amp;amp;gt; ===&lt;br /&gt;
The double exponential filter is a low pass filter like the exponential filter with a steeper slope of the filter diagram. It acts basically like two chained exponential filters and it is some times called second order filter. &lt;br /&gt;
&lt;br /&gt;
The configuration is the same for exponential and double-exponential filters, just the type entry differs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;double-exponential&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First order high pass filter &amp;amp;lt;high-pass&amp;amp;gt; ===&lt;br /&gt;
The high pass filter is a typical [http://en.wikipedia.org/wiki/High-pass_filter high pass filter]. The magic euler number and the associated mathematical funtion exp() plays a major role here. As the name implies, higher frequencies can pass this filter while lower frequencies are cut. The frequency where only half of the input signal reaches the output is called cutoff frequency. This cutoff frequency is defined by the parameter &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and resolves as cutoff-frequency = 1/(2*pi*cutoff-frequency). It is commonly known as a wash-out filter or a 1st order lead filter&lt;br /&gt;
&lt;br /&gt;
Example: a 1Hz first order high pass filter &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;high-pass&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lead-Lag filter &amp;amp;lt;lead-lag&amp;amp;gt; ===&lt;br /&gt;
The lead-lag filter  is a typical [https://en.wikipedia.org/wiki/Lead%E2%80%93lag_compensator] lead lag filter. As the name implies it is a combination of a lead (high-pass) filter and a lag (low-pass) filter.&lt;br /&gt;
&lt;br /&gt;
Example: a lead lag filter k(s+a)/s+b).&lt;br /&gt;
The gain is k, filter-time-a is a, and filter-time-b is b.&lt;br /&gt;
&lt;br /&gt;
In an autopilot is is often used to sharpen up the response to an input. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;loc-deg leadlag&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;lead-lag&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;5&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time-a&amp;gt;5.0&amp;lt;/filter-time-a&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time-b&amp;gt;1.0&amp;lt;/filter-time-b&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/loc-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/loc-deg-leadlag&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Integrator filter &amp;amp;lt;lead-lag&amp;amp;gt; ===&lt;br /&gt;
The integrator filter provides integration with time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: an integrator filter k(1/s).&lt;br /&gt;
&lt;br /&gt;
In this example, the normal input (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;/autopilot/internal/p-deg_sec&amp;lt;/property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;)is disconnected and replaved by (output x 10) input when relay Rb is closed. This has the effect of rapidly ramping the integrator output to zero. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;synthetic bank from roll rate&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;integrator&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/autopilot/internal/Rb&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/p-deg_sec&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt; &amp;lt;!-- zero integrator when Rb is not set --&amp;gt;&lt;br /&gt;
    &amp;lt;expression&amp;gt;&lt;br /&gt;
      &amp;lt;product&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;-10.0&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/autopilot/internal/phi-deg_synth&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;/expression&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/phi-deg_synth&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;u_min&amp;gt;-180&amp;lt;/u_min&amp;gt;&lt;br /&gt;
  &amp;lt;u_max&amp;gt;180&amp;lt;/u_max&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Moving average filter &amp;amp;lt;moving-average&amp;amp;gt; ===&lt;br /&gt;
Calculates average of specified number of values.&lt;br /&gt;
&lt;br /&gt;
Currently the average length can only be given as number of samples and not time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;moving-average&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;samples&amp;gt;120&amp;lt;/samples&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rate limit filter &amp;amp;lt;noise-spike&amp;amp;gt; ===&lt;br /&gt;
A better name for a noise spike filter would probably have been &amp;quot;rate limit filter&amp;quot;. This is exactly what it does: limit the rate of change of the output value. The relevant configuration element is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max-rate-of-change&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; setting the maximum rate of change of the output property per second.&lt;br /&gt;
&lt;br /&gt;
Example: A transition from 0 to 4 at the input property results in a linear increase of the output property over 8 seconds from 0 to 4 at a rate of 0.5/sec.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;noise-spike&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;max-rate-of-change&amp;gt;0.5&amp;lt;/max-rate-of-change&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reciprocal filter &amp;amp;lt;reciprocal&amp;amp;gt; ===&lt;br /&gt;
Compute the reciprocal (1/x) value of the input property. If x is zero, no computation is performed. The optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element may be used to scale the value. Output computes as gain divided by input.&lt;br /&gt;
&lt;br /&gt;
Example: compute the flight time per pound of burned fuel from the fuel flow&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;reciprocal&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/engines/engine[0]/fuel-flow-pph&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/engines/engine[0]/fuel-flow-hpp&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Derivative filter &amp;amp;lt;derivative&amp;amp;gt; ===&lt;br /&gt;
Compute first time derivative of the input property, that is change per unit of time. Time is measured in seconds. A &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; acts as gain and must be given because it has default 0.&lt;br /&gt;
&lt;br /&gt;
Example: compute derivative of static port pressure&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;derivative&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;systems/static[0]/pressure-inhg&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;autopilot/internal/pressure-rate&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;1.0&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PID controller &amp;amp;lt;pid-controller&amp;amp;gt; ==&lt;br /&gt;
The [http://en.wikipedia.org/wiki/PID_controller PID controller] is the swiss army knife of automation and this implementation is suitable for most situations. It has a builtin anti-windup logic, and usage of &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements for clamping the output is mandatory. The most important thing to know is that this controller 'does not' compute absolute output values but an offset from the current value of the output property. This can lead to unexpected behavior if the current value of the output property is unknown when the controller is enabled. This behavior is different to that of the pi-simple-controller.&lt;br /&gt;
&lt;br /&gt;
The xml element creating a pid controller is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pid-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| The overall gain for the proportional, integral and derivative part&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ti&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Integrator time&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Td&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Derivator time&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ts&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Sampling interval (default: sample at frame rate)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;alpha&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scaling factor for Td (defaults to 0.1)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;beta&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Reference weighing factor for the proportional component (defaults to 1.0)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gamma&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Reference weighing factor for the derivate component (defaults to 0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PI controller &amp;amp;lt;pi-simple-controller&amp;amp;gt; ==&lt;br /&gt;
This controller implements a PI controller. Other than the PID controller, it computes absolute output values, regardless of the value of the output property. It can by configured as an I-only, P-only or PI-controller. It has anti windup logic if &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements are present.&lt;br /&gt;
The xml element creating a PI controller is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pi-simple-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Gain of the proportional component&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ki&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Gain of the integrator component&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Predictor &amp;amp;lt;predict-simple&amp;amp;gt; ==&lt;br /&gt;
Estimates the future value for a given property based on its current (or averaged) rate of change.&lt;br /&gt;
&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;seconds&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| The time to be estimated ahead&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Smoothing factor (0.0-1.0, 1.0=no smoothing)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example: compute estimated speed 5 seconds ahead&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;predict-simple&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;predicted air speed 5 seconds ahead&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;velocities/airspeed-kt&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;autopilot/internal/airspeed-5-sec-ahead&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;seconds&amp;gt;5.0&amp;lt;/seconds&amp;gt;&lt;br /&gt;
  &amp;lt;filter-gain&amp;gt;0.1&amp;lt;/filter-gain&amp;gt;&lt;br /&gt;
&amp;lt;/predict-simple&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== State Machine &amp;amp;lt;state-machine&amp;amp;gt; ==&lt;br /&gt;
For a description of what a state machine can do, look here: [http://en.wikipedia.org/wiki/Finite-state_machine].&lt;br /&gt;
&lt;br /&gt;
{{note|Current behaviour with enter, exit and update tags differs from this documentation. Refer to the developer mailing list [https://sourceforge.net/p/flightgear/mailman/message/35557652/] before implementing bindings in state machines.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;state-machine&amp;gt;&lt;br /&gt;
  &amp;lt;branch&amp;gt;/my-statemachine&amp;lt;/branch&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;init&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;enter&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/enter&amp;gt;&lt;br /&gt;
    &amp;lt;exit&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/exit&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/update&amp;gt;&lt;br /&gt;
  &amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;finished&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;enter&amp;gt;Zero to many bindings, fired upon state enter&amp;lt;/enter&amp;gt;&lt;br /&gt;
    &amp;lt;exit&amp;gt;Zero to many bindings, fired upon state exit&amp;lt;/exit&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;Zero to many bindings, fired upon every state change&amp;lt;/update&amp;gt;&lt;br /&gt;
  &amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;transition&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;ready&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;init&amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;target&amp;gt;finished&amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;exclude-target type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/exclude-target&amp;gt;&lt;br /&gt;
    &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;greater-than&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/sim/time/elapsed-sec&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;30&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
    &amp;lt;/condition&amp;gt;&lt;br /&gt;
    &amp;lt;binding&amp;gt;Zero to many bindings, fired upon state change&amp;lt;/binding&amp;gt;&lt;br /&gt;
  &amp;lt;/transition&amp;gt;&lt;br /&gt;
&amp;lt;/state-machine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Legal elements for the state machine are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;branch&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| A path to a property node where the internal states of the machine gets written to. Can be empty.&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;state&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Two ore more state elements are required for a minimal state machine&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;transition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Any number of transition elements. Describes how to change from one state to another.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legal elements for the state element are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, gives the state a name for reference&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enter&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many enter elements containing a SGBinding to fire upon state enter&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;exit&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many exit elements containing a SGBinding to fire upon state exit&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;update&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many update elements containing a SGBinding to fire upon state change&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Legal elements for the transition element are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, gives the transition a name for reference&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many source elements containing the name of a source state. If no source state is definied, this transition applies to all states.&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;target&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, exactly one target element defining the target state&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, contains a SGCondition when this state change occours&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;exclude-target&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, boolean flag defaults to true. Indicates if this transition should be evaluated even if current state equals target&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;binding&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many binding elements containing a SGBinding to fire when this transition triggers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Proposed extensions ==&lt;br /&gt;
This sections contains new features for the autopilot to be implemented. Nobody knows if and when this will happen. Consider this as a collection of ideas as a base for discussion on the mailing list, the forum or IRC.&lt;br /&gt;
&lt;br /&gt;
=== Expose to Nasal ===&lt;br /&gt;
Given that Nasal is a widely-known bottleneck, people should not use it for implement FDM/AP or route-manager functionality in scripting space. However, for the time being, the underlying C++ code is not exposed to scripting space, so that aircraft developers tend to reinvent the wheel. Thus, it would make sense to expose the AP/property-rule/state machine subsystems to scripting space using the [[Nasal/CppBind]] framework, to ensure that existing C++ code can be used for such purposes:&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I have recently committed some code to allow runtime loading of &amp;amp;lt;strike&amp;amp;gt;autopilots&amp;amp;lt;/strike&amp;amp;gt; property rules and have a Nasal binding for that in mind.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=149376#p149376&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: 2 Questions: vacuum &amp;amp; electrical&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Torsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Feb 2nd, 2012&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[Autopilot PID controller tuning resources]]&lt;br /&gt;
* [[Howto:Design an autopilot]]&lt;br /&gt;
* [[Howto:Implement a Fly-By-Wire System for Airliners]]&lt;br /&gt;
&lt;br /&gt;
=== Readme file ===&lt;br /&gt;
* {{readme file|digitalfilters}}&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
* {{flightgear source|src/Autopilot/digitalfilter.hxx}}&lt;br /&gt;
* {{flightgear source|src/Autopilot/autopilot.cxx}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Autopilot_configuration_reference&amp;diff=107418</id>
		<title>Autopilot configuration reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Autopilot_configuration_reference&amp;diff=107418"/>
		<updated>2017-03-18T21:13:03Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Adding an autopilot configuration */ add note about indexing the autopilot configurations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Systems_Modeling_Disclaimer}}&lt;br /&gt;
&lt;br /&gt;
[[File:FgPlot.jpg|400px|thumb|[[FGPlot]] can be used to plot the value properties while tuning an autopilot.]]&lt;br /&gt;
&lt;br /&gt;
{{forum|46|Autopilot &amp;amp; Route Manager}}&lt;br /&gt;
{{Autoflight Navigation}}&lt;br /&gt;
&lt;br /&gt;
: ''For a guide on how to model an autopilot using these elements, see [[Howto:Design an autopilot]].''&lt;br /&gt;
&lt;br /&gt;
The '''property rules''' used for '''autopilot configuration''' can also be used for other kinds of systems modeling.  The controllers and filters allow for both simple and complex systems to be modeled.  By using the output from one as the input to another one, very complex systems such as fly-by-wire systems with different control laws can be modeled.&lt;br /&gt;
&lt;br /&gt;
This page serves as a reference for the elements of [[FlightGear]] XML [[autopilot]] and property rule configuration files. It describes all elements available within the autopilot configuration file supported in the bleeding edge [[Git]] sources. Some of the elements may not be available in the current release version of FlightGear.&lt;br /&gt;
&lt;br /&gt;
For built-in runtime plotting of FlightGear properties (including FDM/Autopilot properties), check out [[FGPlot]] (available in FlightGear 2.11+).&lt;br /&gt;
&lt;br /&gt;
== Autopilot vs. property-rule configurations ==&lt;br /&gt;
The main difference between XML based autopilot and property-rule systems is the update rate:&lt;br /&gt;
&lt;br /&gt;
* Autopilot configurations run at [[FDM]] rate&lt;br /&gt;
* Property-rule configurations run at frame rate&lt;br /&gt;
&lt;br /&gt;
=== Performance considerations ===&lt;br /&gt;
Using property-rule elements for things that does not have to run a FDM rate can improve the frame rate, in particular for complex systems and on weaker computers.  Depending on FlightGear settings and the hardware, the FDM rate is about 2–10 times higher than the frame rate.&lt;br /&gt;
&lt;br /&gt;
It is possible to implement a system using both autopilot and property-rule based elements.  They can communicate with each other using [[Property tree|properties]].  The only disadvantage is that they will be split between an autopilot and a property-rule configuration file.&lt;br /&gt;
&lt;br /&gt;
For example would a fly-by-wire flight control system element augmenting an unstable aircraft need to run at FDM rate, while an element depending on the flap extension would work just as well at frame rate.&lt;br /&gt;
&lt;br /&gt;
== Adding a configuration to an aircraft ==&lt;br /&gt;
A configuration is added to an aircraft by adding the path to an XML configuration file to the &amp;lt;code&amp;gt;&amp;amp;lt;Aircraft&amp;amp;gt;-set.xml&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
=== Adding an autopilot configuration ===&lt;br /&gt;
Autopilot configuration files are added to the aircraft by adding&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;autopilot n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Aircraft/MyAircraft/Systems/my-autopilot.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
  &amp;lt;/autopilot&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to the&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;sim&amp;gt;&lt;br /&gt;
   &amp;lt;systems&amp;gt;&lt;br /&gt;
     &amp;lt;!-- many other elements live here --&amp;gt;&lt;br /&gt;
     &amp;lt;autopilot n=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;path&amp;gt;Aircraft/MyAircraft/Systems/my-autopilot.xml&amp;lt;/path&amp;gt;&lt;br /&gt;
     &amp;lt;/autopilot&amp;gt;&lt;br /&gt;
   &amp;lt;/systems&amp;gt;&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
node of your &amp;lt;code&amp;gt;aircraft-set.xml&amp;lt;/code&amp;gt; file. Note, that more than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;autopilot&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; node may be present, each will create a new instance of the autopilot subsystem when running FlightGear. They run in the order of appearance under &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;systems&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. For example, lateral and vertical autopilot modes could live in separate files, as could a yaw-damper system.&lt;br /&gt;
&lt;br /&gt;
While the above seems to be the recommended standard, it has occasionally lead to trouble, not to index the autopilot configurations. Anyway, it shouldn't hurt to do so.&lt;br /&gt;
&lt;br /&gt;
=== Adding a property-rule configuration ===&lt;br /&gt;
Property-rules can also be used in which case they will run at frame rate. You can use these to process properties so their values can be used by other systems outside of the autopilot scope (for example to create smooth animations for switches that normally have discrete values)&lt;br /&gt;
&lt;br /&gt;
To achieve this load your filters configuration by adding:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;property-rule n=&amp;quot;100&amp;quot;&amp;gt;  &amp;lt;!-- &amp;quot;n&amp;quot; needs to be &amp;gt;= 100 to avoid overwriting other predefined global rules (in particular the environment ones) --&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;My property rule&amp;lt;/name&amp;gt;  &amp;lt;!--  Optional name tag useful for debugging and other maintenance --&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;Systems/my-propertyrules.xml&amp;lt;/path&amp;gt;  &amp;lt;!-- path can be relative to the current aircraft-set.xml location --&amp;gt;&lt;br /&gt;
  &amp;lt;/property-rule&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(Do NOT use the filename &amp;quot;propertyrules.xml&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
to the :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;sim&amp;gt;&lt;br /&gt;
    &amp;lt;systems&amp;gt;&lt;br /&gt;
      &amp;lt;!-- many other elements live here --&amp;gt;&lt;br /&gt;
      &amp;lt;property-rule n=&amp;quot;100&amp;quot;&amp;gt;  &amp;lt;!-- &amp;quot;n&amp;quot; needs to be &amp;gt;= 100 to avoid overwriting other predefined global rules (in particular the environment ones) --&amp;gt;&lt;br /&gt;
        &amp;lt;name&amp;gt;My property rule&amp;lt;/name&amp;gt;  &amp;lt;!--  Optional name tag useful for debugging and other maintenance --&amp;gt;&lt;br /&gt;
        &amp;lt;path&amp;gt;Systems/my-propertyrules.xml&amp;lt;/path&amp;gt;  &amp;lt;!-- path can be relative to the current aircraft-set.xml location --&amp;gt;&lt;br /&gt;
      &amp;lt;/property-rule&amp;gt;&lt;br /&gt;
    &amp;lt;/systems&amp;gt;&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
node of your &amp;lt;code&amp;gt;&amp;amp;lt;aircraft&amp;amp;gt;-set.xml&amp;lt;/code&amp;gt; file. Note that you can add multiple &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property-rule&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements, similar to the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;autopilot&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; as described above.&lt;br /&gt;
&lt;br /&gt;
{{tip|Configurations can be enabled and disabled through the boolean properties &amp;lt;code&amp;gt;/sim/systems/autopilot[''n'']/serviceable&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/sim/systems/property-rule[''n'']/serviceable&amp;lt;/code&amp;gt;, where''n'' is the index for a configuration}}&lt;br /&gt;
&lt;br /&gt;
== Structure of a configuration file ==&lt;br /&gt;
Autopilot configurations live in a separate file, formatted using the well known XML syntax like so many other FlightGear files with a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;PropertyList&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; node as a root element. A basic skeleton file looks like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;params include=&amp;quot;MyParams.xml&amp;quot;&amp;gt; &amp;lt;!-- Params can be included like this --&amp;gt;&lt;br /&gt;
    &amp;lt;controls&amp;gt;&lt;br /&gt;
      &amp;lt;aileron&amp;gt;controls/flight/aileron&amp;lt;/aileron&amp;gt;&lt;br /&gt;
      &amp;lt;rudder&amp;gt;controls/flight/rudder&amp;lt;/rudder&amp;gt;&lt;br /&gt;
      &amp;lt;elevator&amp;gt;controls/flight/elevator&amp;lt;/elevator&amp;gt;&lt;br /&gt;
    &amp;lt;/controls&amp;gt;&lt;br /&gt;
  &amp;lt;/params&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Place your components here --&amp;gt;&lt;br /&gt;
  &amp;lt;!--&lt;br /&gt;
  &amp;lt;filter&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Myfilter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;input&amp;gt;/foo&amp;lt;/input&amp;gt;&lt;br /&gt;
    &amp;lt;output&amp;gt;/bar&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;/filter&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;Myfilter&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;input alias=&amp;quot;/params/control/aileron&amp;quot;/&amp;gt;  Aliasing a property name&lt;br /&gt;
    &amp;lt;output&amp;gt;/bar&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;/filter&amp;gt;&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The location and the name of the configuration file is up to the developer. A descriptive name like &amp;lt;code&amp;gt;autopilot.xml&amp;lt;/code&amp;gt; might be a good choice. Most developers put these files into the &amp;lt;code&amp;gt;Systems&amp;lt;/code&amp;gt; folder of the aircraft.&lt;br /&gt;
&lt;br /&gt;
{{tip|Using [[PropertyList XML files#Aliased properties|aliased property names]] is good style and makes the configuration file more readable.  The params section may be included from an external file to avoid duplication of code.&lt;br /&gt;
&lt;br /&gt;
For complex systems, spread over multiple autopilot and/or property-rule configuration files, this can greatly aid debugging and maintenance.}}&lt;br /&gt;
&lt;br /&gt;
{{tip|Commenting the configuration file to document the purpose elements and groups of elements and what they are intended to do can also aid debugging and maintenance.}}&lt;br /&gt;
&lt;br /&gt;
== Available elements ==&lt;br /&gt;
All elements may contain the attributes &amp;quot;include&amp;quot; and &amp;quot;alias&amp;quot;. &lt;br /&gt;
The &amp;quot;include&amp;quot; property takes a file name as a parameter. This can be used to read the document tree of an external XML file into the node containing the &amp;quot;include&amp;quot; attribute. The included file must have a PropertyList node as the root node. All nodes under this PropertyList node will be added to the node containing the &amp;quot;include&amp;quot; attribute.&lt;br /&gt;
The &amp;quot;alias&amp;quot; attribute refers to an element defined elsewhere in this XMl document. Alias references are in a path-style syntax, either as a relative or absolute path. Absolute paths start with a slash, like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;foo alias=&amp;quot;/params/bar/baz&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. Use the colon to move through the document tree, similar to file system paths like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;foo alias=&amp;quot;../../bar/baz&amp;quot;/&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Any top-level element can appear in an autopilot XML file, but only the following elements will be recognised and used:&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pid-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pi-simple-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;predict-simple&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;logic&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;flipflop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;state-machine&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common elements used by all elements ==&lt;br /&gt;
&lt;br /&gt;
=== Name of filter and controller &amp;amp;lt;name&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is optional, but should be added to give the controller a distinct name. It is only used in debug output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;NAV hold&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Feedback &amp;amp;lt;feedback-if-disabled&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;feedback-if-disabled&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element advises the controller to feed back the output property value to the active input property if the condition defined in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag evaluates to false. This is usually required for controllers like servo drivers behind a PID-controller to give that PID-controller a valid starting value when it becomes enabled. The absence of this element or anything but the word &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt; within this element results in feedback disabled.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;feedback-if-disabled&amp;gt;true&amp;lt;/feedback-if-disabled&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Printing debug output &amp;amp;lt;debug&amp;amp;gt; ===&lt;br /&gt;
If the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;debug&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is present and if it contains the word &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;true&amp;lt;/syntaxhighlight&amp;gt;, the containing controller prints out some diagnostic information on the console for each processing loop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;debug&amp;gt;true&amp;lt;/debug&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input and reference properties or values &amp;amp;lt;input&amp;amp;gt; and &amp;amp;lt;reference&amp;amp;gt; ===&lt;br /&gt;
Each controller has two input &amp;quot;lines&amp;quot;, denoted by the tags &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. The arithmetic difference of these two values is used by the respective controller to compute it's output. Unfortunately due to historical reasons, the sign of input and reference is not consistent for all controllers. While the pid-controller and the pi-simple-controller compute &amp;quot;reference-input&amp;quot;, the filter controller computes &amp;quot;input-reference&amp;quot;. Each element is optional with a default value of zero. These elements are made of so called ''input values'' described further down in this document.&lt;br /&gt;
&lt;br /&gt;
Example for a simple differential amplifier, computing output = (input-reference)*2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;reference&amp;gt;/some/output&amp;lt;/reference&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Output property &amp;amp;lt;output&amp;amp;gt; ===&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element names the properties, the computed value should be written to. More than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; may be present, each named property will be assigned the computed value.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;output&amp;gt;controls/flight/elevator&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
=== Enabling and disabling a filter &amp;amp;lt;enable&amp;amp;gt; ===&lt;br /&gt;
Controllers can be enabled or disabled using property values. This element &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; may contain a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;prop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. The controller is enabled, if the value of the named property equals the given value. This feature is considered deprecated and might go away in future releases. The preferred way of defining the enable-condition is by adding a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element to the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enable&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. This &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; follows the same syntactical rules as the one used in model animations and can model complex expression trees.&lt;br /&gt;
To enable a wing leveler only if the current bank angle does not exceed 30° of bank, use this condition&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enable&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;less-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;30.0&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/less-than&amp;gt;&lt;br /&gt;
    &amp;lt;greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;-30.0&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
&amp;lt;/enable&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input values ===&lt;br /&gt;
Input values for controllers may be specified in several notations. Values may be supplied as constants, from properties or by means of simple linear transformations. Conditions allow the selection of one of multiple input sources. The following text will use the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element as an example but it may be substituted by any other input element like &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; etc. Input values will be interpreted as double values.&lt;br /&gt;
&lt;br /&gt;
==== A constant value &amp;amp;lt;value&amp;amp;gt; or &amp;amp;lt;reference&amp;amp;gt; ====&lt;br /&gt;
A constant value is defined by just adding the value as text to the input element: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;value&amp;gt;3.5&amp;lt;/value&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The shortcut syntax is also valid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;3.5&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the text can be parsed by &amp;lt;code&amp;gt;strtod()&amp;lt;/code&amp;gt; to a double value, it will be used as a constant value, otherwise it will be interpreted as a property value (see next paragraph)&lt;br /&gt;
&lt;br /&gt;
==== A property value ====&lt;br /&gt;
To evaluate the value of a property, place the name of the property into the text element:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/my/property&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The shortcut syntax is also valid:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;/my/property&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|The shortcut syntax is only valid, if neither &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; nor &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element exists.&lt;br /&gt;
If both &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; '''and''' &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element exist, the property will be initialized with the given value with scale and offset applied correctly.&lt;br /&gt;
Properties don't have to exist, the will be created as needed.}}&lt;br /&gt;
&lt;br /&gt;
{{note|For backward compatibility, the notation &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;prop&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; instead of &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; is also valid but considered deprecated and might go away in future releases.}}&lt;br /&gt;
&lt;br /&gt;
==== Linear transformation of the input value &amp;amp;lt;offset&amp;amp;gt; ====&lt;br /&gt;
Input values may be scaled and shifted before they are processed by the controller using the formula &amp;lt;tt&amp;gt;y = value * scale + offset&amp;lt;/tt&amp;gt;&lt;br /&gt;
To use a Celsius temperature property in a controller which expects the temperature in Fahrenheit you might use&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/environment/temperature-degc&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;1.8&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;32&amp;lt;/offset&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Periodical transformation of the input value &amp;amp;lt;period&amp;amp;gt; ====&lt;br /&gt;
Periodical (like angular) input values can be transformed to appear in the correct phase before they are processed by the controller by adding or subtracting multiples of the period to the input value until the values is in the requested periods interval.&lt;br /&gt;
The following example converts the heading which comes in the range of [0..360] into the range of [-180..+180]. This will cause a heading of 270 to be processed as a value of -90.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/orientation/heading-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;period&amp;gt;&lt;br /&gt;
    &amp;lt;min&amp;gt;-180.0&amp;lt;/min&amp;gt;&lt;br /&gt;
    &amp;lt;max&amp;gt;180.0&amp;lt;/max&amp;gt;&lt;br /&gt;
  &amp;lt;/period&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Input clamping &amp;amp;lt;min&amp;amp;gt; and &amp;amp;lt;max&amp;amp;gt; ====&lt;br /&gt;
To clamp the input to a minimum value, maximum value or both, the tags &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; can be used. Clamping will occur after the linear transformation has been applied. Note the difference of input clamping to output clamping. While input clamping is applied '''before''' the signal reaches the controller, output clamping will be applied to the output signal '''after''' it has been processed.&lt;br /&gt;
&lt;br /&gt;
The following code will keep the input to the controller in the range of 60 to 80 degrees Fahrenheit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/environment/temperature-degc&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;1.8&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;32&amp;lt;/offset&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;60&amp;lt;/min&amp;gt;&lt;br /&gt;
  &amp;lt;max&amp;gt;80&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Absolute values &amp;amp;lt;abs&amp;amp;gt; ====&lt;br /&gt;
To use the absolute (unsigned) value of the input, add &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;abs type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/abs&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/autopilot/internal/course-error-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;abs type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/abs&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recursive definition ====&lt;br /&gt;
The elements &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;scale&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; itself can be defined as input values. This code uses as reference the value of course-error-deg, scaled by two and an offset applied which is calculated as the product of the bank-angle-de and the property some/property which itself is limited within the range of -1.5 .. +1.5.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;/autopilot/internal/course-error-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;scale&amp;gt;2.0&amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;offset&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;orientation/bank-angle-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;scale&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;some/property&lt;br /&gt;
      &amp;lt;min&amp;gt;-1.5&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;1.5&amp;lt;/max&amp;gt;&lt;br /&gt;
    &amp;lt;/scale&amp;gt;&lt;br /&gt;
  &amp;lt;/offset&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Conditional input values &amp;amp;lt;condition&amp;amp;gt; ====&lt;br /&gt;
The direct inputs of controller and filter elements support so called input value lists. This is useful, if the input should be connected to one of many separate inputs like autopilots connected to NAV1, NAV2 or the GPS. A standard &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element is allowed within an input value element. The input value list will be traversed until the first input value with a successful condition is found. The behavior is much like the switch statement in programming languages.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/coupled-to-gps&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;instrumentation/gps/desired-track-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;&lt;br /&gt;
  &amp;lt;condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/coupled-to-nav2&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/condition&amp;gt;&lt;br /&gt;
  &amp;lt;property&amp;gt;instrumentation/nav[1]/radials/selected-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;reference&amp;gt;instrumentation/nav[0]/radials/selected-deg&amp;lt;/reference&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the unconditional last &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;reference&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element which acts as an &amp;quot;if all others fail, use NAV1&amp;quot; anchor. If no input value return with a successful condition, the input value is undefined.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;scale&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;offset&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;, &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements of input values itself currently don't support input value lists.&lt;br /&gt;
&lt;br /&gt;
==== Expressions &amp;amp;lt;expression&amp;amp;gt; ====&lt;br /&gt;
Complex math or lookup tables may be represented using the [[expression]] syntax. The expression has to be enclosed in &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;expression&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag.&lt;br /&gt;
&lt;br /&gt;
=== Output values ===&lt;br /&gt;
After processing of a component, the resulting value passes a transformation stage where it can be clipped or normalized into a given period. Periodic values such as angular properties may be normalized into a given period by adding a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;period&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element, defining the lower and upper bounds of the period. Additionally, a maximun and a minimum value may be given which will guarantee that the output value will ever exceed a defined value. &lt;br /&gt;
&lt;br /&gt;
{{note|Both periodical normalization and clipping may be defined. If both are given, the value will be normalized first and the clipping will be applied to the normalized value.}}&lt;br /&gt;
&lt;br /&gt;
The following example shifts the computed value into the interval of [-180..180] thereafter being limited into the interval of [-30..30]. The following table contains some computed values and the resulting written value:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! computed !! written&lt;br /&gt;
|-&lt;br /&gt;
|     -350 ||  10&lt;br /&gt;
|-&lt;br /&gt;
|     -270 ||  30&lt;br /&gt;
|-&lt;br /&gt;
|      -90 || -30&lt;br /&gt;
|-&lt;br /&gt;
|      -29 || -29&lt;br /&gt;
|-&lt;br /&gt;
|       29 ||  29&lt;br /&gt;
|-&lt;br /&gt;
|       90 ||  30&lt;br /&gt;
|-&lt;br /&gt;
|      350 || -10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;output&amp;gt;/some/property&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;period&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;-180&amp;lt;/min&amp;gt;&lt;br /&gt;
  &amp;lt;max&amp;gt;180&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/period&amp;gt;&lt;br /&gt;
&amp;lt;min&amp;gt;-30&amp;lt;/min&amp;gt;&lt;br /&gt;
&amp;lt;max&amp;gt;30&amp;lt;/max&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example shows how to use a table to vary an output with height. At sea level, the output is 0.045, at 22400 the output is 0.1196, and at 56000 ft the output is 0.7&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;GAy&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;expression&amp;gt;&lt;br /&gt;
      &amp;lt;table&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/instrumentation/altimeter/indicated-altitude-ft&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;0.0&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.045&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;22400&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.1196&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
        &amp;lt;entry&amp;gt;&amp;lt;ind&amp;gt;56000&amp;lt;/ind&amp;gt;&amp;lt;dep&amp;gt;0.7&amp;lt;/dep&amp;gt;&amp;lt;/entry&amp;gt;&lt;br /&gt;
      &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;/expression&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/gain/GAy&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Logic controller &amp;amp;lt;logic&amp;amp;gt; ==&lt;br /&gt;
The logic controller provides a simple way of creating property values from the result of the condition expression in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. The condition expression is evaluated once per iteration and the result is written as a boolean value to the named output property or properties. An optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;inverted&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element inverts the logic. The default is &amp;quot;not inverted&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Example: output = not( ( a is true ) or ( ( b greater than c ) and ( d is true ) )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;logic&amp;gt;&lt;br /&gt;
  &amp;lt;inverted&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;a&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;or&amp;gt;&lt;br /&gt;
      &amp;lt;greater-than&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;b&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;c&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;d&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/or&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/logic&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Flip flop logic &amp;amp;lt;flipflop&amp;amp;gt; ==&lt;br /&gt;
A flip flop is a controller that has two stable states so it can be used as a one bit memory. Four types of flip flops are implemented: '''RS''', '''JK''', '''D''' and '''T'''. All use positive logic and operate on the raising edge of the clock signal if a clock is used.&lt;br /&gt;
All input lines, including the clock line, are encoded as condition constructs.&lt;br /&gt;
If negative logic for the input line is required, wrap the condition into a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;not&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tag to invert the logic.&lt;br /&gt;
&lt;br /&gt;
{{note|The type, for example '''RS''', is case sensitive.}}&lt;br /&gt;
{{note|Using &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; tags will break the logic.}}&lt;br /&gt;
&lt;br /&gt;
=== RS flip flop &amp;amp;lt;RS&amp;amp;gt; ===&lt;br /&gt;
This flip flop sets its output according to the set (S) or reset (R) input lines. If the set line is set, the output gets set. If the reset line is set, the output gets reset. If no line is set, the output stays unchanged. For the special case where set and reset lines are both set, two types of RS flip flops exist: for the RS flip flop (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;type&amp;gt;RS&amp;lt;/type&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;), the reset line is dominant and the output is reset. Alternatively, a SR flip flop (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;type&amp;gt;SR&amp;lt;/type&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;) has a dominant set line and the output gets set if set and reset line are set.&lt;br /&gt;
&lt;br /&gt;
Example: simple RS flip flop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;RS&amp;lt;/type&amp;gt; &amp;lt;!-- or SR --&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/set&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;R&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/reset&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/R&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== JK flip flop &amp;amp;lt;JK&amp;amp;gt; ===&lt;br /&gt;
The JK flip flop is an extension of the RS flip flop. In addition to the set and reset lines of the RS flip flop it uses J, K and a clock input.&lt;br /&gt;
The J line serves as a clock dependent set input while the K line does the reset job. Optionally, a clock input may be provided. State changes do not occur immediately, but on the next raising edge of the clock signal. The state of J=K=true causes the output to toggle it's current state on the next raising edge of the clock signal.&lt;br /&gt;
If no clock signal is provided, the frame rate serves as the clock input.&lt;br /&gt;
&lt;br /&gt;
Example: simple JK flip flop with negative edge clock&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;JK&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;J&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/set&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/J&amp;gt;&lt;br /&gt;
  &amp;lt;K&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/reset&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/K&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;not&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/not&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== D flip flop &amp;amp;lt;D&amp;amp;gt; ===&lt;br /&gt;
The D flip flop transfers the state of the input signal '''D''' to the output line at the next raising edge of the clock signal, which is mandatory for this flip flop.&lt;br /&gt;
&lt;br /&gt;
Example: simple D flip flop with inverted output&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;D&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;D&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/data&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/D&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;inverted type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== T flip flop &amp;amp;lt;T&amp;amp;gt; ===&lt;br /&gt;
The T flip flop toggles the state of the output signal at the next raising edge of the clock signal, which is mandatory for this flip flop.&lt;br /&gt;
&lt;br /&gt;
Example: simple T flip flop&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;T&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Monostable flip flop &amp;amp;lt;monostable&amp;amp;gt; ===&lt;br /&gt;
A monostable flip flop has only one stable state which will be reentered after a well defined time. The stable state in current implementation is the output set 'false' or 0. The Monostable is an extension of the JK flip flop. Additionally to the input values defined there, an InputValue for the definition of the pulse time is mandatory. &lt;br /&gt;
&lt;br /&gt;
The moment the time for the astable state starts counting depends on the input used to set the output. If the output is set from the SET input of the RS flipflop, the output is kept true for the defined time ''after'' the SET input enters it's false state. The total time the output is true equals the time, the SET input is true plus the time defined in the &amp;lt;time&amp;gt; element.&lt;br /&gt;
If the output is set from the J and clock inputs of the JK flipflop, the timer starts on the raising edge of the clock input. The output signal will be true for exactly the time defined in the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element. &lt;br /&gt;
&lt;br /&gt;
{{note|The optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;R&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;K&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; inputs may be used to reset the output before the internal timer expired. This will also reset the timer to zero, so no additional event will be triggered after the defined timer interval.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Test mf&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;monostable&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;time&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/pulsetime-sec&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;value&amp;gt;10&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/time&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&amp;lt;property&amp;gt;/myflipflop/s&amp;lt;/property&amp;gt;&amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;J&amp;gt;&amp;lt;property&amp;gt;/myflipflop/j&amp;lt;/property&amp;gt;&amp;lt;/J&amp;gt;&lt;br /&gt;
  &amp;lt;clock&amp;gt;&amp;lt;property&amp;gt;/myflipflop/clock&amp;lt;/property&amp;gt;&amp;lt;/clock&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/myflipflop/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following example shows how a monostable can be used to enable a certain property (/myflipflop/output) if another property (/myflipflop/s) is true for at least the specified amount of time:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;flipflop&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;Test mf&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;monostable&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;inverted type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/inverted&amp;gt;&lt;br /&gt;
  &amp;lt;S&amp;gt;&lt;br /&gt;
    &amp;lt;not&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/myflipflop/s&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/not&amp;gt;&lt;br /&gt;
  &amp;lt;/S&amp;gt;&lt;br /&gt;
  &amp;lt;time&amp;gt;&lt;br /&gt;
    &amp;lt;value&amp;gt;10.0&amp;lt;/value&amp;gt;&lt;br /&gt;
  &amp;lt;/time&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/myflipflop/output&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/flipflop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this example the monostable is inverted, which means the stable state is true instead of false. The key idea here is to keep the monostable in its unstable state (false) by keeping the set line true, which is the case when /myflipflop/s is false. Then, when /myflipflop/s becomes true the set line becomes false, which causes the timer to start. When the timer expires (in this case 10 seconds) the monostable will enter its stable state (true). At any time when the set line becomes true (when /myflipflop/s becomes false) the monostable will immediately enter its unstable state (false) again, resulting in /myflipflop/output to become false immediately.&lt;br /&gt;
&lt;br /&gt;
== Filters &amp;amp;lt;filter&amp;amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
=== Pure gain filter &amp;amp;lt;gain&amp;amp;gt; ===&lt;br /&gt;
A gain filter multiplies the &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;input&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; value by a given factor or gain &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and returns the output to &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;output&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;. More than one &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element formatted as in [[Autopilot Configuration Reference#Input Values|Input Values]] may be present.  Within a &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; evaluating as true the first &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; will define the used gain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;gain&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;6.28&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;radius&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;circumfence&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== First order low pass filter &amp;amp;lt;exponential&amp;amp;gt; ===&lt;br /&gt;
The exponential filter is a typical [http://en.wikipedia.org/wiki/Low-pass_filter low pass filter]. The magic Euler number and the associated mathematical function exp() plays a major role here. As the name implies, lower frequencies can pass this filter while higher frequencies are cut. The frequency where only half of the input signal reaches the output is called cutoff frequency. This cutoff frequency is defined by the parameter &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and resolves as cutoff-frequency = 1/(2*pi*cutoff-frequency).&lt;br /&gt;
&lt;br /&gt;
Example: a 1Hz first order low pass filter &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;exponential&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Second order low pass filter &amp;amp;lt;double-exponential&amp;amp;gt; ===&lt;br /&gt;
The double exponential filter is a low pass filter like the exponential filter with a steeper slope of the filter diagram. It acts basically like two chained exponential filters and it is some times called second order filter. &lt;br /&gt;
&lt;br /&gt;
The configuration is the same for exponential and double-exponential filters, just the type entry differs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;double-exponential&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== First order high pass filter &amp;amp;lt;high-pass&amp;amp;gt; ===&lt;br /&gt;
The high pass filter is a typical [http://en.wikipedia.org/wiki/High-pass_filter high pass filter]. The magic euler number and the associated mathematical funtion exp() plays a major role here. As the name implies, higher frequencies can pass this filter while lower frequencies are cut. The frequency where only half of the input signal reaches the output is called cutoff frequency. This cutoff frequency is defined by the parameter &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and resolves as cutoff-frequency = 1/(2*pi*cutoff-frequency). It is commonly known as a wash-out filter or a 1st order lead filter&lt;br /&gt;
&lt;br /&gt;
Example: a 1Hz first order high pass filter &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;high-pass&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;0.16&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output/&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Lead-Lag filter &amp;amp;lt;lead-lag&amp;amp;gt; ===&lt;br /&gt;
The lead-lag filter  is a typical [https://en.wikipedia.org/wiki/Lead%E2%80%93lag_compensator] lead lag filter. As the name implies it is a combination of a lead (high-pass) filter and a lag (low-pass) filter.&lt;br /&gt;
&lt;br /&gt;
Example: a lead lag filter k(s+a)/s+b).&lt;br /&gt;
The gain is k, filter-time-a is a, and filter-time-b is b.&lt;br /&gt;
&lt;br /&gt;
In an autopilot is is often used to sharpen up the response to an input. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;loc-deg leadlag&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;lead-lag&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;5&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time-a&amp;gt;5.0&amp;lt;/filter-time-a&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time-b&amp;gt;1.0&amp;lt;/filter-time-b&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/loc-deg&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/loc-deg-leadlag&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Integrator filter &amp;amp;lt;lead-lag&amp;amp;gt; ===&lt;br /&gt;
The integrator filter provides integration with time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example: an integrator filter k(1/s).&lt;br /&gt;
&lt;br /&gt;
In this example, the normal input (&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;property&amp;gt;/autopilot/internal/p-deg_sec&amp;lt;/property&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;)is disconnected and replaved by (output x 10) input when relay Rb is closed. This has the effect of rapidly ramping the integrator output to zero. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;synthetic bank from roll rate&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;integrator&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;&lt;br /&gt;
    &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;property&amp;gt;/autopilot/internal/Rb&amp;lt;/property&amp;gt;&lt;br /&gt;
    &amp;lt;/condition&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/p-deg_sec&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt; &amp;lt;!-- zero integrator when Rb is not set --&amp;gt;&lt;br /&gt;
    &amp;lt;expression&amp;gt;&lt;br /&gt;
      &amp;lt;product&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;-10.0&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/autopilot/internal/phi-deg_synth&amp;lt;/property&amp;gt;&lt;br /&gt;
      &amp;lt;/product&amp;gt;&lt;br /&gt;
    &amp;lt;/expression&amp;gt;&lt;br /&gt;
  &amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;&lt;br /&gt;
    &amp;lt;property&amp;gt;/autopilot/internal/phi-deg_synth&amp;lt;/property&amp;gt;&lt;br /&gt;
  &amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;u_min&amp;gt;-180&amp;lt;/u_min&amp;gt;&lt;br /&gt;
  &amp;lt;u_max&amp;gt;180&amp;lt;/u_max&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Moving average filter &amp;amp;lt;moving-average&amp;amp;gt; ===&lt;br /&gt;
Calculates average of specified number of values.&lt;br /&gt;
&lt;br /&gt;
Currently the average length can only be given as number of samples and not time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;moving-average&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;samples&amp;gt;120&amp;lt;/samples&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rate limit filter &amp;amp;lt;noise-spike&amp;amp;gt; ===&lt;br /&gt;
A better name for a noise spike filter would probably have been &amp;quot;rate limit filter&amp;quot;. This is exactly what it does: limit the rate of change of the output value. The relevant configuration element is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max-rate-of-change&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; setting the maximum rate of change of the output property per second.&lt;br /&gt;
&lt;br /&gt;
Example: A transition from 0 to 4 at the input property results in a linear increase of the output property over 8 seconds from 0 to 4 at a rate of 0.5/sec.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;noise-spike&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;max-rate-of-change&amp;gt;0.5&amp;lt;/max-rate-of-change&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/some/input&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/some/output&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Reciprocal filter &amp;amp;lt;reciprocal&amp;amp;gt; ===&lt;br /&gt;
Compute the reciprocal (1/x) value of the input property. If x is zero, no computation is performed. The optional &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; element may be used to scale the value. Output computes as gain divided by input.&lt;br /&gt;
&lt;br /&gt;
Example: compute the flight time per pound of burned fuel from the fuel flow&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;reciprocal&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;gain&amp;gt;1.0&amp;lt;/gain&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;/engines/engine[0]/fuel-flow-pph&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;/engines/engine[0]/fuel-flow-hpp&amp;lt;/output&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Derivative filter &amp;amp;lt;derivative&amp;amp;gt; ===&lt;br /&gt;
Compute first time derivative of the input property, that is change per unit of time. Time is measured in seconds. A &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-time&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; acts as gain and must be given because it has default 0.&lt;br /&gt;
&lt;br /&gt;
Example: compute derivative of static port pressure&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;filter&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;derivative&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;systems/static[0]/pressure-inhg&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;autopilot/internal/pressure-rate&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;filter-time&amp;gt;1.0&amp;lt;/filter-time&amp;gt;&lt;br /&gt;
&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PID controller &amp;amp;lt;pid-controller&amp;amp;gt; ==&lt;br /&gt;
The [http://en.wikipedia.org/wiki/PID_controller PID controller] is the swiss army knife of automation and this implementation is suitable for most situations. It has a builtin anti-windup logic, and usage of &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements for clamping the output is mandatory. The most important thing to know is that this controller 'does not' compute absolute output values but an offset from the current value of the output property. This can lead to unexpected behavior if the current value of the output property is unknown when the controller is enabled. This behavior is different to that of the pi-simple-controller.&lt;br /&gt;
&lt;br /&gt;
The xml element creating a pid controller is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pid-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| The overall gain for the proportional, integral and derivative part&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ti&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Integrator time&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Td&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Derivator time&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ts&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Sampling interval (default: sample at frame rate)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;alpha&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scaling factor for Td (defaults to 0.1)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;beta&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Reference weighing factor for the proportional component (defaults to 1.0)&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;gamma&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Reference weighing factor for the derivate component (defaults to 0.0)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PI controller &amp;amp;lt;pi-simple-controller&amp;amp;gt; ==&lt;br /&gt;
This controller implements a PI controller. Other than the PID controller, it computes absolute output values, regardless of the value of the output property. It can by configured as an I-only, P-only or PI-controller. It has anti windup logic if &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;min&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; and &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;max&amp;gt;&amp;lt;/syntaxhighlight&amp;gt; elements are present.&lt;br /&gt;
The xml element creating a PI controller is &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;pi-simple-controller&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Kp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Gain of the proportional component&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;Ki&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Gain of the integrator component&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Predictor &amp;amp;lt;predict-simple&amp;amp;gt; ==&lt;br /&gt;
Estimates the future value for a given property based on its current (or averaged) rate of change.&lt;br /&gt;
&lt;br /&gt;
Legal elements are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;seconds&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| The time to be estimated ahead&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;filter-gain&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Smoothing factor (0.0-1.0, 1.0=no smoothing)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example: compute estimated speed 5 seconds ahead&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;predict-simple&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;predicted air speed 5 seconds ahead&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;debug&amp;gt;false&amp;lt;/debug&amp;gt;&lt;br /&gt;
  &amp;lt;input&amp;gt;velocities/airspeed-kt&amp;lt;/input&amp;gt;&lt;br /&gt;
  &amp;lt;output&amp;gt;autopilot/internal/airspeed-5-sec-ahead&amp;lt;/output&amp;gt;&lt;br /&gt;
  &amp;lt;seconds&amp;gt;5.0&amp;lt;/seconds&amp;gt;&lt;br /&gt;
  &amp;lt;filter-gain&amp;gt;0.1&amp;lt;/filter-gain&amp;gt;&lt;br /&gt;
&amp;lt;/predict-simple&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== State Machine &amp;amp;lt;state-machine&amp;amp;gt; ==&lt;br /&gt;
For a description of what a state machine can do, look here: [http://en.wikipedia.org/wiki/Finite-state_machine].&lt;br /&gt;
&lt;br /&gt;
{{note|Current behaviour with enter, exit and update tags differs from this documentation. Refer to the developer mailing list [https://sourceforge.net/p/flightgear/mailman/message/35557652/] before implementing bindings in state machines.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;state-machine&amp;gt;&lt;br /&gt;
  &amp;lt;branch&amp;gt;/my-statemachine&amp;lt;/branch&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;init&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;enter&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/enter&amp;gt;&lt;br /&gt;
    &amp;lt;exit&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/exit&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;&lt;br /&gt;
      &amp;lt;binding&amp;gt;&amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/update&amp;gt;&lt;br /&gt;
  &amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;state&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;finished&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;enter&amp;gt;Zero to many bindings, fired upon state enter&amp;lt;/enter&amp;gt;&lt;br /&gt;
    &amp;lt;exit&amp;gt;Zero to many bindings, fired upon state exit&amp;lt;/exit&amp;gt;&lt;br /&gt;
    &amp;lt;update&amp;gt;Zero to many bindings, fired upon every state change&amp;lt;/update&amp;gt;&lt;br /&gt;
  &amp;lt;/state&amp;gt;&lt;br /&gt;
  &amp;lt;transition&amp;gt;&lt;br /&gt;
    &amp;lt;name&amp;gt;ready&amp;lt;/name&amp;gt;&lt;br /&gt;
    &amp;lt;source&amp;gt;init&amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;target&amp;gt;finished&amp;lt;/target&amp;gt;&lt;br /&gt;
    &amp;lt;exclude-target type=&amp;quot;bool&amp;quot;&amp;gt;true&amp;lt;/exclude-target&amp;gt;&lt;br /&gt;
    &amp;lt;condition&amp;gt;&lt;br /&gt;
      &amp;lt;greater-than&amp;gt;&lt;br /&gt;
        &amp;lt;property&amp;gt;/sim/time/elapsed-sec&amp;lt;/property&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;30&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;/greater-than&amp;gt;&lt;br /&gt;
    &amp;lt;/condition&amp;gt;&lt;br /&gt;
    &amp;lt;binding&amp;gt;Zero to many bindings, fired upon state change&amp;lt;/binding&amp;gt;&lt;br /&gt;
  &amp;lt;/transition&amp;gt;&lt;br /&gt;
&amp;lt;/state-machine&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Legal elements for the state machine are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;branch&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| A path to a property node where the internal states of the machine gets written to. Can be empty.&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;state&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Two ore more state elements are required for a minimal state machine&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;transition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Any number of transition elements. Describes how to change from one state to another.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Legal elements for the state element are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, gives the state a name for reference&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;enter&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many enter elements containing a SGBinding to fire upon state enter&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;exit&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many exit elements containing a SGBinding to fire upon state exit&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;update&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many update elements containing a SGBinding to fire upon state change&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Legal elements for the transition element are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, gives the transition a name for reference&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;source&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many source elements containing the name of a source state. If no source state is definied, this transition applies to all states.&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;target&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, exactly one target element defining the target state&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Required, contains a SGCondition when this state change occours&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;exclude-target&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, boolean flag defaults to true. Indicates if this transition should be evaluated even if current state equals target&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; inline&amp;gt;&amp;lt;binding&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Optional, zero to many binding elements containing a SGBinding to fire when this transition triggers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Proposed extensions ==&lt;br /&gt;
This sections contains new features for the autopilot to be implemented. Nobody knows if and when this will happen. Consider this as a collection of ideas as a base for discussion on the mailing list, the forum or IRC.&lt;br /&gt;
&lt;br /&gt;
=== Expose to Nasal ===&lt;br /&gt;
Given that Nasal is a widely-known bottleneck, people should not use it for implement FDM/AP or route-manager functionality in scripting space. However, for the time being, the underlying C++ code is not exposed to scripting space, so that aircraft developers tend to reinvent the wheel. Thus, it would make sense to expose the AP/property-rule/state machine subsystems to scripting space using the [[Nasal/CppBind]] framework, to ensure that existing C++ code can be used for such purposes:&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I have recently committed some code to allow runtime loading of &amp;amp;lt;strike&amp;amp;gt;autopilots&amp;amp;lt;/strike&amp;amp;gt; property rules and have a Nasal binding for that in mind.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=149376#p149376&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: 2 Questions: vacuum &amp;amp; electrical&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Torsten&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Feb 2nd, 2012&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
=== Wiki articles ===&lt;br /&gt;
* [[Autopilot PID controller tuning resources]]&lt;br /&gt;
* [[Howto:Design an autopilot]]&lt;br /&gt;
* [[Howto:Implement a Fly-By-Wire System for Airliners]]&lt;br /&gt;
&lt;br /&gt;
=== Readme file ===&lt;br /&gt;
* {{readme file|digitalfilters}}&lt;br /&gt;
&lt;br /&gt;
=== Source code ===&lt;br /&gt;
* {{flightgear source|src/Autopilot/digitalfilter.hxx}}&lt;br /&gt;
* {{flightgear source|src/Autopilot/autopilot.cxx}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107399</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107399"/>
		<updated>2017-03-17T19:57:11Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */ correct typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
{{#tag:syntaxhighlight |&lt;br /&gt;
$ {{fgaddon co|Citation|post=Citation}}&lt;br /&gt;
$ svn up&lt;br /&gt;
|  lang=&amp;quot;bash&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for [[State_Overlay_System|state overlays]]. Will be available with FG-2017.2 or recent dev-Version. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * '''parking'''  ( cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
  * '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
  * '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
  * '''approach''' ( !experimental! use with:&lt;br /&gt;
    ''--glideslope=degrees''       ( usually 3 ) '''or'''&lt;br /&gt;
    ''--altitude=ft-above-msl''    ( alt above sea level ) '''or'''&lt;br /&gt;
    ''--offset-distance=nm''       ( 10 seems like a good start )&lt;br /&gt;
    Never use all 3 options at once! Only 2 of them. Triangle calculation - remember?&lt;br /&gt;
    ''--in-air''                   ( well, just do it... )&lt;br /&gt;
    if you want, you can add options like this:&lt;br /&gt;
    ''--nav1=rad:freq''            ( Going into [https://skyvector.com/airport/LPAZ/Santa-Maria-Airport LPAZ] 18 enter --nav1=179:110.300 meaning NAV1 is set to 110.300 MHz with a radial of 179°, which is the G/S of LPAZ-18 )&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107394</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107394"/>
		<updated>2017-03-17T01:37:05Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for [[State_Overlay_System|state overlays]]. Will be available with FG-2017.3 or recent dev-Version. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * '''parking'''  ( cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
  * '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
  * '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
  * '''approach''' ( !experimental! use with:&lt;br /&gt;
    ''--glideslope=degrees''       ( usually 3 ) '''or'''&lt;br /&gt;
    ''--altitude=ft-above-msl''    ( alt above sea level ) '''or'''&lt;br /&gt;
    ''--offset-distance=nm''       ( 10 seems like a good start )&lt;br /&gt;
    Never use all 3 options at once! Only 2 of them. Triangle calculation - remember?&lt;br /&gt;
    ''--in-air''                   ( well, just do it... )&lt;br /&gt;
    if you want, you can add options like this:&lt;br /&gt;
    ''--nav1=rad:freq''            ( Going into [https://skyvector.com/airport/LPAZ/Santa-Maria-Airport LPAZ] 18 enter --nav1=179:110.300 meaning NAV1 is set to 110.300 MHz with a radial of 179°, which is the G/S of LPAZ-18 )&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107393</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107393"/>
		<updated>2017-03-17T01:35:20Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for state overlays. Will be available with FG-2017.3 or recent dev-Version. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * '''parking'''  ( cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
  * '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
  * '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
  * '''approach''' ( !experimental! use with:&lt;br /&gt;
    ''--glideslope=degrees''       ( usually 3 ) '''or'''&lt;br /&gt;
    ''--altitude=ft-above-msl''    ( alt above sea level ) '''or'''&lt;br /&gt;
    ''--offset-distance=nm''       ( 10 seems like a good start )&lt;br /&gt;
    Never use all 3 options at once! Only 2 of them. Triangle calculation - remember?&lt;br /&gt;
    ''--in-air''                   ( well, just do it... )&lt;br /&gt;
    if you want, you can add options like this:&lt;br /&gt;
    ''--nav1=rad:freq''            ( Going into [https://skyvector.com/airport/LPAZ/Santa-Maria-Airport LPAZ] 18 enter --nav1=179:110.300 meaning NAV1 is set to 110.300 MHz with a radial of 179°, which is the G/S of LPAZ-18 )&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107392</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107392"/>
		<updated>2017-03-17T01:34:31Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for state overlays. Will be available with FG-2017.3 or recent dev-Version. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * '''parking'''  ( cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
  * '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
  * '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
  * '''approach''' ( !experimental! use with:&lt;br /&gt;
    ''--glideslope=degrees''       ( usually 3 ) '''or'''&lt;br /&gt;
    ''--altitude=ft-above-msl''    ( alt above sea level ) '''or'''&lt;br /&gt;
    ''--offset-distance=nm''       ( 10 seems like a good start )&lt;br /&gt;
    Never use all 3 options at once! Only 2 of them. Triangle calculation - remember?&lt;br /&gt;
    ''--in-air''                   ( well, just do it... )&lt;br /&gt;
    if you want, you can add options like this:&lt;br /&gt;
    ''--nav1=rad:freq''            ( Going into [https://skyvector.com/airport/LPAZ/Santa-Maria-Airport LPAZ] 18 enter --nav1=179:110.300 MHz meaning NAV1 is set to 110.300 with a radial of 179°, which is the G/S of LPAZ-18 )&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107391</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107391"/>
		<updated>2017-03-17T01:33:33Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for state overlays. Will be available with FG-2017.3 or recent dev-Version. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * '''parking'''  ( cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * '''taxi'''     ( engines and all systems running - ready to taxi )&lt;br /&gt;
  * '''take-off''' ( flaps and AP set - just throttle up and go )&lt;br /&gt;
  * '''cruise'''   ( flying at FL360 on AP )&lt;br /&gt;
  * '''approach''' ( !experimental! use with:&lt;br /&gt;
    ''--glideslope=degrees''       ( usually 3 ) '''or'''&lt;br /&gt;
    ''--altitude=ft-above-msl''    ( alt above sea level ) '''or'''&lt;br /&gt;
    ''--offset-distance=nm''       ( 10 seems like a good start )&lt;br /&gt;
    Never use all 3 options at once! Only 2 of them. Triangle calculation - remember?&lt;br /&gt;
    ''--in-air''                   ( well, just do it... )&lt;br /&gt;
    if you want, you can add options like this:&lt;br /&gt;
    ''--nav1=rad:freq''            ( Going into [https://skyvector.com/airport/LPAZ/Santa-Maria-Airport LPAZ] 18 enter --nav1=179:110.300 meaning NAV1 is set to 110.300 with a radial of 179°, which is the G/S of LPAZ-18 )&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107390</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107390"/>
		<updated>2017-03-17T01:30:28Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for state overlays. Will be available with FG-2017.3 or recent dev-Version. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * parking  ( cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * taxi     ( engines and all systems running - ready to taxi )&lt;br /&gt;
  * take-off ( flaps and AP set - just throttle up and go )&lt;br /&gt;
  * cruise   ( flying at FL360 on AP )&lt;br /&gt;
  * approach ( !experimental! use with:&lt;br /&gt;
    --glideslope=degrees       ( usually 3 ) '''or'''&lt;br /&gt;
    --altitude=ft-above-msl    ( alt above sea level ) '''or'''&lt;br /&gt;
    --offset-distance=nm       ( 10 seems like a good start )&lt;br /&gt;
    Never use all 3 options at once! Only 2 of them. Triangle calculation - remember?&lt;br /&gt;
    --in-air                   ( well, just do it... )&lt;br /&gt;
    if you want, you can add options like this:&lt;br /&gt;
    --nav1=rad:freq            ( Going into [https://skyvector.com/airport/LPAZ/Santa-Maria-Airport LPAZ] 18 enter --nav1=179:110.300 meaning NAV1 is set to 110.300 with a radial of 179°, which is the G/S of LPAZ-18 )&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107389</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107389"/>
		<updated>2017-03-17T01:19:30Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */ add state overlay options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for state overlays. Will be available with FG-2017.3 or recent dev-Version. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * parking  ( cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * taxi     ( engines and all systems running - ready to taxi )&lt;br /&gt;
  * take-off ( flaps and AP set - just throttle up and go )&lt;br /&gt;
  * cruise   ( flying at FL360 on AP )&lt;br /&gt;
  * approach ( !experimental! use with:&lt;br /&gt;
    --glideslope=degrees       ( usually 3 ) '''or'''&lt;br /&gt;
    --altitude=ft-above-msl    ( alt above sea level ) '''or'''&lt;br /&gt;
    --offset-distance=nm       ( 10 seems like a good start )&lt;br /&gt;
    Never use all 3 options at once! Only 2 of them. Triangle calculation - remember?&lt;br /&gt;
    --in-air                   ( well, just do it... )&lt;br /&gt;
    if you want, you can add options like this:&lt;br /&gt;
    --nav1=rad:freq            ( Going into LOWI 26 enter --nav1=255:111.100 meaning NAV1 is set to 111.100 with a radial of 255°, which is the G/S of LOWI26 )&lt;br /&gt;
    )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107388</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107388"/>
		<updated>2017-03-17T01:07:17Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for state overlays. Will be available with FG-2017.3 or recent dev-Version. Activate state overlay by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * parking  (cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * taxi     (engines and all systems running - ready to taxi)&lt;br /&gt;
  * take-off (flaps and AP set - just throttle up and go)&lt;br /&gt;
  * cruise   (flying at FL360 on AP)&lt;br /&gt;
  * approach ( !experimental! use with &amp;lt;code&amp;gt;--glideslope=degrees --offset-distance=nm --in-air&amp;lt;/code&amp;gt; )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107387</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107387"/>
		<updated>2017-03-17T01:05:21Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */ formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for state overlays. Activate by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * parking  (cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * taxi     (engines and all systems running - ready to taxi)&lt;br /&gt;
  * take-off (flaps and AP set - just throttle up and go)&lt;br /&gt;
  * cruise   (flying at FL360 on AP)&lt;br /&gt;
  * approach ( !experimental! use with &amp;lt;code&amp;gt;--glideslope=degrees --offset-distance=nm --in-air&amp;lt;/code&amp;gt; )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107386</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107386"/>
		<updated>2017-03-17T01:04:14Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for state overlays. Activate by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * parking (cold and dark, all systems off) (same as without &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; )&lt;br /&gt;
  * taxi (engines and all systems running - ready to taxi)&lt;br /&gt;
  * take-off (flaps and AP set - just throttle up and go)&lt;br /&gt;
  * cruise (flying at FL360 on AP)&lt;br /&gt;
  * approach ( !experimental! use with &amp;lt;code&amp;gt;--glideslope=degrees --offset-distance=nm --in-air&amp;lt;/code&amp;gt; )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107385</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107385"/>
		<updated>2017-03-17T01:01:38Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Recently updated */ add state overlays&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
* New support for state overlays. Activate by adding &amp;lt;code&amp;gt;--state=$state&amp;lt;/code&amp;gt; to your command-line.&lt;br /&gt;
  $state can be:&lt;br /&gt;
  * parking (cold and dark, all systems off)&lt;br /&gt;
  * taxi (engines and all systems running - ready to taxi)&lt;br /&gt;
  * take-off (flaps and AP set - just throttle up and go)&lt;br /&gt;
  * cruise (flying at FL360 on AP)&lt;br /&gt;
  * approach ( !experimental! use with &amp;lt;code&amp;gt;--glideslope=degrees --offset-distance=nm --in-air&amp;lt;/code&amp;gt; )&lt;br /&gt;
&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107384</id>
		<title>Cessna 550 Citation II</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II&amp;diff=107384"/>
		<updated>2017-03-17T00:55:49Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 550 Citation II''' debuted in [[FlightGear]] 0.9.8 in January 2005. It has four &amp;quot;special views&amp;quot;: copilot, center-console, passenger 1 and passenger 2.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
The Cessna 550/551 Citation II is a light corporate jet built between 1978 and 2006. The FlightGear model is a luxury corporate jet for two pilots and seven passengers. However you should not view the original Citation II as a real jet; with a cruising speed of only 330 KTAS, it was really intended as a competitor for high-end twin turboprops.&lt;br /&gt;
&lt;br /&gt;
The Cessna 550 requires two pilots; the 551 is the same aircraft certified for single-pilot use.&lt;br /&gt;
&lt;br /&gt;
Later variants of this aircraft include the [[Cessna_Citation_Bravo|Cessna Citation Bravo]], which has newer avionics (available separately in FlightGear), the Cessna Citation S/II with improved wings (not currently available in FlightGear), and the Sierra Super II, available together with this aircraft in FlightGear.&lt;br /&gt;
&lt;br /&gt;
The Sierra Super II is an aftermarket modification of the Cessna 550/551 which replaces the engines with Williams International FJ44-3 turbofans introduced in 2004.  They&lt;br /&gt;
provide more thrust and less fuel consumption.  Climb performance in particular is dramatically improved.&lt;br /&gt;
&lt;br /&gt;
The new engines lack thrust reversers; they are not needed because their idle thrust is only 40 lbf, as opposed to 400 lbf on the old engines.&lt;br /&gt;
&lt;br /&gt;
[[File:CitationII Cockpit Dusk 2015-03-29.jpg|thumb|Cockpit Cessna 550 Citation II at dusk]]&lt;br /&gt;
Features available in FlightGear include:&lt;br /&gt;
&lt;br /&gt;
* Choice of two variants: the basic Citation II or the re-engined Sierra Super II&lt;br /&gt;
* Several liveries&lt;br /&gt;
* Several checklists&lt;br /&gt;
* Autostart&lt;br /&gt;
* Weight and speed limitations&lt;br /&gt;
* Tuned autopilot with built-in climb schedule&lt;br /&gt;
* Working speedbrakes (engage with {{key press|k}}, retract with {{key press|j}} - alternatively {{key press|Ctrl|b}} toggles the s/b's)&lt;br /&gt;
* Working thrust reversers (engage with {{key press|Del}}) on the Citation II only&lt;br /&gt;
* Support for the [[Walk_view|Walk View]]&lt;br /&gt;
&lt;br /&gt;
At low altitude, this aeroplane is light and slow enough for sightseeing in the canyons. At high altitude, it is fast enough for medium-haul, multiple-hour flights and GPS navigation.  You can fly VFR or IFR, with or without GPS.&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.4 and earlier ===&lt;br /&gt;
&lt;br /&gt;
[https://sourceforge.net/p/flightgear/fgaddon/460/tarball?path=/trunk/Aircraft/Citation Citation rev 460]&lt;br /&gt;
&lt;br /&gt;
=== For FlightGear 3.5 and higher ===&lt;br /&gt;
&lt;br /&gt;
* Subversion:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ svn checkout http://svn.code.sf.net/p/flightgear/fgaddon/trunk/Aircraft/Citation Citation&lt;br /&gt;
$ svn up&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Tarball:&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/flightgear/fgaddon/HEAD/tarball?path=/trunk/Aircraft/Citation Citation HEAD]&lt;br /&gt;
&lt;br /&gt;
== Startup ==&lt;br /&gt;
Use the aircraft checklist for startup instructions; alternatively, use the menu for autostart.&lt;br /&gt;
&lt;br /&gt;
== Performance ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!   !! Citation II !! Sierra Super II&lt;br /&gt;
|-&lt;br /&gt;
! Never exceed speed&lt;br /&gt;
| 263 KIAS || 263 KIAS&lt;br /&gt;
|-&lt;br /&gt;
! Typical cruise speed at FL410&lt;br /&gt;
| 330 KTAS || 380 KTAS&lt;br /&gt;
|-&lt;br /&gt;
! Range at MTOW and full fuel, FL410, full throttle&lt;br /&gt;
| 1900 nmi || 2500 nmi&lt;br /&gt;
|-&lt;br /&gt;
! Endurance (hours) at full throttle&lt;br /&gt;
| 5:45 || 6:33&lt;br /&gt;
|-&lt;br /&gt;
! Climb rate at sea level&lt;br /&gt;
| 3000 fpm || 6000 fpm&lt;br /&gt;
|-&lt;br /&gt;
! Climb to FL410&lt;br /&gt;
| 45 min (stepped) || 22 min (direct)&lt;br /&gt;
|-&lt;br /&gt;
! Thrust reversers&lt;br /&gt;
| yes || no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Autopilot ==&lt;br /&gt;
The autopilot will disengage 500 feet above ground level or below the decision height selected on the radio altimeter, whichever is highest.  This implies that you must climb at least to 500 ft above ground before you engage the autopilot.  In addition, you should never engage autopilot while manoeuvering; always stabilize the aeroplane before you engage autopilot.&lt;br /&gt;
&lt;br /&gt;
When the FD OFF button is illuminated, the autopilot is OFF.  Clicking this button will engage the autopilot in wing leveler (horizontal) and pitch hold (vertical) modes. You can also engage autopilot, with the same effects, with the AP ENGAGE button between the seats.  The following lateral, vertical and speed modes are available:&lt;br /&gt;
&lt;br /&gt;
=== Lateral modes ===&lt;br /&gt;
; Wing Leveler:  All lights are off&lt;br /&gt;
; HDG:  Follow the magnetic heading bug selected on the pilot's HSI.&lt;br /&gt;
; NAV:  Follow the radial selected on either NAV1 or NAV2.  Switch between NAV1 and NAV2 using the NAV/HSI button.&lt;br /&gt;
; GPS:  Follow the course selected by GPS.  To engage, click on the NAV button a second time.&lt;br /&gt;
; APR:  Click this button to engage both NAV1 and glideslope for an ILS approach.  Note that, since the autopilot will disengage at least 500 ft above ground, this aeroplane is certified only for CAT I ILS approaches; it has no autoland capability.&lt;br /&gt;
&lt;br /&gt;
=== Vertical modes ===&lt;br /&gt;
; Pitch hold:  All lights are off.  Adjust pitch (in increments of 1 degree) with the PITCH wheel between the seats.&lt;br /&gt;
; ALT:  Climb or descend to, then maintain the altitude selected with the ALT knob left of the ADF radio.  You can adjust the selected altitude with this knob or with the PITCH wheel between the seats.&lt;br /&gt;
; V/S: Hold current vertical speed.  Adjust the selected vertical speed with the PITCH wheel between the seats.&lt;br /&gt;
&lt;br /&gt;
You should engage ALT mode in more or less level flight with an angle of attack no greater than 0.2 and airspeed at least 220 KIAS.  The autopilot includes a climb schedule and will climb at a speed appropriate for your engines; it will automatically decrease the rate of climb as you gain altitude.&lt;br /&gt;
&lt;br /&gt;
On the base Citation II, you need a stepped climb and 45 minutes to reach FL410.  The first step should be at FL330 or thereabouts.&lt;br /&gt;
&lt;br /&gt;
On the re-engined Super II, you can climb all the way to FL430 in one step, even at MTOW, provided you respect the prerequisites listed above before engaging ALT mode.&lt;br /&gt;
&lt;br /&gt;
=== Speed modes ===&lt;br /&gt;
; Autothrottle:  Engage and disengage with Ctrl+S to hold current indicated airspeed.  Note that the real Citation II does not have this, so you may consider using autothrottle cheating.&lt;br /&gt;
&lt;br /&gt;
== Radio navigation ==&lt;br /&gt;
Tune the two NAV and COM radios and the sole ADF radio on the cockpit.&lt;br /&gt;
&lt;br /&gt;
=== Horizontal Situation Indicators ===&lt;br /&gt;
On startup, the captain's [[HSI|horizontal situation indicator]] uses NAV1 and the copilot's HSI uses NAV2.  The NAV/HSI button under each HSI switches between NAV1 and NAV2; you can switch the HSIs independently.  If the autopilot is engaged in NAV mode, then the autopilot will also switch between NAV1 and NAV2, always following the radio selected on the captain's HSI.  The best usage of this feature is as follows:&lt;br /&gt;
&lt;br /&gt;
# Tune the NAV1 radio to a VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the captain's HSI.&lt;br /&gt;
# Fly the selected radial.&lt;br /&gt;
# Tune the NAV2 radio to another VOR beacon.&lt;br /&gt;
# Select the NAV2 radial on the copilot's HSI.&lt;br /&gt;
# When you intercept the radial selected on NAV2, click on the NAV/HSI button on the captain's side.  The autopilot will now follow the NAV2 radial.&lt;br /&gt;
# Switch the copilot's HSI to NAV1.&lt;br /&gt;
# Tune NAV1 to a third VOR beacon.&lt;br /&gt;
# Select the NAV1 radial on the copilot's HSI.&lt;br /&gt;
# Repeat as necessary.&lt;br /&gt;
&lt;br /&gt;
The two HSIs feature an integrated Radio Magnetic Indicator: the thin red arrow points to the selected VOR beacon (either NAV1 or NAV2).  They also have a built-in Distance Measuring Equipment showing the distance between you and the selected beacon, in nautical miles.&lt;br /&gt;
&lt;br /&gt;
=== Radio Magnetic Indicators ===&lt;br /&gt;
The cockpit has additional Radio Magnetic Indicators on both the pilot and copilot side.  This indicator has two arrows and two buttons:&lt;br /&gt;
&lt;br /&gt;
* The ''left'' button switches the single-stemmed arrow to point either to the NAV1 VOR beacon or to the NDB.&lt;br /&gt;
* The ''right'' button switches the double-stemmed arrow to point either to the NAV2 VOR beacon or to the NDB.&lt;br /&gt;
&lt;br /&gt;
Combined with the HSI you can have arrows pointing simultaneously to all three beacons.  By default:&lt;br /&gt;
&lt;br /&gt;
* The ''single-stemmed'' arrow points to the NDB selected on the ADF radio&lt;br /&gt;
* The ''double-stemmed'' arrow points to the VOR beacon selected on the NAV2 radio&lt;br /&gt;
* The ''thin red needle'' of the HSI points to the VOR beacon selected on the NAV1 radio&lt;br /&gt;
&lt;br /&gt;
=== Glideslope NAV1 indicator ===&lt;br /&gt;
To the left of the pilot's HSI is an additional NAV1 indicator with two needles; this merely repeats localizer and glideslope information from the HSI and from the attitude indicator.&lt;br /&gt;
Thus you have triple redundancy :)  This instrument is hardwired to NAV1, so you can fly an ILS approach by hand while simultaneously pointing your HSI at the NAV2 beacon.&lt;br /&gt;
&lt;br /&gt;
=== Distance Measuring Equipment ===&lt;br /&gt;
The DME shows the distance in nautical miles to the selected beacon.  You can use it either to repeat the information on the HSI or to show the distance to the other beacon.&lt;br /&gt;
This instrument also shows your speed towards or from the beacon (''not'' your groundspeed:  Only the component of your groundspeed that is on the line between you and the beacon), or&lt;br /&gt;
the time to go to the beacon in minutes at your current speed.&lt;br /&gt;
&lt;br /&gt;
=== Control Display Unit ===&lt;br /&gt;
The CDU on the central console allows you to create a simple route from one airport to another.&lt;br /&gt;
&lt;br /&gt;
To create a route:&lt;br /&gt;
&lt;br /&gt;
# Click on the DEP ARR button.&lt;br /&gt;
# Type the ICAO code of your departure airport.&lt;br /&gt;
# Click on the ORIGIN (top left) button.&lt;br /&gt;
# Type the ICAO code of your destination airport.&lt;br /&gt;
# Click on the DEST (top right) button.&lt;br /&gt;
# Optionally type the departure runway number then click the RWY button.&lt;br /&gt;
# Click ACTIVATE.&lt;br /&gt;
&lt;br /&gt;
This activates the Route Manager, which you can of course still control with the generic Route Manager dialog.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
=== Recently updated ===&lt;br /&gt;
==== Systems ====&lt;br /&gt;
* Several checklists have been added.&lt;br /&gt;
* A realistic startup procedure.&lt;br /&gt;
* A major overhaul of the Autopilot-systems.&lt;br /&gt;
* The FDM got upgraded and several bugs got fixed in the process.&lt;br /&gt;
* All knobs can now be turned with the mouse-wheel.&lt;br /&gt;
* Some circuit breakers have been made functional, mainly on pilots side cb-panel.&lt;br /&gt;
&lt;br /&gt;
==== Instruments ====&lt;br /&gt;
* Added a new Lighting Panel to the pilots panel. All knobs and switches, which actually have a function are animated.&lt;br /&gt;
* Instrument Panel got new textures. Looks a bit more used now.&lt;br /&gt;
* RMI now is switchable on Nav1/ADF and Nav2/ADF.&lt;br /&gt;
* HSI can be switched between Nav1/Nav2/GPS with the AP control panel's NAV-button.&lt;br /&gt;
* A CDU was added on the center pedestal.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
* All lights are now Rembrandt-capable.&lt;br /&gt;
* ALS flame / heat blur effect was added.&lt;br /&gt;
* ALS glass shader was added.&lt;br /&gt;
* The missing door-ladder was added and animated.&lt;br /&gt;
* Baggage compartments were added and doors animated.&lt;br /&gt;
* The speedbrakes got a major overhaul and are now much closer to the real thing, also the lower speedbrakes are added and animated.&lt;br /&gt;
* Small details like pitot tubes and antennas were added.&lt;br /&gt;
* Several small additions to the cockpit and cabin, including an accurate circuit breaker panel, with some functionality for now.&lt;br /&gt;
* Wing-flex has been added&lt;br /&gt;
&lt;br /&gt;
=== Todo ===&lt;br /&gt;
* Create different liveries for Citation II and Sierra Super II.&lt;br /&gt;
* CDU needs more functions and bug fixes.&lt;br /&gt;
* Add some baggage.&lt;br /&gt;
* Add new GPS unit.&lt;br /&gt;
See [http://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation/ToDo.txt ToDo.txt @ sourceforge]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{wikipedia|Cessna Citation II}} Wikipedia article&lt;br /&gt;
* [http://www.sijet.com/page727822 Corporate site for the Sierra Super II aftermarket modification]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II/info&amp;diff=107383</id>
		<title>Cessna 550 Citation II/info</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II/info&amp;diff=107383"/>
		<updated>2017-03-17T00:32:52Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: fix typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{infobox aircraft&lt;br /&gt;
| name           = Cessna 550 Citation II&lt;br /&gt;
| hangar         = fgaddon&lt;br /&gt;
| aircraft       = Citation&lt;br /&gt;
| image          = CitationII 2015-03-29.jpg&lt;br /&gt;
| image2         = CitationII Cockpit.png&lt;br /&gt;
| alt2           = The cockpit of a Cessna 550&lt;br /&gt;
| type           = Business jet/Business aircraft&lt;br /&gt;
| config         = Low wing aircraft&lt;br /&gt;
| propulsion     = Jet aircraft&lt;br /&gt;
| manufacturer   = Cessna&lt;br /&gt;
| authors        = Curtis Olson/Syd Adams/Ludovic Brenta/chris_blues&lt;br /&gt;
| fdm            = YASim&lt;br /&gt;
| fgname         = Citation-II/Sierra-Super-II&lt;br /&gt;
| status-fdm     = 5&lt;br /&gt;
| status-systems = 4&lt;br /&gt;
| status-cockpit = 5&lt;br /&gt;
| status-model   = 5&lt;br /&gt;
| ready          = rembrandt/checklist/tutorials&lt;br /&gt;
| navbar         = 1&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
This is the aircraft infobox subpage of the [[Cessna 550 Citation II]].&lt;br /&gt;
[[Category:Aircraft infobox documentation]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II/info&amp;diff=107382</id>
		<title>Cessna 550 Citation II/info</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_550_Citation_II/info&amp;diff=107382"/>
		<updated>2017-03-17T00:31:29Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: add checklist and tutorial support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{infobox aircraft&lt;br /&gt;
| name           = Cessna 550 Citation II&lt;br /&gt;
| hangar         = fgaddon&lt;br /&gt;
| aircraft       = Citation&lt;br /&gt;
| image          = CitationII 2015-03-29.jpg&lt;br /&gt;
| image2         = CitationII Cockpit.png&lt;br /&gt;
| alt2           = The cockpit of a Cessna 550&lt;br /&gt;
| type           = Business jet/Business aircraft&lt;br /&gt;
| config         = Low wing aircraft&lt;br /&gt;
| propulsion     = Jet aircraft&lt;br /&gt;
| manufacturer   = Cessna&lt;br /&gt;
| authors        = Curtis Olson/Syd Adams/Ludovic Brenta/chris_blues&lt;br /&gt;
| fdm            = YASim&lt;br /&gt;
| fgname         = Citation-II/Sierra-Super-II&lt;br /&gt;
| status-fdm     = 5&lt;br /&gt;
| status-systems = 4&lt;br /&gt;
| status-cockpit = 5&lt;br /&gt;
| status-model   = 5&lt;br /&gt;
| ready          = rembrandt/checklist/tutorial&lt;br /&gt;
| navbar         = 1&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
This is the aircraft infobox subpage of the [[Cessna 550 Citation II]].&lt;br /&gt;
[[Category:Aircraft infobox documentation]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107368</id>
		<title>State overlay system</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107368"/>
		<updated>2017-03-15T00:21:16Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Background */ Add links to Citation and J3Cub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://sourceforge.net/p/flightgear/mailman/search/?q=aircraft+%2B+state+%2B+overlay&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Status ==&lt;br /&gt;
To start FlightGear with an existing overlay add &amp;lt;code&amp;gt;--state=statename&amp;lt;/code&amp;gt; to you command line.&lt;br /&gt;
&lt;br /&gt;
For now there is no definitive list of possible states. These are my first suggestions:&lt;br /&gt;
&lt;br /&gt;
* parking (meaning cold and dark)&lt;br /&gt;
* taxi (all systems running and ready to taxi)&lt;br /&gt;
* take-off (standing on the runway with take-off configuration)&lt;br /&gt;
* cruise (cruise configuration)&lt;br /&gt;
* approach (approach configuration)&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
=== overlay file ===&lt;br /&gt;
To add state overlays to your aircraft, create a folder called &amp;lt;code&amp;gt;states&amp;lt;/code&amp;gt;. In there you can put your &amp;lt;code&amp;gt;$state-overlay.xml&amp;lt;/code&amp;gt;. In the beginning your overlay.xml should look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;name type=&amp;quot;string&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;parking&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;overlay&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/overlay&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can put your items, which need to be set between the overlay tags. You only need to put properties in there, which differ from your default setup.&lt;br /&gt;
&lt;br /&gt;
Another rule of thumb is that you use the hierarchy of the property-tree's root. It speeded up my research by quite a bit, when I found out, it's possible to [[Howto:Create_animation_XML_files_from_Nasal|dump the PropertyTree]] with a nasal command. Open up the Nasal-console from the developer-menu and put in the following: &amp;lt;code&amp;gt;io.write_properties( path: &amp;quot;/home/myName/.fgfs/Export/PropTree.xml&amp;quot;, prop: &amp;quot;/&amp;quot; );&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beware! This outputs the '''entire''' PropertyTree! This is several thousand lines long. You might want to dump only single folders of the PropertyTree by changing the &amp;lt;code&amp;gt;&amp;quot;/&amp;quot;&amp;lt;/code&amp;gt; to sth like &amp;lt;code&amp;gt;&amp;quot;/controls&amp;quot;&amp;lt;/code&amp;gt; or whatever folder you want to dump. Now you can simply delete everything from that file, that you don't need and copy&amp;amp;paste it into your overlay.xml.&lt;br /&gt;
&lt;br /&gt;
=== include ===&lt;br /&gt;
Now you need to include your overlay.xml in your &amp;lt;code&amp;gt;$Aircraft-set.xml&amp;lt;/code&amp;gt; file like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;sim&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/parking-overlay.xml&amp;quot; n=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/taxi-overlay.xml&amp;quot; n=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Wayne Bragg has been working a bit with James on the state overly system.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35552024/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] FlightGear aircraft state support &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 14th, 2016 &lt;br /&gt;
  |added  =  Dec 14th, 2016 &lt;br /&gt;
  |script_version = 0.36 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At this moment, the [https://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/Citation Citation] and the [https://sourceforge.net/p/flightgear/fgaddon/HEAD/tree/trunk/Aircraft/J3Cub J3 Cub] have this implemented.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107367</id>
		<title>State overlay system</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107367"/>
		<updated>2017-03-15T00:14:52Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* overlay file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://sourceforge.net/p/flightgear/mailman/search/?q=aircraft+%2B+state+%2B+overlay&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Status ==&lt;br /&gt;
To start FlightGear with an existing overlay add &amp;lt;code&amp;gt;--state=statename&amp;lt;/code&amp;gt; to you command line.&lt;br /&gt;
&lt;br /&gt;
For now there is no definitive list of possible states. These are my first suggestions:&lt;br /&gt;
&lt;br /&gt;
* parking (meaning cold and dark)&lt;br /&gt;
* taxi (all systems running and ready to taxi)&lt;br /&gt;
* take-off (standing on the runway with take-off configuration)&lt;br /&gt;
* cruise (cruise configuration)&lt;br /&gt;
* approach (approach configuration)&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
=== overlay file ===&lt;br /&gt;
To add state overlays to your aircraft, create a folder called &amp;lt;code&amp;gt;states&amp;lt;/code&amp;gt;. In there you can put your &amp;lt;code&amp;gt;$state-overlay.xml&amp;lt;/code&amp;gt;. In the beginning your overlay.xml should look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;name type=&amp;quot;string&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;parking&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;overlay&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/overlay&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can put your items, which need to be set between the overlay tags. You only need to put properties in there, which differ from your default setup.&lt;br /&gt;
&lt;br /&gt;
Another rule of thumb is that you use the hierarchy of the property-tree's root. It speeded up my research by quite a bit, when I found out, it's possible to [[Howto:Create_animation_XML_files_from_Nasal|dump the PropertyTree]] with a nasal command. Open up the Nasal-console from the developer-menu and put in the following: &amp;lt;code&amp;gt;io.write_properties( path: &amp;quot;/home/myName/.fgfs/Export/PropTree.xml&amp;quot;, prop: &amp;quot;/&amp;quot; );&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beware! This outputs the '''entire''' PropertyTree! This is several thousand lines long. You might want to dump only single folders of the PropertyTree by changing the &amp;lt;code&amp;gt;&amp;quot;/&amp;quot;&amp;lt;/code&amp;gt; to sth like &amp;lt;code&amp;gt;&amp;quot;/controls&amp;quot;&amp;lt;/code&amp;gt; or whatever folder you want to dump. Now you can simply delete everything from that file, that you don't need and copy&amp;amp;paste it into your overlay.xml.&lt;br /&gt;
&lt;br /&gt;
=== include ===&lt;br /&gt;
Now you need to include your overlay.xml in your &amp;lt;code&amp;gt;$Aircraft-set.xml&amp;lt;/code&amp;gt; file like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;sim&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/parking-overlay.xml&amp;quot; n=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/taxi-overlay.xml&amp;quot; n=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Wayne Bragg has been working a bit with James on the state overly system.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35552024/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] FlightGear aircraft state support &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 14th, 2016 &lt;br /&gt;
  |added  =  Dec 14th, 2016 &lt;br /&gt;
  |script_version = 0.36 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107366</id>
		<title>State overlay system</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107366"/>
		<updated>2017-03-14T17:54:27Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://sourceforge.net/p/flightgear/mailman/search/?q=aircraft+%2B+state+%2B+overlay&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Status ==&lt;br /&gt;
To start FlightGear with an existing overlay add &amp;lt;code&amp;gt;--state=statename&amp;lt;/code&amp;gt; to you command line.&lt;br /&gt;
&lt;br /&gt;
For now there is no definitive list of possible states. These are my first suggestions:&lt;br /&gt;
&lt;br /&gt;
* parking (meaning cold and dark)&lt;br /&gt;
* taxi (all systems running and ready to taxi)&lt;br /&gt;
* take-off (standing on the runway with take-off configuration)&lt;br /&gt;
* cruise (cruise configuration)&lt;br /&gt;
* approach (approach configuration)&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
=== overlay file ===&lt;br /&gt;
To add state overlays to your aircraft, create a folder called &amp;lt;code&amp;gt;states&amp;lt;/code&amp;gt;. In there you can put your &amp;lt;code&amp;gt;$state-overlay.xml&amp;lt;/code&amp;gt;. In the beginning your overlay.xml should look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;name type=&amp;quot;string&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;parking&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;overlay&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/overlay&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can put your items, which need to be set between the overlay tags. Rule of thumb is that you use the hierarchy of the property-tree's root. It speeded up my research by quite a bit, when I found out, it's possible to [[Howto:Create_animation_XML_files_from_Nasal|dump the PropertyTree]] with a nasal command. Open up the Nasal-console from the developer-menu and put in the following: &amp;lt;code&amp;gt;io.write_properties( path: &amp;quot;/home/myName/.fgfs/Export/PropTree.xml&amp;quot;, prop: &amp;quot;/&amp;quot; );&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beware! This outputs the '''entire''' PropertyTree! This is several thousand lines long. You might want to dump only single folders of the PropertyTree by changing the &amp;lt;code&amp;gt;&amp;quot;/&amp;quot;&amp;lt;/code&amp;gt; to sth like &amp;lt;code&amp;gt;&amp;quot;/controls&amp;quot;&amp;lt;/code&amp;gt; or whatever folder you want to dump. Now you can simply delete everything from that file, that you don't need and copy&amp;amp;paste it into your overlay.xml.&lt;br /&gt;
&lt;br /&gt;
=== include ===&lt;br /&gt;
Now you need to include your overlay.xml in your &amp;lt;code&amp;gt;$Aircraft-set.xml&amp;lt;/code&amp;gt; file like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;sim&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/parking-overlay.xml&amp;quot; n=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/taxi-overlay.xml&amp;quot; n=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Wayne Bragg has been working a bit with James on the state overly system.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35552024/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] FlightGear aircraft state support &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 14th, 2016 &lt;br /&gt;
  |added  =  Dec 14th, 2016 &lt;br /&gt;
  |script_version = 0.36 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107365</id>
		<title>State overlay system</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107365"/>
		<updated>2017-03-14T17:51:42Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Implementation */  Add infos for state files&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://sourceforge.net/p/flightgear/mailman/search/?q=aircraft+%2B+state+%2B+overlay&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Status ==&lt;br /&gt;
To start FlightGear with an existing overlay add &amp;lt;code&amp;gt;--state=statename&amp;lt;/code&amp;gt; to you command line.&lt;br /&gt;
&lt;br /&gt;
For now there is no definitive list of possible states. These are my first suggestions:&lt;br /&gt;
&lt;br /&gt;
* parking (meaning cold and dark)&lt;br /&gt;
* taxi (all systems running and ready to taxi)&lt;br /&gt;
* take-off (standing on the runway with take-off configuration)&lt;br /&gt;
* cruise (cruise configuration)&lt;br /&gt;
* approach (approach configuration)&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
=== overlay file ===&lt;br /&gt;
To add state overlays to your aircraft, create a folder called &amp;lt;code&amp;gt;states&amp;lt;/code&amp;gt;. In there you can put your &amp;lt;code&amp;gt;$state-overlay.xml&amp;lt;/code&amp;gt;. In the beginning your overlay.xml should look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;name type=&amp;quot;string&amp;quot; n=&amp;quot;1&amp;quot;&amp;gt;parking&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;overlay&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/overlay&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can put your items, which need to be set between the overlay tags. Rule of thumb is that you use the hierarchy of the property-tree's root. It speeded up my research by quite a bit, when I found out, it's possible to dump the PropertyTree with a nasal command. Open up the Nasal-console from the developer-menu and put in the following: &amp;lt;code&amp;gt;io.write_properties( path: &amp;quot;/home/myName/.fgfs/Export/PropTree.xml&amp;quot;, prop: &amp;quot;/&amp;quot; );&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Beware! This outputs the '''entire''' PropertyTree! This is several thousand lines long. You might want to dump only single folders of the PropertyTree by changing the &amp;lt;code&amp;gt;&amp;quot;/&amp;quot;&amp;lt;/code&amp;gt; to sth like &amp;lt;code&amp;gt;&amp;quot;/controls&amp;quot;&amp;lt;/code&amp;gt; or whatever folder you want to dump. Now you can simply delete everything from that file, that you don't need and copy&amp;amp;paste it into your overlay.xml.&lt;br /&gt;
&lt;br /&gt;
=== include ===&lt;br /&gt;
Now you need to include your overlay.xml in your &amp;lt;code&amp;gt;$Aircraft-set.xml&amp;lt;/code&amp;gt; file like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;sim&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/parking-overlay.xml&amp;quot; n=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/taxi-overlay.xml&amp;quot; n=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Wayne Bragg has been working a bit with James on the state overly system.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35552024/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] FlightGear aircraft state support &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 14th, 2016 &lt;br /&gt;
  |added  =  Dec 14th, 2016 &lt;br /&gt;
  |script_version = 0.36 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107360</id>
		<title>State overlay system</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107360"/>
		<updated>2017-03-14T11:54:16Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: add implementation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://sourceforge.net/p/flightgear/mailman/search/?q=aircraft+%2B+state+%2B+overlay&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Status ==&lt;br /&gt;
To start FlightGear with an existing overlay add &amp;lt;code&amp;gt;--state=statename&amp;lt;/code&amp;gt; to you command line.&lt;br /&gt;
&lt;br /&gt;
For now there is no definitive list of possible states. These are my first suggestions:&lt;br /&gt;
&lt;br /&gt;
* parking (meaning cold and dark)&lt;br /&gt;
* taxi (all systems running and ready to taxi)&lt;br /&gt;
* take-off (standing on the runway with take-off configuration)&lt;br /&gt;
* cruise (cruise configuration)&lt;br /&gt;
* approach (approach configuration)&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
To add state overlays to your aircraft, create a folder called &amp;lt;code&amp;gt;states&amp;lt;/code&amp;gt;. In there you can put your &amp;lt;code&amp;gt;$state-overlay.xml&amp;lt;/code&amp;gt;.&lt;br /&gt;
Now you need to include these in your &amp;lt;code&amp;gt;$Aircraft-set.xml&amp;lt;/code&amp;gt; file like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;sim&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/parking-overlay.xml&amp;quot; n=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;state include=&amp;quot;states/taxi-overlay.xml&amp;quot; n=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
  &amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Wayne Bragg has been working a bit with James on the state overly system.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35552024/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] FlightGear aircraft state support &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 14th, 2016 &lt;br /&gt;
  |added  =  Dec 14th, 2016 &lt;br /&gt;
  |script_version = 0.36 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107359</id>
		<title>State overlay system</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107359"/>
		<updated>2017-03-14T11:44:15Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: Move start parameter to status section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://sourceforge.net/p/flightgear/mailman/search/?q=aircraft+%2B+state+%2B+overlay&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Status ==&lt;br /&gt;
To start FlightGear with an existing overlay add &amp;lt;code&amp;gt;--state=statename&amp;lt;/code&amp;gt; to you command line.&lt;br /&gt;
&lt;br /&gt;
For now there is no definitive list of possible states. These are my first suggestions:&lt;br /&gt;
&lt;br /&gt;
* parking (meaning cold and dark)&lt;br /&gt;
* taxi (all systems running and ready to taxi)&lt;br /&gt;
* take-off (standing on the runway with take-off configuration)&lt;br /&gt;
* cruise (cruise configuration)&lt;br /&gt;
* approach (approach configuration)&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Wayne Bragg has been working a bit with James on the state overly system.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35552024/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] FlightGear aircraft state support &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 14th, 2016 &lt;br /&gt;
  |added  =  Dec 14th, 2016 &lt;br /&gt;
  |script_version = 0.36 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107358</id>
		<title>State overlay system</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107358"/>
		<updated>2017-03-14T11:42:48Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Status */ add state list as a first template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
To start FlightGear with an existing overlay add &amp;lt;code&amp;gt;--state=statename&amp;lt;/code&amp;gt; to you command line.&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://sourceforge.net/p/flightgear/mailman/search/?q=aircraft+%2B+state+%2B+overlay&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Status ==&lt;br /&gt;
For now there is no definitive list of possible states. These are my first suggestions:&lt;br /&gt;
&lt;br /&gt;
* parking (meaning cold and dark)&lt;br /&gt;
* taxi (all systems running and ready to taxi)&lt;br /&gt;
* take-off (standing on the runway with take-off configuration)&lt;br /&gt;
* cruise (cruise configuration)&lt;br /&gt;
* approach (approach configuration)&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
Wayne Bragg has been working a bit with James on the state overly system.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35552024/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] FlightGear aircraft state support &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 14th, 2016 &lt;br /&gt;
  |added  =  Dec 14th, 2016 &lt;br /&gt;
  |script_version = 0.36 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107357</id>
		<title>State overlay system</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=State_overlay_system&amp;diff=107357"/>
		<updated>2017-03-14T11:09:53Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: add command line parameter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Stub}}&lt;br /&gt;
&lt;br /&gt;
To start FlightGear with an existing overlay add &amp;lt;code&amp;gt;--state=statename&amp;lt;/code&amp;gt; to you command line.&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
https://sourceforge.net/p/flightgear/mailman/search/?q=aircraft+%2B+state+%2B+overlay&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Status ==&lt;br /&gt;
== Background ==&lt;br /&gt;
Wayne Bragg has been working a bit with James on the state overly system.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://sourceforge.net/p/flightgear/mailman/message/35552024/ &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; [Flightgear-devel] FlightGear aircraft state support &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Wayne Bragg &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Dec 14th, 2016 &lt;br /&gt;
  |added  =  Dec 14th, 2016 &lt;br /&gt;
  |script_version = 0.36 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
== Related ==&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Appendix}}&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:FFGo&amp;diff=104780</id>
		<title>Talk:FFGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:FFGo&amp;diff=104780"/>
		<updated>2016-10-11T12:00:35Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: talk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;About the Debian installation:&amp;lt;br&amp;gt;&lt;br /&gt;
A hint of&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get install --no-install-recommends ffgo python3-pil.imagetk geographiclib-tools python3-geographiclib&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
might be helpful! Note the --no-install-recommends!&lt;br /&gt;
&lt;br /&gt;
Cheers&amp;lt;br&amp;gt;&lt;br /&gt;
chris&lt;br /&gt;
:Hi Chris,&lt;br /&gt;
:&lt;br /&gt;
:Feel free to suggest the option, explaining why it is useful. I didn't think about it probably because I use aptitude, which handles Recommends in a nice way IME. It's a wiki, not my private sandbox. :)&lt;br /&gt;
:&lt;br /&gt;
:--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 05:29, 11 October 2016 (EDT)&lt;br /&gt;
&lt;br /&gt;
::Well, it took me hours (again) to get it right, reading up on the old thread on the forum, which is loong, until I found this little piece of information. So I thought, it might be easier to find here... Anyway, I've put a note-box under &amp;quot;Debian&amp;quot;.&lt;br /&gt;
::[[User:Chris blues|Chris blues]] ([[User talk:Chris blues|talk]]) 06:58, 11 October 2016 (EDT)&lt;br /&gt;
:::Sorry it took you some time, and thanks for your contribution to the page. :-)&lt;br /&gt;
:::&lt;br /&gt;
:::BTW, there is a new apt command-line tool, since you seem to like apt-get.&lt;br /&gt;
:::&amp;lt;blockquote&amp;gt;apt provides a high-level commandline interface for the package management system. It is intended as an end user interface and enables some options better suited for interactive usage by default compared to more specialized APT tools like apt-get(8) and apt-cache(8).&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
:::&lt;br /&gt;
:::I haven't tried it, though.&lt;br /&gt;
:::--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 07:51, 11 October 2016 (EDT)&lt;br /&gt;
&lt;br /&gt;
::::Yes, I've tried apt and didn't like it. It does some things better, but all-in-all I like apt-get better. Things like scrolling through the terminal is important to me. :o)&lt;br /&gt;
::::Though I don't know, from the top of my head, if it resolves recommendations better than apt-get. Since it still uses apt-get - I doubt it. Maybe I'll try aptitude...&lt;br /&gt;
::::[[User:Chris blues|Chris blues]] ([[User talk:Chris blues|talk]]) 08:00, 11 October 2016 (EDT)&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:FFGo&amp;diff=104778</id>
		<title>Talk:FFGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:FFGo&amp;diff=104778"/>
		<updated>2016-10-11T10:59:23Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;About the Debian installation:&amp;lt;br&amp;gt;&lt;br /&gt;
A hint of&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get install --no-install-recommends ffgo python3-pil.imagetk geographiclib-tools python3-geographiclib&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
might be helpful! Note the --no-install-recommends!&lt;br /&gt;
&lt;br /&gt;
Cheers&amp;lt;br&amp;gt;&lt;br /&gt;
chris&lt;br /&gt;
:Hi Chris,&lt;br /&gt;
:&lt;br /&gt;
:Feel free to suggest the option, explaining why it is useful. I didn't think about it probably because I use aptitude, which handles Recommends in a nice way IME. It's a wiki, not my private sandbox. :)&lt;br /&gt;
:&lt;br /&gt;
:--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 05:29, 11 October 2016 (EDT)&lt;br /&gt;
&lt;br /&gt;
::Well, it took me hours (again) to get it right, reading up on the old thread on the forum, which is loong, until I found this little piece of information. So I thought, it might be easier to find here... Anyway, I've put a note-box under &amp;quot;Debian&amp;quot;.&lt;br /&gt;
[[User:Chris blues|Chris blues]] ([[User talk:Chris blues|talk]]) 06:58, 11 October 2016 (EDT)&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:FFGo&amp;diff=104777</id>
		<title>Talk:FFGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:FFGo&amp;diff=104777"/>
		<updated>2016-10-11T10:58:52Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;About the Debian installation:&amp;lt;br&amp;gt;&lt;br /&gt;
A hint of&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get install --no-install-recommends ffgo python3-pil.imagetk geographiclib-tools python3-geographiclib&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
might be helpful! Note the --no-install-recommends!&lt;br /&gt;
&lt;br /&gt;
Cheers&amp;lt;br&amp;gt;&lt;br /&gt;
chris&lt;br /&gt;
:Hi Chris,&lt;br /&gt;
:&lt;br /&gt;
:Feel free to suggest the option, explaining why it is useful. I didn't think about it probably because I use aptitude, which handles Recommends in a nice way IME. It's a wiki, not my private sandbox. :)&lt;br /&gt;
:&lt;br /&gt;
:--[[User:Rominet|Rominet]] ([[User talk:Rominet|talk]]) 05:29, 11 October 2016 (EDT)&lt;br /&gt;
&lt;br /&gt;
Well, it took me hours (again) to get it right, reading up on the old thread on the forum, which is loong, until I found this little piece of information. So I thought, it might be easier to find here... Anyway, I've put a note-box under &amp;quot;Debian&amp;quot;.&lt;br /&gt;
[[User:Chris blues|Chris blues]] ([[User talk:Chris blues|talk]]) 06:58, 11 October 2016 (EDT)&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FFGo&amp;diff=104776</id>
		<title>FFGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FFGo&amp;diff=104776"/>
		<updated>2016-10-11T10:52:57Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Debian */ mention the option for apt-get --no-install-recommends&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{-}}&lt;br /&gt;
{{Infobox Software&lt;br /&gt;
| title                  = FFGo&lt;br /&gt;
| image                  = FFGo LPMA-apt-tooltip-and-FG-cmd.png&lt;br /&gt;
| alt                    = Screenshot of FFGo 1.10.1&lt;br /&gt;
| developedby            = Florent Rougon&lt;br /&gt;
| type                   = Graphical launcher for FlightGear&lt;br /&gt;
| initialrelease         = 1.0.0 (Aug 21, 2015)&lt;br /&gt;
| latestrelease          = 1.11.3 (Apr 30, 2016)&lt;br /&gt;
&amp;lt;!-- simplifying Python3 to Python for the category to work correctly--&amp;gt;&lt;br /&gt;
| writtenin              = Python&lt;br /&gt;
| writteninversion              = 3&lt;br /&gt;
| os                     = Unix-like (incl. Linux), Windows, MacOS X&lt;br /&gt;
| developmentstatus      = Active (as of April 2016)&lt;br /&gt;
| website                = http://frougon.net/projects/FFGo/&lt;br /&gt;
| license                = {{wikipedia|WTFPL#Version 2|WTFPL version 2|noicon=1}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''FFGo''' is a graphical launcher for FlightGear, and a fork of [[FGo!]]. It vastly improves on FGo! by fixing bugs and adding a host of new features.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
&lt;br /&gt;
One of the things that distinguish FFGo from other FlightGear launchers is the text window allowing one to write any (possibly advanced) [[Command_line_options|command line options]] that will be passed to FlightGear. This is similar, but more convenient and powerful, to editing the [[Fgfsrc|.fgfsrc]] configuration file. The main difference in power compared to editing .fgfsrc or using FGo! comes from FFGo's use of [http://frougon.net/projects/CondConfigParser/ CondConfigParser] to process the user's configuration. See [http://frougon.net/projects/FFGo/doc/README-conditional-config/ FFGo conditional config documentation] for more information on this aspect of FFGo.&lt;br /&gt;
&lt;br /&gt;
In addition to this, FFGo offers:&lt;br /&gt;
* an easy setup (Preferences dialog);&lt;br /&gt;
* convenient selection of aircraft and startup airport or AI carrier;&lt;br /&gt;
* possibility to choose between identically-named aircrafts based on which directory they are stored in (using tooltips in the aircraft list);&lt;br /&gt;
* easy selection of startup runway or parking position, offering startup locations from apt.dat if there is no groundnet-defined parking position for the selected airport;&lt;br /&gt;
* detailed airport, runway, helipad and parking tooltips. Airport tooltips show things such as airport type (land airport, seaplane base or heliport), latitude, longitude, elevation, number of land runways, water runways, helipads, magnetic variation... Runway/helipad tooltips show runway type, length and width, surface type, magnetic as well as true heading, etc. Parking tooltips show similar information as runway tooltips, plus maximum aircraft radius, reserved airline codes... (note: The [http://geographiclib.sourceforge.net/html/MagneticField.1.html MagneticField] program from [http://geographiclib.sourceforge.net/ GeographicLib] is needed for magnetic data)&lt;br /&gt;
* easy consulting of METAR data for the nearest station relatively to the selected airport (if any);&lt;br /&gt;
* a ''Pressure Converter'' dialog to convert between inches of mercury (inHg) and hectopascals (hPa);&lt;br /&gt;
* a powerful Airport Finder dialog allowing one to easily find airports using various criteria: distance to a chosen, ''reference airport''; number of land runways, water runways, or helipads; length of the longest or shortest runway in the airport, etc. The table of results displays, among others, the distance and bearings between the reference airport and each “result airport”. It can be sorted according to any column with a simple click on the column header.&lt;br /&gt;
* a GPS Tool dialog allowing one to find the distance, initial and final bearings for the shortest path between two given airports. The dialog also computes the flight duration for a given ground speed, and vice versa.&lt;br /&gt;
* easy selection of one or more scenarios, allowing one to browse the description of each available scenario;&lt;br /&gt;
* realtime preview of the [[Command_line_options|arguments]] that would be passed to fgfs (the FlightGear executable) if the ''Run FG'' button were to be pressed;&lt;br /&gt;
* easy display of the output of ''fgfs --help --verbose'' for the selected FlightGear version (''Help → Show available fgfs options'');&lt;br /&gt;
* the possibility to copy to the clipboard a shell command that is equivalent to what FFGo would do if the ''Run FG'' button were to be pressed;&lt;br /&gt;
* the option to translate fgfs' ''--parkpos'' option into the corresponding combination of ''--lat'', ''--lon'' and ''--heading'' options. This behavior can be enabled using the ''Fake the --parkpos option'' checkbox found in the Miscellaneous tab of the Preferences dialog. It is useful when the ''--parkpos'' option is broken in FlightGear (which is unfortunately the case in FlightGear 2016.1.1 and in the ''next'' branch of [[FlightGear Git|FlightGear's Git repository]] as of March 2016);&lt;br /&gt;
* easy viewing and saving of FlightGear output (log);&lt;br /&gt;
* automatic FFGo + FlightGear log saving and rotating;&lt;br /&gt;
* complete German translation, complete French translation except for the help file ([https://github.com/frougon/FFGo/blob/master/ffgo/data/help/help_en en], [https://github.com/frougon/FFGo/blob/master/ffgo/data/help/help_fr fr]), other translations currently outdated (English is the language FFGo is written in, thus it is obviously complete, and not a translation ''per se'').&lt;br /&gt;
&lt;br /&gt;
== Screenshots ==&lt;br /&gt;
&lt;br /&gt;
=== Main window and Command Window ===&lt;br /&gt;
&lt;br /&gt;
[[File:FFGo LPMA-apt-tooltip-and-FG-cmd.png|thumbnail|Airport tooltip and preview of the FlightGear command at Madeira (LPMA)]]&lt;br /&gt;
&lt;br /&gt;
Starting from version 1.10.0, FFGo remembers how many days you used each aircraft, or visited each airport, during a user-defined period (see the ''Statistics'' tab in the ''Preferences'' dialog). This data is subject to expiration via configurable periods too. These simple statistics allow FFGo to know which aircrafts (resp. airports) you used (resp. visited) most during the selected period, and present them first in the aircrafts (resp. airports) list. You can still sort the lists based on other criteria if you wish (aircraft or airport name, airport ICAO code...) by simply clicking on the corresponding column headers. Click a second time on a given column header to reverse the sort order.&lt;br /&gt;
&lt;br /&gt;
The FlightGear Command window shows exactly which arguments are going to be passed to the FlightGear executable (fgfs) when the ''Run FG'' button is clicked. It can be resized, hidden, detached (as in the screenshot) or attached to FFGo's main window.&lt;br /&gt;
&lt;br /&gt;
{{Note|If you want to copy these arguments to the clipboard for use in a shell (“command line”), use the corresponding function from the Tools menu (''Copy FG shell-equivalent command''). This will prepend the configured path to the FlightGear executable, properly quote all arguments for a POSIX shell (which might contain spaces or other special characters), and separate them with spaces.}}&lt;br /&gt;
&lt;br /&gt;
=== The Preferences dialog ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
FFGo Prefs-window-FG-settings-tab-with-transparent-bg-behind-tooltip.png&lt;br /&gt;
FFGo Prefs-window-Statistics-tab-with-transparent-bg-behind-tooltip.png&lt;br /&gt;
FFGo Prefs-window-misc-tab.png&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The Tools menu ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
FFGo Tools-menu.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Selecting AI scenarios ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
FFGo Scenarios-popup-menu-with-scenario-description.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may select one or more AI scenarios to load from the Scenarios popup menu. Selecting a scenario does nothing particular for FFGo, but each selected scenario will be passed as part of a ''--ai-scenario=...'' option to FlightGear when it is started. Left-clicking on a scenario name toggles selection of this scenario. Right-clicking displays its description.&lt;br /&gt;
&lt;br /&gt;
=== Selecting an AI carrier ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
FFGo Carrier-popup-menu.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Instead of starting at an airport, you can select an AI carrier in the Carrier popup menu and FFGo will make you start there, automatically adding the corresponding AI scenario. In order to make the Carrier popup menu appear, just click on the airport ICAO code below the aircraft image.&lt;br /&gt;
&lt;br /&gt;
If you choose a different carrier or quit “carrier mode” (by choosing None in the Carrier popup menu, or simply selecting an airport in the airport list), the scenario for the selected carrier will be automatically removed from the list of scenarios to load.&lt;br /&gt;
&lt;br /&gt;
=== Weather info — the METAR widget ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
Raw-metar.png&lt;br /&gt;
Decoded-metar.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The METAR widget allows one to check the latest weather information for the selected airport. It is available from the Tools menu.&lt;br /&gt;
&lt;br /&gt;
=== The Pressure Converter dialog ===&lt;br /&gt;
&lt;br /&gt;
This dialog, accessible from the Tools menu, allows one to quickly convert a pressure value from inches of mercury (inHg) to hectopascals (hPa) and vice versa. This is useful when the QNH value obtained from METAR or ATIS (the “altimeter setting”) is not in a unit that is directly usable with your aircraft's instruments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
FFGo_Pressure-converter-dialog.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Airport metadata ===&lt;br /&gt;
&lt;br /&gt;
==== Airport tooltips ====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
Hamburg-airport-tooltip.png&lt;br /&gt;
LFBD-decoded-METAR.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Runway tooltips ====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
Hamburg-runway-23-tooltip.png&lt;br /&gt;
Beaver-Dam-Lake water-runway-tooltip.png&lt;br /&gt;
1001-Fourth-Avenue-Plaza helipad-tooltip.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Parking tooltips ====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
KSFO-A10-parking-tooltip.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== The Airport Finder dialog ===&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
Airports-around-LOWI.png&lt;br /&gt;
Longest-runways-around-Clermont-Ferrand.png&lt;br /&gt;
Water-runways-around-Cuba.png&lt;br /&gt;
Highest-number-of-helipads-in-the-world.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Airport Finder dialog, accessible under the Tools menu, allows one to easily find airports using various criteria: distance to a chosen, “reference airport”; number of land runways, water runways, or helipads; length of the longest or shortest runway in the airport, etc. Results are listed in a table giving these criteria for each airport as well as the initial and final bearings for the shortest path from or to the reference airport. The table of results can be sorted according to airport ICAO code, name or any of the aforementioned criteria (click on a column header to sort according to the corresponding field; click a second time on the same column header to reverse the sort order).&lt;br /&gt;
&lt;br /&gt;
This dialog is fairly versatile, but one of the uses it is particularly well-suited for is to find a start airport in the desired range with respect to a given airport. For instance, let's say you saw on the [[MPMap|multiplayer map]] that someone is offering [[Air traffic control|Air Traffic Control (ATC)]] services at MHTG (just an example), and you are looking for an airport that is neither too close, nor too far from MHTG in order to take off there and land at MHTG, following instructions from the air traffic controller. Since it is possible, in the Airport Finder dialog, to sort found airports based on bearings from, or to the reference airport, you can also easily find airports that are, for instance, located more or less north-east of the reference airport. Many, many other things are possible. cf. [http://forum.flightgear.org/viewtopic.php?f=18&amp;amp;t=27054&amp;amp;p=269261#p268159 this forum message for more details].&lt;br /&gt;
&lt;br /&gt;
=== The GPS Tool dialog ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
Gps-tool-EGKK-LFML_1.9.0.png&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The GPS Tool dialog allows one to find the distance, initial and final bearings for the shortest path between two given airports. The dialog also computes the flight duration for a given ground speed, and vice versa.&lt;br /&gt;
&lt;br /&gt;
This dialog should be more convenient than the Airport Finder dialog for the cases where you already know the start and destination airports you are interested in, and you just want to get the results for these airports. Or you want to check several pairs of airports, and you know precisely which ones you want the calculations to be done for.&lt;br /&gt;
&lt;br /&gt;
=== Seeing the available fgfs options ===&lt;br /&gt;
&lt;br /&gt;
[[File:FFGo_Show-available-fgfs-options.png|thumbnail|FFGo displaying the output of &amp;lt;code&amp;gt;fgfs --help --verbose&amp;lt;/code&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
From version 1.11.0 onwards, FFGo allows one to easily see the output of &amp;lt;code&amp;gt;fgfs --help --verbose&amp;lt;/code&amp;gt;, i.e.: the [[Command_Line_Options|command-line options]] supported by FlightGear. This is useful to get an idea of what can be put in the Options Window.&lt;br /&gt;
&lt;br /&gt;
== Installation tips ==&lt;br /&gt;
=== Instructions — Read this first! ===&lt;br /&gt;
Since installation instructions may in general depend on the particular FFGo version you want to install, they are always included in release tarballs and zip files, precisely in the &amp;lt;tt&amp;gt;docs/INSTALL&amp;lt;/tt&amp;gt; folder. Such tarballs and zip files can be downloaded from [http://frougon.net/projects/FFGo/ FFGo's home page] as well as from [https://pypi.python.org/pypi/FFGo FFGo's page on PyPI] (PyPI being [https://pypi.python.org/pypi the Python Package Index]). However, apart from the addition of a small number of optional dependencies, the installation method hasn't changed since FFGo 1.0.0, therefore there is little risk for now using the online [https://github.com/frougon/FFGo/blob/master/docs/INSTALL/INSTALL_en Git version of the installation guide].&lt;br /&gt;
&lt;br /&gt;
The guide mentioned in the previous paragraph is rather detailed, because it explains a few concepts that may be new to users who are not Python developers, and tries to give general instructions covering all common cases, which is not very easy given that Python may or may not be shipped depending on the particular operation system in use (Windows, Linux, MacOS X, etc.). To the contrary, the following sections give specific instructions applicable in the most common cases on each OS where I know a working procedure. They are more practical, probably easier to follow than the installation guide, at the expense of being less generic.&lt;br /&gt;
&lt;br /&gt;
=== Sample installations ===&lt;br /&gt;
&lt;br /&gt;
==== Windows ====&lt;br /&gt;
&lt;br /&gt;
===== Installing FFGo and its dependencies =====&lt;br /&gt;
&lt;br /&gt;
Typical FFGo installation on Windows is easy, because there is no system Python shipped with Windows, therefore there is no risk of messing up your Windows installation by just installing or upgrading Python packages. The instructions below assume you have no existing Python installation on your Windows system.&amp;lt;ref name=&amp;quot;SampleWindowsInstall.WhenHavingPythonAlreadyInstalled&amp;quot;&amp;gt;If you do, the general principle is the same, but you'll have to make sure to invoke ''pip'' for the right Python installation, for instance with:&amp;lt;br/&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;py -3.5 -m pip install FFGo Pillow geographiclib&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
to run ''pip'' with a Python 3.5 installation&amp;lt;/code&amp;gt; (not having Windows, I haven't been able to test this myself; please remove this parenthesis if this works, otherwise report on the [http://forum.flightgear.org/viewtopic.php?f=18&amp;amp;t=27054 FFGo thread on the FlightGear forum] with enough details to allow me to help you).&amp;lt;/ref&amp;gt; There we go:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol type=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Install Python 3.4 or later:&lt;br /&gt;
    &amp;lt;ol type=&amp;quot;a&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&lt;br /&gt;
        Download Python from the [https://python.org/ Python home page].&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&lt;br /&gt;
        Make sure to enable the ''Tcl/tk'' and ''pip'' components in the&lt;br /&gt;
        installer (this may be located under a label such as &amp;lt;i&amp;gt;Customize&lt;br /&gt;
        installation&amp;lt;/i&amp;gt;).&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&lt;br /&gt;
        Don't change the default value for the Python installation folder, otherwise you are likely to run into permission problems: except for old versions of Windows, writing to &amp;lt;i&amp;gt;Program Files&amp;lt;/i&amp;gt;, at least, is subject to special restrictions that may cause the &amp;lt;code&amp;gt;pip install&amp;lt;/code&amp;gt; step to fail. Also take note of what this installation folder is—you may find this helpful later.&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&lt;br /&gt;
        It is recommended ''not to disable'' the [https://docs.python.org/3/using/windows.html#launcher Python Launcher for Windows], as it may prove very useful later.&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&lt;br /&gt;
        &amp;lt;p&amp;gt;&lt;br /&gt;
        If you are not comfortable with the [[Command_line|command line]] (“Command Prompt”), it is suggested you choose &amp;lt;i&amp;gt;Add python.exe to Path&amp;lt;/i&amp;gt; (or &amp;lt;i&amp;gt;Add Python X.Y to PATH&amp;lt;/i&amp;gt;: the precise wording depends on the Python version). This way, you will be able to run the &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;ffgo&amp;lt;/tt&amp;gt; programs directly at the Command Prompt in the simplest possible way (this mainly matters for &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt;, because for &amp;lt;tt&amp;gt;ffgo&amp;lt;/tt&amp;gt;, you can easily create a shortcut on the Desktop, for instance).&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;p&amp;gt;&lt;br /&gt;
          &amp;lt;i&amp;gt;If you choose not to do this:&amp;lt;/i&amp;gt;&lt;br /&gt;
        &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;blockquote&amp;gt;&lt;br /&gt;
          &amp;lt;p&amp;gt;            &lt;br /&gt;
            In such a case, assuming you didn't disable the [https://docs.python.org/3/using/windows.html#launcher Python Launcher for Windows] in the Python installer, you'll have to type commands such as:&lt;br /&gt;
          &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;pre&amp;gt;py -3.5 -m pip install ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;p&amp;gt;&lt;br /&gt;
            instead of:&lt;br /&gt;
          &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;pre&amp;gt;pip install ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;p&amp;gt;&lt;br /&gt;
            Such a command is similar to &amp;lt;code&amp;gt;pip install ...&amp;lt;/code&amp;gt;, but makes sure that &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; is run by Python 3.5, in case there are several Python installations on your Windows system.&lt;br /&gt;
          &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;p&amp;gt;&lt;br /&gt;
            Another way would be to call the desired &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; executable by specifying its full path, like this:&lt;br /&gt;
          &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;pre&amp;gt;C:\PythonXY\Scripts\pip install ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;p&amp;gt;&lt;br /&gt;
            (where &amp;lt;i&amp;gt;XY&amp;lt;/i&amp;gt; would be &amp;lt;tt&amp;gt;35&amp;lt;/tt&amp;gt; for a Python 3.5 installation, for instance)&amp;lt;br /&amp;gt;&lt;br /&gt;
            This method requires knowing where the Python installation you are interested in is installed (&amp;lt;tt&amp;gt;C:\PythonXY&amp;lt;/tt&amp;gt; in this example), which seems to depend on the Windows version. Therefore, the &amp;lt;code&amp;gt;py -X.Y -m pip ...&amp;lt;/code&amp;gt; method, using the [https://docs.python.org/3/using/windows.html#launcher Python Launcher for Windows], will be preferred here.&lt;br /&gt;
          &amp;lt;/p&amp;gt;&lt;br /&gt;
        &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
      &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ol&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    Open a terminal, also known as “Command Prompt”:&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      There are various ways to do this, depending on the version of Windows&lt;br /&gt;
      in use. One way that should work is using the &amp;lt;tt&amp;gt;Windows+R&amp;lt;/tt&amp;gt;&lt;br /&gt;
      keyboard shortcut, then entering &amp;lt;tt&amp;gt;cmd.exe&amp;lt;/tt&amp;gt; in the text input box.&lt;br /&gt;
      Apparently (according to Google, see for yourself), on Windows 10, this&lt;br /&gt;
      can (also?) be done with the &amp;lt;tt&amp;gt;Windows+X&amp;lt;/tt&amp;gt; keyboard shortcut, then&lt;br /&gt;
      choosing &amp;lt;i&amp;gt;Command Prompt&amp;lt;/i&amp;gt; in the menu that should appear. If you&lt;br /&gt;
      have never used the Command Prompt on Windows, reading the&lt;br /&gt;
      [[Command_line|Command line page on the wiki]] would certainly be a good&lt;br /&gt;
      idea.&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    In this terminal, type: &amp;lt;code&amp;gt;pip install FFGo Pillow geographiclib&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    {{Note|[[File:FFGo - Windows installation using the Python Launcher for Windows (py).png|thumbnail|Windows installation under Python 3.5 using the Python Launcher for Windows (py)]]&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        If you didn't add Python to your PATH environment variable when installing it, the command would rather be something like:&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;pre&amp;gt;py -3.5 -m pip install FFGo Pillow geographiclib&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        for a Python 3.5 installation. Specifying &amp;lt;code&amp;gt;-3&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;-3.5&amp;lt;/code&amp;gt; would use the latest Python 3.x version installed on your system.&lt;br /&gt;
      &amp;lt;/p&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      FFGo can work without Pillow and geographiclib, but it will offer more&lt;br /&gt;
      features if you install them. The previous command should automatically&lt;br /&gt;
      download and install FFGo from&lt;br /&gt;
      [https://pypi.python.org/pypi/FFGo FFGo's page on PyPI].&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    {{Note|&amp;lt;code&amp;gt;pip install ffgo&amp;lt;/code&amp;gt; has the same effect as &amp;lt;code&amp;gt;pip install FFGo&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      Also note that messages such as:&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;blockquote&amp;gt;&lt;br /&gt;
      &amp;lt;tt&amp;gt;warning: no previously-included files found matching 'docs\README.conditional-config\_static\README.txt'&amp;lt;/tt&amp;gt;&lt;br /&gt;
    &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      when running the &amp;lt;code&amp;gt;pip install ...&amp;lt;/code&amp;gt; command are completely normal and harmless, just ignore them. This command should print something like:&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;blockquote&amp;gt;&lt;br /&gt;
      &amp;lt;tt&amp;gt;Successfully installed CondConfigParser FFGo Pillow geographiclib&amp;lt;/tt&amp;gt;&lt;br /&gt;
    &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      towards the end if all went well.&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After these steps, you should have a working FFGo. You can run it by double-clicking on either &amp;lt;tt&amp;gt;ffgo.exe&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ffgo-noconsole.exe&amp;lt;/tt&amp;gt; in a directory such as &amp;lt;tt&amp;gt;C:\Python&amp;lt;/tt&amp;gt;&amp;lt;i&amp;gt;XY&amp;lt;/i&amp;gt;&amp;lt;tt&amp;gt;\Scripts&amp;lt;/tt&amp;gt;, where &amp;lt;tt&amp;gt;&amp;lt;i&amp;gt;XY&amp;lt;/i&amp;gt;&amp;lt;/tt&amp;gt; corresponds to the Python version that was used in the &amp;lt;code&amp;gt;pip install FFGo ...&amp;lt;/code&amp;gt; command. These two executables do the same, except &amp;lt;tt&amp;gt;ffgo.exe&amp;lt;/tt&amp;gt; opens a Windows terminal (“console”) containing all FFGo messages, while &amp;lt;tt&amp;gt;ffgo-noconsole.exe&amp;lt;/tt&amp;gt; doesn't. You can safely use the latter most of the time. Should FFGo refuse to start for some reason, running &amp;lt;tt&amp;gt;ffgo.exe&amp;lt;/tt&amp;gt; and examining/reporting the printed messages would certainly be helpful. You may want to create shortcuts for these files by right-clicking on the &amp;lt;tt&amp;gt;.exe&amp;lt;/tt&amp;gt; file of your choice, choosing &amp;lt;i&amp;gt;Create Shortcut&amp;lt;/i&amp;gt; and dragging the newly-created shortcut to the final, desired place (e.g., your desktop).&lt;br /&gt;
&lt;br /&gt;
{{tip|If you wish, you can also run FFGo from a Command Prompt; here is how.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p&amp;gt;&lt;br /&gt;
    First, [[Command_line#Windows|open a Command Prompt]], then:&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&lt;br /&gt;
      if you chose to add &amp;lt;tt&amp;gt;python.exe&amp;lt;/tt&amp;gt; to the PATH in the Python&lt;br /&gt;
      installer as hinted above, just type &amp;lt;code&amp;gt;ffgo&amp;lt;/code&amp;gt;;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&lt;br /&gt;
      otherwise:&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;ul&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          either run FFGo directly using a full path to one of its executables&amp;lt;ref name=&amp;quot;Windows-allows-omitting-.exe-extension&amp;quot;&amp;gt;As shown in the command, you may omit the &amp;lt;tt&amp;gt;.exe&amp;lt;/tt&amp;gt; extension from the executable name.&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;default-Python-install-path-depends-on-Windows-version&amp;quot;&amp;gt;The default Python installation path (e.g., &amp;lt;tt&amp;gt;C:\Python&amp;lt;i&amp;gt;XY&amp;lt;/i&amp;gt;&amp;lt;/tt&amp;gt;) seems to depend on the version of Windows, not only on the Python version (which would be &amp;lt;i&amp;gt;X.Y&amp;lt;/i&amp;gt; in this example).&amp;lt;/ref&amp;gt;, such as:&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;pre&amp;gt;C:\PythonXY\Scripts\ffgo&amp;lt;/pre&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&lt;br /&gt;
          or change to the containing directory, then run the executable you&lt;br /&gt;
          want, as in:&lt;br /&gt;
&lt;br /&gt;
          &amp;lt;pre&amp;gt;C:&lt;br /&gt;
cd \PythonXY\Scripts&lt;br /&gt;
ffgo&amp;lt;/pre&amp;gt;&lt;br /&gt;
        &amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
The instructions given above install all dependencies of FFGo, except one optional dependency: the [http://geographiclib.sourceforge.net/html/MagneticField.1.html MagneticField] executable from [http://geographiclib.sourceforge.net/ GeographicLib] (see [[FFGo#A word about GeographicLib|below]]). To have a complete installation, that is able to show the magnetic variation at each airport and magnetic headings for runways, routes, etc., you need to do this in addition:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      Go to [http://geographiclib.sourceforge.net/html/install.html#binaryinst GeographicLib's installation page] and run the appropriate installer for your system. This will install the &amp;lt;tt&amp;gt;MagneticField.exe&amp;lt;/tt&amp;gt; executable on your computer. Take note of the folder it is installed to, because you'll have to tell the full path of this program to FFGo, unless you let the GeographicLib installer modify your &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt; environment variable.&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
GeographicLib - Setup wizard (first screen).png&lt;br /&gt;
GeographicLib - License agreement.png&lt;br /&gt;
GeographicLib - Installation options without modifying PATH.png&lt;br /&gt;
GeographicLib - Installation location.png&lt;br /&gt;
GeographicLib - Creating Start menu folder.png&lt;br /&gt;
GeographicLib - End of installation wizard.png&lt;br /&gt;
    &amp;lt;/gallery&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      &amp;lt;tt&amp;gt;MagneticField.exe&amp;lt;/tt&amp;gt; needs one or more datasets to be installed, otherwise it can't work properly. To get such a dataset, go to [http://geographiclib.sourceforge.net/html/magnetic.html GeographicLib's page for magnetic models] and install the magnetic model data file(s) of your choice. &amp;lt;tt&amp;gt;wmm2015&amp;lt;/tt&amp;gt; should be fine until 2020. You may also install the &amp;lt;tt&amp;gt;emm2015&amp;lt;/tt&amp;gt; dataset, however I can't say whether this will bring any visible change for typical aviation usage.&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
GeographicLib - Finding the download page for magnetic models.png&lt;br /&gt;
GeographicLib - Choosing a magnetic model for download.png&lt;br /&gt;
GeographicLib - WMM2015 magnetic model setup wizard.png&lt;br /&gt;
    &amp;lt;/gallery&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      When asked for the installation folder, you should probably choose &amp;lt;tt&amp;gt;C:\ProgramData\GeographicLib&amp;lt;/tt&amp;gt; as per the above link.&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&lt;br /&gt;
    &amp;lt;p&amp;gt;&lt;br /&gt;
      If you let the GeographicLib installer modify your &amp;lt;tt&amp;gt;PATH&amp;lt;/tt&amp;gt; in step 1, there is nothing else to do. Otherwise, you have to tell FFGo where to find &amp;lt;tt&amp;gt;MagneticField.exe&amp;lt;/tt&amp;gt;. In order to do this, start FFGo and open the &amp;lt;i&amp;gt;Settings → Preferences&amp;lt;/i&amp;gt; dialog; go to the &amp;lt;i&amp;gt;Miscellaneous&amp;lt;/i&amp;gt; tab, and enter the precise path for &amp;lt;tt&amp;gt;MagneticField.exe&amp;lt;/tt&amp;gt; in the appropriate field (cf. step 1). Finally, click on &amp;lt;i&amp;gt;Save settings&amp;lt;/i&amp;gt; and you should be done.&lt;br /&gt;
    &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;gallery mode=&amp;quot;packed&amp;quot;&amp;gt;&lt;br /&gt;
FFGo - Opening the Preferences dialog (Windows screenshot).png&lt;br /&gt;
FFGo - Specifying a path to GeographicLib's MagneticField program.png&lt;br /&gt;
    &amp;lt;/gallery&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The FFGo dialog reachable via &amp;lt;i&amp;gt;Help → About&amp;lt;/i&amp;gt; displays the versions of the main dependencies used by FFGo. In case you entered an invalid path, or some other error, a hint is generally given there. In any case, troubleshooting information is always printed to the terminal (if you ran &amp;lt;tt&amp;gt;ffgo.exe&amp;lt;/tt&amp;gt; as opposed to &amp;lt;tt&amp;gt;ffgo-noconsole.exe&amp;lt;/tt&amp;gt;) and to the FFGo log file located in the &amp;lt;tt&amp;gt;%APPDATA%\FFGo\Logs&amp;lt;/tt&amp;gt; folder (do a Google search with keywords “Windows” and “APPDATA” if you don't know what this means).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;If for some reason you can't run &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt;:&amp;lt;/strong&amp;gt;&lt;br /&gt;
# Write down exactly what you did, copy the error messages, take screenshots to make sure you won't miss anything, and report your problem in [http://forum.flightgear.org/viewtopic.php?f=18&amp;amp;t=27054 FFGo's thread on the FlightGear forum].&lt;br /&gt;
# If you feel adventurous and want to solve the problem all by yourself, a user reported success using the get-pip.py script as explained on [https://pip.pypa.io/ the pip home page].  Personally, I would first try running something like &amp;lt;code&amp;gt;py -3 -m ensurepip&amp;lt;/code&amp;gt; from a Command Prompt, but both methods should work to install &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; into a Python installation where it is missing (&amp;lt;code&amp;gt;py -3&amp;lt;/code&amp;gt; invokes the [https://docs.python.org/3/using/windows.html#launcher Python Launcher for Windows] to automatically find the latest Python 3.x installation present on your system; you can use &amp;lt;code&amp;gt;py -3.5&amp;lt;/code&amp;gt; to invoke Python 3.5, etc.).&lt;br /&gt;
&lt;br /&gt;
===== Updating the software =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The method for updating software installed via &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; is basically&lt;br /&gt;
the same as on Linux. The main difference compared to the instructions given&lt;br /&gt;
in the Linux section is that the procedure described here uses &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt;&lt;br /&gt;
directly on your Python installation, whereas the procedure given for Linux&lt;br /&gt;
below uses a virtual environment. This means that instead of doing stuff&lt;br /&gt;
like:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;venv-dir&amp;gt;/bin/pip ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;as in the Linux section, you just need to do:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pip ...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;here (it is assumed that the &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; executable is in your PATH, which&lt;br /&gt;
should be the case if you chose &amp;lt;i&amp;gt;Add python.exe to Path&amp;lt;/i&amp;gt; in the Python&lt;br /&gt;
installer). Otherwise, just replace &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; with its full path (something&lt;br /&gt;
like &amp;lt;tt&amp;gt;C:\Python&amp;lt;i&amp;gt;XY&amp;lt;/i&amp;gt;\Scripts\pip.exe&amp;lt;/tt&amp;gt;, where &amp;lt;tt&amp;gt;&amp;lt;i&amp;gt;XY&amp;lt;/i&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
corresponds to the Python version). So, here we go:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Open a terminal (also known as “Command Prompt”) as explained above in the&lt;br /&gt;
section concerning installation, and &amp;lt;strong&amp;gt;examine what we have installed with&lt;br /&gt;
&amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt;:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\&amp;gt; pip list&lt;br /&gt;
CondConfigParser (1.0.2)&lt;br /&gt;
FFGo (1.9.0)&lt;br /&gt;
geographiclib (1.45)&lt;br /&gt;
Pillow (3.1.0)&lt;br /&gt;
pip (1.5.6)&lt;br /&gt;
setuptools (18.8)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|If the &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; executable is in your PATH, it shouldn't matter in general whether the prompt starts with &amp;lt;tt&amp;gt;C:\&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;C:\Windows&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;C:\Users\UserName&amp;lt;/tt&amp;gt; or whatever—this part, up to and including the &amp;lt;tt&amp;gt;&amp;amp;gt;&amp;lt;/tt&amp;gt; character, is called the &amp;lt;i&amp;gt;prompt&amp;lt;/i&amp;gt;, and the actual &amp;lt;i&amp;gt;command&amp;lt;/i&amp;gt; is what you type afterwards.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Now, &amp;lt;strong&amp;gt;let's see what can be updated:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\&amp;gt; pip list --outdated&lt;br /&gt;
setuptools (Current: 18.8 Latest: 19.5)&lt;br /&gt;
pip (Current: 1.5.6 Latest: 8.0.2)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Only &amp;lt;tt&amp;gt;setuptools&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; are out-of-date in this venv,&lt;br /&gt;
&amp;lt;strong&amp;gt;let's upgrade&amp;lt;/strong&amp;gt; them:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\&amp;gt; pip install --upgrade setuptools pip&lt;br /&gt;
Downloading/unpacking setuptools from https://pypi.python.org/packages/3.5/s/setuptools/setuptools-19.5-py2.py3-none-any.whl#md5=c44407cb10f9b231f5a05908dea1a803&lt;br /&gt;
  Downloading setuptools-19.5-py2.py3-none-any.whl (471kB): 471kB downloaded&lt;br /&gt;
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-8.0.2-py2.py3-none-any.whl#md5=2056f553d5b593d3a970296f229c1b79&lt;br /&gt;
  Downloading pip-8.0.2-py2.py3-none-any.whl (1.2MB): 1.2MB downloaded&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Successfully installed setuptools pip&lt;br /&gt;
Cleaning up...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This is it. We have updated the two &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt;-installed packages that&lt;br /&gt;
were not  at their latest stable version. Of course, had FFGo been listed as&lt;br /&gt;
outdated too, we could have updated it this way:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\&amp;gt; pip install --upgrade ffgo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;which, by the way, can be shortened this way if you wish:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\&amp;gt; pip install -U ffgo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Using development snapshots, release candidates, etc.  =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The instructions given above for &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt;-installed Python software&lt;br /&gt;
only upgrade to releases labelled as “stable” by their upstream maintainers.&lt;br /&gt;
Sometimes, you'll want to try a beta or development release of FFGo for&lt;br /&gt;
instance, especially if you didn't install it from the Git repository (which&lt;br /&gt;
is only covered in the Linux section in order to keep things simple here).&lt;br /&gt;
To do this, the method is the same as previously described, except that you&lt;br /&gt;
have to pass &amp;lt;code&amp;gt;pip install&amp;lt;/code&amp;gt; the &amp;lt;tt&amp;gt;--pre&amp;lt;/tt&amp;gt; option to indicate&lt;br /&gt;
that you are ready to install a version that is not necessarily labelled as&lt;br /&gt;
“stable”. Therefore, instead of upgrading FFGo with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\&amp;gt; pip install --upgrade ffgo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you would use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\&amp;gt; pip install --upgrade --pre ffgo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|Development snapshots have version numbers such as 1.9.0.dev2; beta versions have numbers like 1.9.0b1; for release candidates, the version number can be of the form 1.9.0c2 or 1.9.0rc2, etc. All this is explained in [https://www.python.org/dev/peps/pep-0440/ PEP 0440] if you are interested.}}&lt;br /&gt;
&lt;br /&gt;
===== Uninstalling the software =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If you installed FFGo using the instructions given above, you can remove it&lt;br /&gt;
by simply running:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;C:\&amp;gt; pip uninstall ffgo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;from a Windows terminal (“Command Prompt”). This assumes you chose &amp;lt;i&amp;gt;Add&lt;br /&gt;
python.exe to Path&amp;lt;/i&amp;gt; in the Python installer. Otherwise, just replace&lt;br /&gt;
&amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; with its full path (something like&lt;br /&gt;
&amp;lt;tt&amp;gt;C:\Python&amp;lt;i&amp;gt;XY&amp;lt;/i&amp;gt;\Scripts\pip.exe&amp;lt;/tt&amp;gt;, where &amp;lt;tt&amp;gt;&amp;lt;i&amp;gt;XY&amp;lt;/i&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
corresponds to the Python version).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This command only removes FFGo, of course. You can remove other packages&lt;br /&gt;
listed by the &amp;lt;code&amp;gt;pip list&amp;lt;/code&amp;gt; command using the same method. And you can&lt;br /&gt;
also uninstall Python if you so desire, using standard methods for software&lt;br /&gt;
installed on Windows.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
&lt;br /&gt;
===== Using distribution packages =====&lt;br /&gt;
&lt;br /&gt;
====== Debian ======&lt;br /&gt;
&lt;br /&gt;
Debian packages for FFGo have been prepared by the FFGo upstream maintainer,&lt;br /&gt;
Florent Rougon. They can be downloaded and installed normally using&lt;br /&gt;
''apt-get'', ''aptitude'', etc. provided you have installed&lt;br /&gt;
[http://frougon.net/OpenPGP-key.asc Florent's OpenPGP key].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''First step: install Florent Rougon's OpenPGP key into the &amp;lt;tt&amp;gt;apt&amp;lt;/tt&amp;gt; keyring'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;There are two main ways to get the key:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: lower-alpha&amp;quot;&amp;gt;&amp;lt;li&amp;gt;The [https://www.gnupg.org/ GnuPG] way is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal&amp;quot;&amp;gt;&amp;lt;li&amp;gt;Get the key from a key server (as&lt;br /&gt;
defined in your GnuPG configuration):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
gpg2 --recv-keys C785B90B5053A3A2&lt;br /&gt;
gpg2 --list-keys --fingerprint C785B90B5053A3A2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the output of which should show the [http://frougon.net/keys.html correct fingerprint]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pub   rsa4096/0xC785B90B5053A3A2 2010-03-17 [expires: 2016-10-19]&lt;br /&gt;
      Key fingerprint = 125B 5A0F DB78 8FDD 0EF4  1A9D C785 B90B 5053 A3A2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Normally, in the OpenPGP model, you would get the fingerprint by a really secure&lt;br /&gt;
channel (e.g., meeting Florent in person) or you would rely on the &amp;lt;i&amp;gt;web of&lt;br /&gt;
trust&amp;lt;/i&amp;gt; (trusting someone who trusts someone who... who trusts this key&lt;br /&gt;
actually belongs to Florent. The chain verification is automated by&lt;br /&gt;
&amp;lt;tt&amp;gt;gpg&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;gpg2&amp;lt;/tt&amp;gt;—name of the main [https://www.gnupg.org/ GnuPG]&lt;br /&gt;
command—using digital signatures, done with each participant's key).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Then, in order to have the key in a separate file, say &amp;lt;tt&amp;gt;~/tmp/flo-key&amp;lt;/tt&amp;gt;, you can run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
gpg2 --export -o ~/tmp/flo-key C785B90B5053A3A2&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt; (using &amp;lt;tt&amp;gt;~/tmp/flo-key&amp;lt;/tt&amp;gt; to avoid symlink&lt;br /&gt;
attacks—using &amp;lt;tt&amp;gt;/tmp&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;~/tmp&amp;lt;/tt&amp;gt; wouldn't be a great idea).&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The other way is getting [http://frougon.net/OpenPGP-key.asc the key] from [http://frougon.net/ Florent's home page] (it is linked from [http://frougon.net/keys.html that page] on Florent's site). In short, assuming you have the &amp;lt;tt&amp;gt;wget&amp;lt;/tt&amp;gt; package installed, you can get the key with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
wget -O ~/tmp/flo-key http://frougon.net/OpenPGP-key.asc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
Once you have that key in the file &amp;lt;tt&amp;gt;flo-key&amp;lt;/tt&amp;gt;, you can install it for &amp;lt;tt&amp;gt;apt&amp;lt;/tt&amp;gt; by running, &amp;lt;i&amp;gt;as root&amp;lt;/i&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
apt-key add flo-key&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One could even combine the two operations into a single command (getting the key and installing it into &amp;lt;tt&amp;gt;apt&amp;lt;/tt&amp;gt;'s keyring):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
wget -O- http://frougon.net/OpenPGP-key.asc | apt-key add -&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
but this would have to be done as root, which I don't like much for &amp;lt;tt&amp;gt;wget&amp;lt;/tt&amp;gt; (this can&lt;br /&gt;
be overcome by using &amp;lt;tt&amp;gt;ssh&amp;lt;/tt&amp;gt;, maybe also with &amp;lt;tt&amp;gt;sudo&amp;lt;/tt&amp;gt;, but it is&lt;br /&gt;
a bit out of scope here).&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''Second step: add the relevant lines to your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt; file'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Add the following lines to your &amp;lt;tt&amp;gt;/etc/apt/sources.list&amp;lt;/tt&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;deb http://frougon.net/debian-ffgo unstable main&lt;br /&gt;
deb-src http://frougon.net/debian-ffgo unstable main&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;(replace &amp;lt;tt&amp;gt;unstable&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;jessie&amp;lt;/tt&amp;gt; if you are using &amp;lt;i&amp;gt;jessie&amp;lt;/i&amp;gt;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Third step: update the &amp;lt;tt&amp;gt;apt&amp;lt;/tt&amp;gt; package list'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This is typically done with:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;aptitude update&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
etc., depending on the Debian package manager you are using.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Final step: install the packages'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Install the ffgo package, at least. It is also recommended to install:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;python3-pil.imagetk&amp;lt;/tt&amp;gt;, otherwise you won’t be able to see the aircraft thumbnails;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;geographiclib-tools&amp;lt;/tt&amp;gt; for the &amp;lt;tt&amp;gt;MagneticField&amp;lt;/tt&amp;gt; program, in order to be able to see the magnetic variation at a given airport, magnetic headings, etc.;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;tt&amp;gt;python3-geographiclib&amp;lt;/tt&amp;gt; if available for your distribution (i.e., after &amp;lt;i&amp;gt;jessie&amp;lt;/i&amp;gt;), for better geodesic calculations.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In other words, if you are using ''unstable'', you can run:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install ffgo python3-pil.imagetk geographiclib-tools python3-geographiclib&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are using ''jessie'' without any backport of &amp;lt;tt&amp;gt;python3-geographiclib&amp;lt;/tt&amp;gt;, run this instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install ffgo python3-pil.imagetk geographiclib-tools&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|To avoid pulling in the entire FlightGear packages, you could tell apt-get to not install the recommendations in the deb file:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get install --no-install-recommends ffgo python3-pil.imagetk geographiclib-tools python3-geographiclib&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
This is useful, if you have FG installed some other way, than by your package manager.}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Installing the &amp;lt;tt&amp;gt;geographiclib-tools&amp;lt;/tt&amp;gt; package is not enough to have the &amp;lt;tt&amp;gt;MagneticField&amp;lt;/tt&amp;gt; program working. This program needs one or more datasets which are not part of the &amp;lt;tt&amp;gt;geographiclib-tools&amp;lt;/tt&amp;gt; package. One easy way to install the minimal dataset on Debian is to run the following command with root privileges:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/sbin/geographiclib-get-magnetic minimal&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will automatically download and install a minimal dataset under &amp;lt;tt&amp;gt;/usr/share/GeographicLib/magnetic&amp;lt;/tt&amp;gt;, where it can be found by &amp;lt;tt&amp;gt;MagneticField&amp;lt;/tt&amp;gt; (not registering the added files with &amp;lt;tt&amp;gt;dpkg&amp;lt;/tt&amp;gt; though, which is a bit ugly, cf. [https://bugs.debian.org/687253 Debian bug #687253]). Otherwise, you can read the [http://geographiclib.sourceforge.net/html/MagneticField.1.html MagneticField(1) manual page] which explains how to tell MagneticField where he should look to find the datasets it needs.}}&lt;br /&gt;
&lt;br /&gt;
Once the &amp;lt;tt&amp;gt;ffgo&amp;lt;/tt&amp;gt; package is installed, FFGo can be run from the [http://freedesktop.org/ freedesktop] menu and, obviously, from the command line (the command name is &amp;lt;tt&amp;gt;ffgo&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Using pip (generic method) =====&lt;br /&gt;
&lt;br /&gt;
====== A word about pip and Python virtual environments ======&lt;br /&gt;
&lt;br /&gt;
[https://pip.pypa.io/ pip] is nowadays' standard, OS-independent tool for&lt;br /&gt;
clean installation, upgrade and removal of Python packages. The method&lt;br /&gt;
described in this section should thus be applicable to any distribution (even&lt;br /&gt;
to non-Linux OSes, provided you can install Python and pip, and know where&lt;br /&gt;
the installed Python executable can be found).&lt;br /&gt;
&lt;br /&gt;
The first thing to understand is that, when installing Python packages&lt;br /&gt;
with [https://pip.pypa.io/ pip], the destination directory is by default&lt;br /&gt;
''entirely determined'' by the particular Python interpreter used to run pip. For&lt;br /&gt;
instance, let's assume you have several Python installations:&lt;br /&gt;
* one of Python 2.7 reachable via &amp;lt;tt&amp;gt;/usr/bin/python&amp;lt;/tt&amp;gt;, with third-party packages located in &amp;lt;tt&amp;gt;/usr/lib/python2.7/dist-packages&amp;lt;/tt&amp;gt; (this would be Debian or a derivative—other distributions are more likely to use /usr/lib/python2.7/site-packages);&lt;br /&gt;
* one of Python 3.4 reachable via &amp;lt;tt&amp;gt;/usr/bin/python3.4&amp;lt;/tt&amp;gt;, with third-party packages in &amp;lt;tt&amp;gt;/usr/lib/python3/dist-packages&amp;lt;/tt&amp;gt;&amp;lt;ref name=&amp;quot;PYC-Repository-Directories&amp;quot;&amp;gt;Python 3.2 and later are smart enough with &amp;lt;tt&amp;gt;.pyc&amp;lt;/tt&amp;gt; files to allow using only one base directory for all Python versions, cf. ''PEP 3147: PYC Repository Directories'' in [https://docs.python.org/3/whatsnew/3.2.html What’s New In Python 3.2]&amp;lt;/ref&amp;gt;;&lt;br /&gt;
* and one of Python 3.5 that you compiled yourself and installed in &amp;lt;tt&amp;gt;/opt/python3.5&amp;lt;/tt&amp;gt;, with the interpreter executable being &amp;lt;tt&amp;gt;/opt/python3.5/bin/python3&amp;lt;/tt&amp;gt;, and third-party packages located in &amp;lt;tt&amp;gt;/opt/python3.5/lib/python3.5/site-packages&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If you run pip this way:&lt;br /&gt;
&amp;lt;pre&amp;gt;/opt/python3.5/bin/python3 -m pip install FFGo&amp;lt;/pre&amp;gt;&lt;br /&gt;
(think of &amp;lt;code&amp;gt;/opt/python3.5/bin/python3 -m pip&amp;lt;/code&amp;gt; as the name of the &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; command) then FFGo will be installed for the interpreter you compiled yourself, with Python modules under &amp;lt;tt&amp;gt;/opt/python3.5/lib/python3.5/site-packages&amp;lt;/tt&amp;gt; and executables in &amp;lt;tt&amp;gt;/opt/python3.5/bin&amp;lt;/tt&amp;gt;. This should be fine. However, if you run this pip invocation with &amp;lt;tt&amp;gt;/usr/bin/python&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;/opt/python3.5/bin/python3&amp;lt;/tt&amp;gt;, then it will try to install things under &amp;lt;tt&amp;gt;/usr/lib/python2.7/dist-packages&amp;lt;/tt&amp;gt; and in &amp;lt;tt&amp;gt;/usr/bin&amp;lt;/tt&amp;gt;, which is certainly a  bad idea with most Linux distributions (and that would require root permissions, but don't do it unless you ''really'' know what you are doing). The same would apply if the command were to be run with &amp;lt;tt&amp;gt;/usr/bin/python3.4&amp;lt;/tt&amp;gt;: it is a bad idea, because it would step on the toes of a Python installation from your Linux distribution.&lt;br /&gt;
&lt;br /&gt;
So, what can we do short of compiling Python ourselves? The canonical answer is to use pip &amp;lt;em&amp;gt;in a [https://docs.python.org/3/library/venv.html#venv-def virtual environment]&amp;lt;/em&amp;gt;. Quoting the Python documentation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;A &amp;lt;i&amp;gt;virtual environment&amp;lt;/i&amp;gt; (also called a &amp;lt;i&amp;gt;venv&amp;lt;/i&amp;gt;) is a Python environment such that the Python interpreter, libraries and scripts installed into it are isolated from those installed in other virtual environments, and (by default) any libraries installed in a “system” Python, i.e. one which is installed as part of your operating system.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In other words, you may create as many virtual environments from a given&lt;br /&gt;
“base” Python installation as you want. Then, when you install, upgrade or&lt;br /&gt;
remove a Python package from one of these virtual environments, it will have&lt;br /&gt;
no effect on the other virtual environments nor on the base installation.&lt;br /&gt;
Since virtual environment creation and package installation with pip is very&lt;br /&gt;
quick and easy, virtual environments are quite convenient to experiment with&lt;br /&gt;
Python packages without taking the risk of messing up your system.&lt;br /&gt;
&lt;br /&gt;
For more explanations on all this, you can read [https://github.com/frougon/FFGo/blob/master/docs/INSTALL/INSTALL_en FFGo's INSTALL_en file].&lt;br /&gt;
&lt;br /&gt;
====== General idea of the method ======&lt;br /&gt;
&lt;br /&gt;
The general idea behind the [https://pip.pypa.io/ pip]-based method explained here is the following:&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal&amp;quot;&amp;gt;&amp;lt;li&amp;gt;First, you '''choose a Python interpreter''', for instance &amp;lt;tt&amp;gt;/usr/bin/python3.4&amp;lt;/tt&amp;gt;, '''and create a virtual environment from this Python interpreter'''.&lt;br /&gt;
The interesting thing, with this kind of workflow, is that you never need to install packages as root, except for the base stones such as &amp;lt;tt&amp;gt;python3&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;python3-tk&amp;lt;/tt&amp;gt;&amp;lt;ref name=&amp;quot;python-debian-package-names&amp;quot;&amp;gt;These are package names used in Debian; other distributions may ship the same software components under slightly different names.&amp;lt;/ref&amp;gt;, which are part of a standard Python installation. These can be installed normally using your usual distribution tools: &amp;lt;tt&amp;gt;apt-get&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;aptitude&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;dpkg&amp;lt;/tt&amp;gt; for Debian and derivatives; &amp;lt;tt&amp;gt;yum&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;rpm&amp;lt;/tt&amp;gt; for Redhat and derivatives, &amp;lt;tt&amp;gt;pacman&amp;lt;/tt&amp;gt; for Arch Linux, etc. Therefore, using this method, there is no risk of messing up your Linux system (contrary to people coming up with crappy installation scripts and telling you to run them as root and hope for the best). A virtual environment can be created as a simple user, like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
/usr/bin/python3.4 -m venv &amp;lt;venv-dir&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Just as for the [https://pip.pypa.io/ pip] command explained above, think of &amp;lt;code&amp;gt;/usr/bin/python3.4 -m venv&amp;lt;/code&amp;gt; as the name of a program (it just runs the main function of the Python &amp;lt;tt&amp;gt;venv&amp;lt;/tt&amp;gt; module). In the above command, you can freely choose the &amp;lt;venv-dir&amp;gt; directory. It is just a directory that is going to contain the newly-created virtual environment once this command returns (therefore, you shouldn't have anything inside it before running the command, otherwise that would be messy).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Notes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Some systems may provide executables named &amp;lt;tt&amp;gt;pyvenv-3.4&amp;lt;/tt&amp;gt; or similar. For instance, on Debian, &amp;lt;tt&amp;gt;/usr/bin/pyvenv-3.4&amp;lt;/tt&amp;gt; is a “shortcut” for &amp;lt;code&amp;gt;/usr/bin/python3.4 -m venv&amp;lt;/code&amp;gt;. Thus, one may type:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
/usr/bin/pyvenv-3.4 &amp;lt;venv-dir&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;to obtain the same effect as above: creating a virtual environment in &amp;lt;venv-dir&amp;gt; based on the Python interpreter &amp;lt;tt&amp;gt;/usr/bin/python3.4&amp;lt;/tt&amp;gt;. Thanks to shell command history, using &amp;lt;code&amp;gt;/usr/bin/python3.4 -m venv&amp;lt;/code&amp;gt; is not much of a problem, and since this makes it quite clear which Python interpreter is going to be used, I'll favor this syntax here rather than the shorter syntax based on &amp;lt;tt&amp;gt;pyvenv-3.4&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;&lt;br /&gt;
    If you use Debian &amp;lt;i&amp;gt;unstable&amp;lt;/i&amp;gt;, be sure to have the &amp;lt;tt&amp;gt;python3.5*&amp;lt;/tt&amp;gt;&lt;br /&gt;
    packages in version 3.5.1-8 or newer (these were uploaded on March 18,&lt;br /&gt;
    2016). With earlier versions, creating a virtual environment&lt;br /&gt;
    [https://bugs.debian.org/815864 could fail]. Workarounds have been given in&lt;br /&gt;
    [http://forum.flightgear.org/viewtopic.php?f=18&amp;amp;t=27054&amp;amp;p=278031#p278031 this message on the FlightGear forum],&lt;br /&gt;
    but the simplest thing to do now is to just make sure that your&lt;br /&gt;
    &amp;lt;tt&amp;gt;python3.5*&amp;lt;/tt&amp;gt; packages are recent enough.&lt;br /&gt;
  &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;'''Once you have a virtual environment''' (and you can have as many as you wish), '''you can install, upgrade and uninstall Python packages inside it as a simple user''', like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;venv-dir&amp;gt;/bin/pip install package_1 package_2 ... package_n&lt;br /&gt;
&amp;lt;venv-dir&amp;gt;/bin/pip install --upgrade package_1 package_2 ... package_n&lt;br /&gt;
&amp;lt;venv-dir&amp;gt;/bin/pip uninstall package_1 package_2 ... package_n&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Such installations are done ''in the venv'' based at &amp;lt;venv-dir&amp;gt;, therefore the &amp;lt;tt&amp;gt;ffgo&amp;lt;/tt&amp;gt; executable obtained after running &amp;lt;code&amp;gt;&amp;lt;venv-dir&amp;gt;/bin/pip install ffgo&amp;lt;/code&amp;gt; will be &amp;lt;tt&amp;gt;&amp;amp;lt;venv-dir&amp;amp;gt;/bin/ffgo&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;In order to save some typing afterwards, you may want to create an alias for this command in your &amp;lt;tt&amp;gt;~/.bashrc&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;~/.zshrc&amp;lt;/tt&amp;gt;, etc.&amp;lt;ref name=&amp;quot;creating-ffgo-alias-in-Unix-shells&amp;gt;A line such as:&lt;br /&gt;
&amp;lt;pre&amp;gt;alias ffgo=&amp;quot;&amp;lt;venv-dir&amp;gt;/bin/ffgo&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
should be enough to create the alias in typical Unix shells.&amp;lt;/ref&amp;gt;. This way, you'll be able to just run &amp;lt;tt&amp;gt;ffgo&amp;lt;/tt&amp;gt; from a terminal. Alternatively, you can create a &amp;lt;tt&amp;gt;/usr/local/bin/ffgo&amp;lt;/tt&amp;gt; symlink pointing to &amp;lt;tt&amp;gt;&amp;amp;lt;venv-dir&amp;amp;gt;/bin/ffgo&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== Sample installation sessions ======&lt;br /&gt;
&lt;br /&gt;
In this section, I'll give two sample installation sessions using the [https://pip.pypa.io/ pip]-based method explained above. Both sessions start by installing the major dependencies of FFGo (Python 3 and Tkinter) with usual distribution tools. Then, the first session installs FFGo and the rest of its dependencies with pip, whereas the second session installs the rest of the dependencies with pip, but clones FFGo itself from its [https://github.com/frougon/FFGo Git repository] (this is best if you want to follow FFGo development). In this second case, it is not useful to install FFGo &amp;lt;i&amp;gt;per se&amp;lt;/i&amp;gt;: it can be run directly from the Git repository clone using the [https://github.com/frougon/FFGo/blob/master/ffgo-launcher.py ffgo-launcher.py] script shipped with FFGo.&lt;br /&gt;
&lt;br /&gt;
These sample sessions are given for Debian—at least for now—but the method is generic and can be applied to other distributions (the &amp;lt;tt&amp;gt;apt-get&amp;lt;/tt&amp;gt; commands will have to be adapted, obviously):&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal&amp;quot;&amp;gt;&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;&amp;lt;strong&amp;gt;First session:&amp;lt;/strong&amp;gt; installing FFGo (and some of its&lt;br /&gt;
dependencies, such as&lt;br /&gt;
[http://frougon.net/projects/CondConfigParser/ CondConfigParser])&lt;br /&gt;
using &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; in a virtual environment.&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;First, as root:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Mandatory:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install python3 python3-tk python3-venv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Optional—may help if you want to compile Pillow (which is automatically&lt;br /&gt;
done if you install it using pip):&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install gcc libpython3-dev tcl-dev tk-dev&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If the Pillow installation (later) fails even with this,&lt;br /&gt;
run the following command as root:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get build-dep python3-pil.imagetk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This will install more packages, but should definitely allow you to compile&lt;br /&gt;
Pillow.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Optional: to have magnetic declination, magnetic headings, etc.:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;apt-get install geographiclib-tools&lt;br /&gt;
# Install a minimal dataset for the MagneticField program&lt;br /&gt;
/usr/sbin/geographiclib-get-magnetic minimal&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Highly optional, for better precision (no idea if one can see the&lt;br /&gt;
difference for typical aviation needs):&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;/usr/sbin/geographiclib-get-magnetic emm2015&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Then, &amp;lt;strong&amp;gt;as an unprivileged user:&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Create a virtual environment in &amp;lt;tt&amp;gt;~/my-venvs/venv1&amp;lt;/tt&amp;gt;, linked to the&lt;br /&gt;
base Python installation that provides &amp;lt;tt&amp;gt;/usr/bin/python3.4&amp;lt;/tt&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~ % mkdir -p ~/my-venvs &amp;amp;&amp;amp; cd ~/my-venvs&lt;br /&gt;
~/my-venvs % /usr/bin/python3.4 -m venv venv1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Check what we have in there:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/my-venvs % ls venv1&lt;br /&gt;
bin  include  lib  lib64  pyvenv.cfg&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Install FFGo in this venv using the &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; executable &amp;lt;strong&amp;gt;from&lt;br /&gt;
this venv&amp;lt;/strong&amp;gt;. This is the crucial point. Don't run this with any&lt;br /&gt;
&amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; executable you find, otherwise you won't be able to know where&lt;br /&gt;
the installation is taking place.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/my-venvs % venv1/bin/pip install ffgo&lt;br /&gt;
Downloading/unpacking ffgo&lt;br /&gt;
  Downloading FFGo-1.9.0.tar.gz (767kB): 767kB downloaded&lt;br /&gt;
  Running setup.py (path:/tmp/pip-build-phq2qtge/ffgo/setup.py) egg_info for package ffgo&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Downloading/unpacking CondConfigParser (from ffgo)&lt;br /&gt;
  Downloading CondConfigParser-1.0.2.tar.bz2 (46kB): 46kB downloaded&lt;br /&gt;
  Running setup.py (path:/tmp/pip-build-phq2qtge/CondConfigParser/setup.py) egg_info for package CondConfigParser&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Installing collected packages: ffgo, CondConfigParser&lt;br /&gt;
  Running setup.py install for ffgo&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Successfully installed ffgo CondConfigParser&lt;br /&gt;
Cleaning up...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Run FFGo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/my-venvs % venv1/bin/ffgo&lt;br /&gt;
FFGo 1.9.0 started&lt;br /&gt;
Using:&lt;br /&gt;
  - Python 3.4.4&lt;br /&gt;
  - CondConfigParser 1.0.2&lt;br /&gt;
  - MagneticField: GeographicLib version 1.45&lt;br /&gt;
&lt;br /&gt;
[FFGo warning] Pillow library not found. Aircraft thumbnails won't be&lt;br /&gt;
displayed.&lt;br /&gt;
[FFGo notice] GeographicLib's Python binding not found. FFGo has fallback&lt;br /&gt;
strategies, therefore you shouldn't see much of a difference. However, some&lt;br /&gt;
particular geodetic calculations can only be done with GeographicLib. You will&lt;br /&gt;
be notified when such a case is encountered.&lt;br /&gt;
Detected FlightGear version: 2016.1.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;FFGo works. It just told us about the two optional dependencies we haven't&lt;br /&gt;
installed. Let's install them now. There is another way that uses Debian&lt;br /&gt;
packages (creating the venv with &amp;lt;tt&amp;gt;--system-site-packages&amp;lt;/tt&amp;gt;); it is&lt;br /&gt;
explained in&lt;br /&gt;
[https://github.com/frougon/FFGo/blob/master/docs/INSTALL/INSTALL_en docs/INSTALL/INSTALL_en], but I can't replicate all of its contents&lt;br /&gt;
here...&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;OK, so let's install these optional dependencies now:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/my-venvs % venv1/bin/pip install Pillow geographiclib&lt;br /&gt;
Downloading/unpacking Pillow&lt;br /&gt;
  Downloading Pillow-3.1.0.tar.gz (9.9MB): 9.9MB downloaded&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Installing collected packages: Pillow, geographiclib&lt;br /&gt;
  Running setup.py install for Pillow&lt;br /&gt;
&lt;br /&gt;
    warning: no previously-included files found matching '.editorconfig'&lt;br /&gt;
    building 'PIL._imaging' extension&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Cleaning up...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Let's start FFGo again:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/my-venvs % venv1/bin/ffgo&lt;br /&gt;
FFGo 1.9.0 started&lt;br /&gt;
Using:&lt;br /&gt;
  - Python 3.4.4&lt;br /&gt;
  - CondConfigParser 1.0.2&lt;br /&gt;
  - GeographicLib's Python binding 1.45&lt;br /&gt;
  - MagneticField: GeographicLib version 1.45&lt;br /&gt;
&lt;br /&gt;
Detected FlightGear version: 2016.1.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;No warning anymore: all optional dependencies have been installed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;&amp;lt;em&amp;gt;&amp;lt;strong&amp;gt;Second session:&amp;lt;/strong&amp;gt; installing some of FFGo's&lt;br /&gt;
dependencies (such as&lt;br /&gt;
[http://frougon.net/projects/CondConfigParser/ CondConfigParser])&lt;br /&gt;
using &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; in a virtual environment, while using FFGo directly from a&lt;br /&gt;
clone of its [https://github.com/frougon/FFGo Git repository].&amp;lt;/em&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Create a virtual environment (the second command is equivalent to&lt;br /&gt;
&amp;lt;code&amp;gt;/usr/bin/pyvenv-3.4 venv2&amp;lt;/code&amp;gt; on Debian):&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~ % cd ~/my-venvs&lt;br /&gt;
~/my-venvs % /usr/bin/python3.4 -m venv venv2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Install CondConfigParser in this venv using the &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; executable&lt;br /&gt;
&amp;lt;strong&amp;gt;from this venv&amp;lt;/strong&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/my-venvs % venv2/bin/pip install CondConfigParser&lt;br /&gt;
Downloading/unpacking CondConfigParser&lt;br /&gt;
  Downloading CondConfigParser-1.0.2.tar.bz2 (46kB): 46kB downloaded&lt;br /&gt;
  Running setup.py (path:/tmp/pip-build-gdlz9yez/CondConfigParser/setup.py)&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Successfully installed CondConfigParser&lt;br /&gt;
Cleaning up...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Clone FFGo's Git repository:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~ % mkdir -p ~/src &amp;amp;&amp;amp; cd ~/src&lt;br /&gt;
~/src % git clone https://github.com/frougon/FFGo.git ffgo.git&lt;br /&gt;
Cloning into 'ffgo.git'...&lt;br /&gt;
remote: Counting objects: 3001, done.&lt;br /&gt;
remote: Total 3001 (delta 0), reused 0 (delta 0), pack-reused 3001&lt;br /&gt;
Receiving objects: 100% (3001/3001), 1.39 MiB | 940.00 KiB/s, done.&lt;br /&gt;
Resolving deltas: 100% (1927/1927), done.&lt;br /&gt;
Checking connectivity... done.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This must be done whenever you work with FFGo's Git repo (unless you know&lt;br /&gt;
what you are doing), after &amp;lt;code&amp;gt;git clone&amp;lt;/code&amp;gt; and every&lt;br /&gt;
&amp;lt;code&amp;gt;git pull&amp;lt;/code&amp;gt; to have exisiting and up-to-date icons and translation&lt;br /&gt;
(&amp;lt;tt&amp;gt;.mo&amp;lt;/tt&amp;gt;) files. This requires to have installed stuff as indicated in&lt;br /&gt;
the &amp;lt;i&amp;gt;Installation from the Git repository&amp;lt;/i&amp;gt; section of FFGo's&lt;br /&gt;
[https://github.com/frougon/FFGo/blob/master/docs/INSTALL/INSTALL_en docs/INSTALL/INSTALL_en]&lt;br /&gt;
file.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/src % cd ffgo.git&lt;br /&gt;
~/src/ffgo.git % make&lt;br /&gt;
make -C share/icons&lt;br /&gt;
make[1]: Entering directory '/home/flo/src/ffgo.git/share/icons'&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
make[1]: Leaving directory '/home/flo/src/ffgo.git/ffgo/data/locale'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Since FFGo was not installed with pip in this case, no &amp;lt;tt&amp;gt;ffgo&amp;lt;/tt&amp;gt;&lt;br /&gt;
executable has been created. The recommended way to run FFGo in such a case is&lt;br /&gt;
via the &amp;lt;tt&amp;gt;ffgo-launcher.py&amp;lt;/tt&amp;gt; script. The full path to&lt;br /&gt;
&amp;lt;tt&amp;gt;ffgo-launcher.py&amp;lt;/tt&amp;gt; is not needed here since it is in the current&lt;br /&gt;
directory, however if you create an alias for this command, or if you&lt;br /&gt;
configure an icon in your menu bar/whatever to run it, you will need the path&lt;br /&gt;
(and maybe &amp;lt;tt&amp;gt;/home/username&amp;lt;/tt&amp;gt; instead of &amp;lt;tt&amp;gt;~&amp;lt;/tt&amp;gt; too). The path to the&lt;br /&gt;
Python interpreter (&amp;lt;tt&amp;gt;~/my-venvs/venv2/bin/python&amp;lt;/tt&amp;gt;), however, is crucial&lt;br /&gt;
since it is for &amp;lt;em&amp;gt;this&amp;lt;/em&amp;gt; Python interpreter that we have installed&lt;br /&gt;
CondConfigParser.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/src/ffgo.git % ~/my-venvs/venv2/bin/python ~/src/ffgo.git/ffgo-launcher.py&lt;br /&gt;
FFGo 1.9.0 started&lt;br /&gt;
Using:&lt;br /&gt;
  - Python 3.4.4&lt;br /&gt;
  - CondConfigParser 1.0.2&lt;br /&gt;
  - MagneticField: GeographicLib version 1.45&lt;br /&gt;
&lt;br /&gt;
[FFGo warning] Pillow library not found. Aircraft thumbnails won't be&lt;br /&gt;
displayed.&lt;br /&gt;
[FFGo notice] GeographicLib's Python binding not found. FFGo has fallback&lt;br /&gt;
strategies, therefore you shouldn't see much of a difference. However, some&lt;br /&gt;
particular geodetic calculations can only be done with GeographicLib. You will&lt;br /&gt;
be notified when such a case is encountered.&lt;br /&gt;
Detected FlightGear version: 2016.1.0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Again, FFGo works fine and just warned us about the two optional&lt;br /&gt;
dependencies it couldn't find. They can be installed in exactly the same way&lt;br /&gt;
as above:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/src/ffgo.git % ~/my-venvs/venv2/bin/pip install Pillow geographiclib&lt;br /&gt;
&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
======  Updating the software ======&lt;br /&gt;
&lt;br /&gt;
{{Note|None of the following should be run as root.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;First case: FFGo was installed in the virtual environment under&lt;br /&gt;
&amp;lt;tt&amp;gt;~/my-venvs/venv1&amp;lt;/tt&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Examine what is installed in &amp;lt;tt&amp;gt;~/my-venvs/venv1&amp;lt;/tt&amp;gt;:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;% ~/my-venvs/venv1/bin/pip list&lt;br /&gt;
CondConfigParser (1.0.2)&lt;br /&gt;
FFGo (1.9.0)&lt;br /&gt;
geographiclib (1.45)&lt;br /&gt;
Pillow (3.1.0)&lt;br /&gt;
pip (1.5.6)&lt;br /&gt;
setuptools (18.8)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Now, let's see what can be updated:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;% ~/my-venvs/venv1/bin/pip list --outdated&lt;br /&gt;
setuptools (Current: 18.8 Latest: 19.5)&lt;br /&gt;
pip (Current: 1.5.6 Latest: 8.0.2)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Only &amp;lt;tt&amp;gt;setuptools&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; are out-of-date in this venv,&lt;br /&gt;
let's upgrade them:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;% ~/my-venvs/venv1/bin/pip install --upgrade setuptools pip&lt;br /&gt;
Downloading/unpacking setuptools from https://pypi.python.org/packages/3.5/s/setuptools/setuptools-19.5-py2.py3-none-any.whl#md5=c44407cb10f9b231f5a05908dea1a803&lt;br /&gt;
  Downloading setuptools-19.5-py2.py3-none-any.whl (471kB): 471kB downloaded&lt;br /&gt;
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-8.0.2-py2.py3-none-any.whl#md5=2056f553d5b593d3a970296f229c1b79&lt;br /&gt;
  Downloading pip-8.0.2-py2.py3-none-any.whl (1.2MB): 1.2MB downloaded&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Successfully installed setuptools pip&lt;br /&gt;
Cleaning up...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Second case: FFGo is used directly from a clone of its Git repository&lt;br /&gt;
by means of the&lt;br /&gt;
[https://github.com/frougon/FFGo/blob/master/ffgo-launcher.py ffgo-launcher.py]&lt;br /&gt;
script.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The procedure for updating the software that is installed in the venv is&lt;br /&gt;
the same as in the first case:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;% ~/my-venvs/venv2/bin/pip list --outdated&lt;br /&gt;
setuptools (Current: 18.8 Latest: 19.5)&lt;br /&gt;
pip (Current: 1.5.6 Latest: 8.0.2)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Again, the same two packages need an update; all the others are at their&lt;br /&gt;
latest upstream stable version. Let's upgrade the two packages:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;% ~/my-venvs/venv2/bin/pip install --upgrade setuptools pip&lt;br /&gt;
Downloading/unpacking setuptools from https://pypi.python.org/packages/3.5/s/setuptools/setuptools-19.5-py2.py3-none-any.whl#md5=c44407cb10f9b231f5a05908dea1a803&lt;br /&gt;
&lt;br /&gt;
[...]&lt;br /&gt;
&lt;br /&gt;
Successfully installed setuptools pip&lt;br /&gt;
Cleaning up...&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;FFGo was not installed via &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; in the venv; we are using the Git&lt;br /&gt;
repo for FFGo. Let's update our clone of FFGo's Git repository:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;% cd ~/src/ffgo.git&lt;br /&gt;
~/src/ffgo.git % git pull&lt;br /&gt;
&lt;br /&gt;
[...]&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Always run &amp;lt;tt&amp;gt;make&amp;lt;/tt&amp;gt; after updating your clone of FFGo's Git&lt;br /&gt;
repository:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;~/src/ffgo.git % make&lt;br /&gt;
make -C share/icons&lt;br /&gt;
make[1]: Entering directory '/home/flo/src/ffgo.git/share/icons'&lt;br /&gt;
make[1]: Nothing to be done for 'all'.&lt;br /&gt;
make[1]: Leaving directory '/home/flo/src/ffgo.git/share/icons'&lt;br /&gt;
make -C ffgo/data/pics&lt;br /&gt;
make[1]: Entering directory '/home/flo/src/ffgo.git/ffgo/data/pics'&lt;br /&gt;
make[1]: Nothing to be done for 'default'.&lt;br /&gt;
make[1]: Leaving directory '/home/flo/src/ffgo.git/ffgo/data/pics'&lt;br /&gt;
make -C ffgo/data/locale update-mo&lt;br /&gt;
make[1]: Entering directory '/home/flo/src/ffgo.git/ffgo/data/locale'&lt;br /&gt;
make[1]: Nothing to be done for 'update-mo'.&lt;br /&gt;
make[1]: Leaving directory '/home/flo/src/ffgo.git/ffgo/data/locale'&lt;br /&gt;
~/src/ffgo.git %&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Everything is now up-to-date.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In these instructions, we have updated each outdated package one by one.&lt;br /&gt;
&amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt; in its current state doesn't allow updating all packages in a&lt;br /&gt;
virtual environment at once with a simple command&lt;br /&gt;
(cf. [https://github.com/pypa/pip/issues/59 pip issue #59]). However, with a&lt;br /&gt;
bit of plumbing, it is possible to write a script that does that: see&lt;br /&gt;
[http://forum.flightgear.org/viewtopic.php?f=18&amp;amp;t=27054&amp;amp;start=105#p274118 this message on the FlightGear forum]&lt;br /&gt;
for an example (the error handling may be imperfect, so watch the updates as&lt;br /&gt;
they are going if you use such a script).&lt;br /&gt;
&lt;br /&gt;
====== Using development snapshots, release candidates, etc.  ======&lt;br /&gt;
&lt;br /&gt;
The instructions given above for &amp;lt;tt&amp;gt;pip&amp;lt;/tt&amp;gt;-installed Python software only&lt;br /&gt;
upgrade to releases labelled as “stable” by their upstream maintainers.&lt;br /&gt;
Sometimes, you'll want to try a beta or development release of FFGo for&lt;br /&gt;
instance, especially if you didn't install it from the Git repository. To do&lt;br /&gt;
this, the method is the same as previously described, except that you have to&lt;br /&gt;
pass &amp;lt;code&amp;gt;pip install&amp;lt;/code&amp;gt; the &amp;lt;tt&amp;gt;--pre&amp;lt;/tt&amp;gt; option to indicate that you are&lt;br /&gt;
ready to install a version that is not necessarily labelled as “stable”.&lt;br /&gt;
Therefore, instead of upgrading FFGo with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;venv-dir&amp;gt;/bin/pip install --upgrade ffgo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you would use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;venv-dir&amp;gt;/bin/pip install --upgrade --pre ffgo&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(development snapshots have version numbers such as 1.9.0.dev2, beta versions&lt;br /&gt;
like 1.9.0b1, etc. All this is explained in&lt;br /&gt;
[https://www.python.org/dev/peps/pep-0440/ PEP 0440] if you are interested)&lt;br /&gt;
&lt;br /&gt;
====== Uninstalling the software ======&lt;br /&gt;
&lt;br /&gt;
Let's assume you have a virtual environment based at directory &amp;lt;venv-dir&amp;gt; and&lt;br /&gt;
you want to uninstall two Python packages named ''pkg1'' and ''pkg2'' from&lt;br /&gt;
this virtual environment (one of these packages could be &amp;lt;tt&amp;gt;ffgo&amp;lt;/tt&amp;gt;, for&lt;br /&gt;
instance). All you have to do is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;venv-dir&amp;gt;/bin/pip uninstall pkg1 pkg2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you'd rather get rid of the whole virtual environment, just delete its base&lt;br /&gt;
directory &amp;lt;venv-dir&amp;gt;. That is all there is to it!&lt;br /&gt;
&lt;br /&gt;
====== When the base Python installation is updated or removed ======&lt;br /&gt;
&lt;br /&gt;
Let's say you built a virtual environment using a command such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
/usr/bin/python3.4 -m venv &amp;lt;venv-dir&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In such a case, your virtual environment located in &amp;lt;venv-dir&amp;gt; is somehow&lt;br /&gt;
linked to its &amp;lt;i&amp;gt;base Python installation&amp;lt;/i&amp;gt;, the one providing&lt;br /&gt;
&amp;lt;tt&amp;gt;/usr/bin/python3.4&amp;lt;/tt&amp;gt;. If you are on Debian for instance, this base&lt;br /&gt;
Python installation comes from the &amp;lt;tt&amp;gt;python3.4&amp;lt;/tt&amp;gt; package. So, what happens&lt;br /&gt;
when this package is updated or removed?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;My experience didn't show any particular problem so far when the package&lt;br /&gt;
for the venv's underlying base installation is updated. I suppose this will be&lt;br /&gt;
more or less always like that as long as updates are reasonable in terms of&lt;br /&gt;
backward-compatibility—which is normally the case when the Python major&lt;br /&gt;
version isn't changed (here: 3.4).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Note:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
It is possible to pass the following option upon venv creation (i.e., after&lt;br /&gt;
something like &amp;lt;code&amp;gt;/usr/bin/python3.4 -m venv&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;--upgrade   Upgrade the environment directory to use this version&lt;br /&gt;
            of Python, assuming Python has been upgraded in-place.&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(this can be found by running, e.g., &amp;lt;code&amp;gt;/usr/bin/python3.4 -m venv --help&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Since venv creation using a script is extremely fast, I haven't felt any need&lt;br /&gt;
for this option so far, and thus have no experience to share regarding it.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;However, when you upgrade your Linux/BSD/etc. distribution, it may happen&lt;br /&gt;
that for instance Python 3.4 is removed and replaced with Python 3.5. This is&lt;br /&gt;
not very frequent, but it does happen. In such a case, your virtual&lt;br /&gt;
environments built from &amp;lt;tt&amp;gt;/usr/bin/python3.4&amp;lt;/tt&amp;gt; are quite likely not to&lt;br /&gt;
work anymore.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;The cure for this kind of problem is not very difficult: just delete the&lt;br /&gt;
concerned virtual environments and recreate them using the new Python&lt;br /&gt;
interpreter of your choice (e.g., &amp;lt;tt&amp;gt;/usr/bin/python3.5&amp;lt;/tt&amp;gt;). To facilitate&lt;br /&gt;
this, and also as a convenient means of remembering exactly which commands you&lt;br /&gt;
ran to create your virtual environment, I suggest to keep a short script&lt;br /&gt;
containing exactly the commands you used to create the venv. For instance:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/sh&lt;br /&gt;
&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
target_dir=&amp;quot;${1:-default-venv-dir}&amp;quot;&lt;br /&gt;
base_python=&amp;quot;/usr/bin/python3.4&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -e &amp;quot;$target_dir&amp;quot; ]; then&lt;br /&gt;
   echo &amp;quot;!!Warning!! '$target_dir' already exists. If you continue, its&amp;quot;&lt;br /&gt;
   echo &amp;quot;            contents will be deleted. Press Enter to continue,&amp;quot;&lt;br /&gt;
   echo &amp;quot;            otherwise interrupt the script with Ctrl-C.&amp;quot;&lt;br /&gt;
   read dummy&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;quot;$base_python&amp;quot; -m venv --clear &amp;quot;$target_dir&amp;quot;&lt;br /&gt;
&amp;quot;$target_dir&amp;quot;/bin/pip install --upgrade \&lt;br /&gt;
  pip setuptools Pillow geographiclib FFGo&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;This script takes one optional argument: the base path where you want the&lt;br /&gt;
virtual environment to be created (represented by &amp;lt;venv-dir&amp;gt; above). As the&lt;br /&gt;
script is written, this argument defaults to &amp;lt;i&amp;gt;default-venv-dir&amp;lt;/i&amp;gt; in the&lt;br /&gt;
current directory, but you can of course replace this with any path of your&lt;br /&gt;
choice.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|This script installs FFGo inside the virtual environment. If you want to use FFGo from its Git repository instead, just replace &amp;lt;tt&amp;gt;FFGo&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;CondConfigParser&amp;lt;/tt&amp;gt; in the last line of the script (since CondConfigParser is a mandatory dependency of FFGo).}}&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MacOS X ====&lt;br /&gt;
&lt;br /&gt;
Installation should be similar to how it is done on Linux with ''pip'' in most ways, once you have installed a suitable Python version. OS X expert needed for the little OS X-specific details:&lt;br /&gt;
* how to install Python 3.4 or later in a non-intrusive way for the system;&lt;br /&gt;
* how to access the corresponding &amp;lt;tt&amp;gt;python&amp;lt;/tt&amp;gt; executable, and;&lt;br /&gt;
* how to create a shortcut to the resulting ''ffgo'' executable for convenience.&lt;br /&gt;
&lt;br /&gt;
=== A word about GeographicLib ===&lt;br /&gt;
&lt;br /&gt;
[http://geographiclib.sourceforge.net/ GeographicLib] is a powerful C++ library that can perform many kinds of geographic calculations (such as finding the shortest “walkable” path between two points on Earth), and also provides information about Earth's magnetic field. This library has been written by researcher Charles F. F. Karney, who designed well-known algorithms to solve the geodetic direct and inverse problems.&lt;br /&gt;
&lt;br /&gt;
Apart from the C++ library and accompanying programs such as [http://geographiclib.sourceforge.net/html/MagneticField.1.html MagneticField], Charles Karney provides a standalone Python 2 &amp;amp; 3 implementation of the geodetic algorithms. This Python implementation is what you get when running commands such as (depending on your setup):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
pip install geographiclib&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;venv-dir&amp;gt;/bin/pip install geographiclib&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is ''not'' a binding for the C++ library; rather, it is a ''reimplementation'' in Python of ''some'' of the algorithms featured by the GeographicLib C++ library.&lt;br /&gt;
&lt;br /&gt;
FFGo uses the following software components if it can find them:&lt;br /&gt;
* GeographicLib's implementation for Python 3;&lt;br /&gt;
* GeographicLib's MagneticField program.&lt;br /&gt;
&lt;br /&gt;
The former is normally obtained via pip, while the latter comes with the “full GeographicLib package” as published on [http://geographiclib.sourceforge.net/ GeographicLib's home page].&lt;br /&gt;
&lt;br /&gt;
== Related content ==&lt;br /&gt;
* [http://frougon.net/projects/FFGo/ FFGo's home page]&lt;br /&gt;
* [http://frougon.net/projects/FFGo/doc/README-conditional-config/ FFGo conditional config documentation]&lt;br /&gt;
* [http://forum.flightgear.org/viewtopic.php?f=18&amp;amp;t=27054 FFGo's thread on the FlightGear forum]&lt;br /&gt;
* [[FGo!]] — ''predecessor to FFGo''&lt;br /&gt;
* [[FlightGear Launch Control]] (a.k.a. FGRun) — ''default graphical frontend''&lt;br /&gt;
* [[Integrated_Qt5_Launcher|FlightGear's integrated Qt5-based launcher]]&lt;br /&gt;
* [[FGX|FGx]]&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear front ends]]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[Category:Python Software]]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Talk:FFGo&amp;diff=104773</id>
		<title>Talk:FFGo</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Talk:FFGo&amp;diff=104773"/>
		<updated>2016-10-11T02:35:50Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: Add note about --no-install-recommends for debian?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;About the Debian installation:&amp;lt;br&amp;gt;&lt;br /&gt;
A hint of&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;apt-get install --no-install-recommends ffgo python3-pil.imagetk geographiclib-tools python3-geographiclib&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
might be helpful! Note the --no-install-recommends!&lt;br /&gt;
&lt;br /&gt;
Cheers&amp;lt;br&amp;gt;&lt;br /&gt;
chris&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2016&amp;diff=104495</id>
		<title>FlightGear Newsletter September 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2016&amp;diff=104495"/>
		<updated>2016-10-01T15:35:45Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[Latest newsletter]].}}&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|September 2016}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[[#FlightGear v2016.3 released|FlightGear v2016.3 released]]&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
[[#Poll for the next default airport|Poll for the next default airport]]&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Burrito F1| Burrito F1]]&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&amp;lt;!--=== FlightGear v2016.3 released ===&lt;br /&gt;
The FlightGear development team is delighted to announce the v2016.3 &amp;quot;Rio de Janeiro&amp;quot; release of FlightGear, the free, open-source flight simulator. This new version contains many exciting new features, enhancements and bugfixes. Highlights in this release include ... .--&amp;gt;&lt;br /&gt;
=== Poll for the next default airport ===&lt;br /&gt;
Once again, after 2016.3 'Rio de Janeiro' has been released, we're looking for the next default airport. If you're quick, until October 4th you can submit your [https://forum.flightgear.org/viewtopic.php?f=42&amp;amp;t=30541 vote to the poll] in the forums.&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Burrito F1 ===&lt;br /&gt;
Bulldog RS has just released [[Burrito F1]], a fictional flying car.  It is available from [https://bulldogrs.wordpress.com/ official website].&lt;br /&gt;
[[File:Burrito_F1.jpg|600px|Burrito F1]]&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
*Buildings and structures in Rio de Janeiro by Catalanoic availible via TerraSync.&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
* The FlightGear Team will be attending the [http://www.fsweekend.com/ FSweekend], from november 5th to 6th at Lelystad Airport, the Netherlands. Early preparations are currently being made. Most likely we will demonstrate a multi-pc (multiplayer/solo) ATC-environment around Rio de Janeiro. Aircraft currently in our scope are the new/updated MD-11, 757, Seneca II. If you have any additional ideas, let us know on [https://forum.flightgear.org/viewtopic.php?f=42&amp;amp;t=30260/ the Forums]. If you are planning to attend, sign up for the [https://www.facebook.com/events/1112269228887897/ Facebook-event]!&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
Entries for this month's best screenshot can be submitted to [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=30364 this] forum topic. Be sure to see the [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=30364#p293984 first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented on this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- FlightGear's Screenshot of the Month May 2016 is ''TITLE'' by AUTHOR&lt;br /&gt;
[[File:|900px|center|TITLE]] --&amp;gt; &amp;lt;!-- Uncomment/edit this when the winner is chosen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- If you want to participate in the screenshot contest of *NEXTMONTH*, you can submit your candidate to [ this] forum topic. Be sure to see the [ first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of *NEXTMONTH*. --&amp;gt; &amp;lt;!-- Uncomment/edit this when the SOTM topic for the following month has been created --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear Newsletter|2016 09]]&lt;br /&gt;
[[Category:Changes after 2016.3]]&lt;br /&gt;
&lt;br /&gt;
[[de:FlightGear Newsletter September 2016]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2016&amp;diff=104494</id>
		<title>FlightGear Newsletter September 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2016&amp;diff=104494"/>
		<updated>2016-10-01T15:35:22Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[Latest newsletter]].}}&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|September 2016}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[[#FlightGear v2016.3 released|FlightGear v2016.3 released]]&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
[[#Poll for the next default airport|Poll for the next default airport]]&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Burrito F1| Burrito F1]]&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&amp;lt;!--=== FlightGear v2016.3 released ===&lt;br /&gt;
The FlightGear development team is delighted to announce the v2016.3 &amp;quot;Rio de Janeiro&amp;quot; release of FlightGear, the free, open-source flight simulator. This new version contains many exciting new features, enhancements and bugfixes. Highlights in this release include ... .--&amp;gt;&lt;br /&gt;
=== Poll for the next default airport ===&lt;br /&gt;
Once again, after 2016.3 'Rio de Janeiro' has been released, we're looking for the next default airport. If you're quick, until October 4th you can submit your [https://forum.flightgear.org/viewtopic.php?f=42&amp;amp;t=30541 vote to the poll] in the forums.&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Burrito F1 ===&lt;br /&gt;
Bulldog RS has just released [[Burrito F1]], a fictional flying car.  It is available from [https://bulldogrs.wordpress.com/ official website].&lt;br /&gt;
[[File:Burrito_F1.jpg|600px|Burrito F1]]&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
*Buildings and structures in Rio de Janeiro by Catalanoic availible via TerraSync.&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
* The FlightGear Team will be attending the [http://www.fsweekend.com/ FSweekend], from november 5th to 6th at Lelystad Airport, the Netherlands. Early preparations are currently being made. Most likely we will demonstrate a multi-pc (multiplayer/solo) ATC-environment around Rio de Janeiro. Aircraft currently in our scope are the new/updated MD-11, 757, Seneca II. If you have any additional ideas, let us know on [https://forum.flightgear.org/viewtopic.php?f=42&amp;amp;t=30260/ the Forums]. If you are planning to attend, sign up for the [https://www.facebook.com/events/1112269228887897/ Facebook-event]!&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
Entries for this month's best screenshot can be submitted to [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=30364 this] forum topic. Be sure to see the [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=30364#p293984 first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented on this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- FlightGear's Screenshot of the Month May 2016 is ''TITLE'' by AUTHOR&lt;br /&gt;
[[File:|900px|center|TITLE]] --&amp;gt; &amp;lt;!-- Uncomment/edit this when the winner is chosen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- If you want to participate in the screenshot contest of *NEXTMONTH*, you can submit your candidate to [ this] forum topic. Be sure to see the [ first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of *NEXTMONTH*. --&amp;gt; &amp;lt;!-- Uncomment/edit this when the SOTM topic for the following month has been created --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear Newsletter|2016 09]]&lt;br /&gt;
[[Category:Changes after 2016.3]]&lt;br /&gt;
&lt;br /&gt;
[[de:FlightGear Newsletter September 2016]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2016&amp;diff=104493</id>
		<title>FlightGear Newsletter September 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=FlightGear_Newsletter_September_2016&amp;diff=104493"/>
		<updated>2016-10-01T15:33:46Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Development news */ Add poll for next default airport&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|newsletter|Please feel free to add content that you think will be of interest to the FlightGear community.&amp;lt;br&amp;gt;You can read the latest newsletter at [[Latest newsletter]].}}&lt;br /&gt;
&lt;br /&gt;
{{Newsletter-header|September 2016}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:3px double #BBB;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; |&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Development news}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;!--[[#FlightGear v2016.3 released|FlightGear v2016.3 released]]&amp;lt;br&amp;gt;--&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|In the hangar}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Burrito F1| Burrito F1]]&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Scenery Corner}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Newsletter-cover-header|Community News}}&amp;lt;br&amp;gt;&lt;br /&gt;
 | valign=&amp;quot;top&amp;quot; width=&amp;quot;33%&amp;quot; |&lt;br /&gt;
{{Newsletter-cover-header|Contributing}}&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Translators required|Translators required]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#FlightGear logos|FlightGear logos]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[#Screenshots|Screenshots]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;[[#Screenshot of the Month|Screenshot of the Month]]&amp;lt;/small&amp;gt;&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Development news ==&lt;br /&gt;
&amp;lt;!--=== FlightGear v2016.3 released ===&lt;br /&gt;
The FlightGear development team is delighted to announce the v2016.3 &amp;quot;Rio de Janeiro&amp;quot; release of FlightGear, the free, open-source flight simulator. This new version contains many exciting new features, enhancements and bugfixes. Highlights in this release include ... .--&amp;gt;&lt;br /&gt;
===Poll for the next default airport===&lt;br /&gt;
Once again, after 2016.3 'Rio de Janeiro' has been released, we're looking for the next default airport. If you're quick, until October 4th you can submit your [https://forum.flightgear.org/viewtopic.php?f=42&amp;amp;t=30541 vote to the poll] in the forums.&lt;br /&gt;
&lt;br /&gt;
== In the hangar ==&lt;br /&gt;
=== Burrito F1 ===&lt;br /&gt;
Bulldog RS has just released [[Burrito F1]], a fictional flying car.  It is available from [https://bulldogrs.wordpress.com/ official website].&lt;br /&gt;
[[File:Burrito_F1.jpg|600px|Burrito F1]]&lt;br /&gt;
&lt;br /&gt;
== Scenery corner ==&lt;br /&gt;
*Buildings and structures in Rio de Janeiro by Catalanoic availible via TerraSync.&lt;br /&gt;
&lt;br /&gt;
== Community news ==&lt;br /&gt;
* The FlightGear Team will be attending the [http://www.fsweekend.com/ FSweekend], from november 5th to 6th at Lelystad Airport, the Netherlands. Early preparations are currently being made. Most likely we will demonstrate a multi-pc (multiplayer/solo) ATC-environment around Rio de Janeiro. Aircraft currently in our scope are the new/updated MD-11, 757, Seneca II. If you have any additional ideas, let us know on [https://forum.flightgear.org/viewtopic.php?f=42&amp;amp;t=30260/ the Forums]. If you are planning to attend, sign up for the [https://www.facebook.com/events/1112269228887897/ Facebook-event]!&lt;br /&gt;
&lt;br /&gt;
== Contributing ==&lt;br /&gt;
=== Translators required ===&lt;br /&gt;
{|&lt;br /&gt;
| [[File:en.gif]]&lt;br /&gt;
| The FlightGear Wiki still needs help for translating it into various languages. If you are interested in making the FlightGear Wiki multilingual, you can start by looking at [[Help:Translate]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:fr.gif]]&lt;br /&gt;
| Le wiki de FlightGear a toujours besoin d'aide pour être traduit en différentes langues. Si vous êtes intéressé par le rendre multilingue, commencez par lire [[:fr:Help:Traduire|Help:Traduire]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:de.gif]]&lt;br /&gt;
| Das FlightGear Wiki benötigt immer noch Hilfe bei der Übersetzung in verschiedene Sprachen. Wenn Du Interesse daran hast, das FlightGear Wiki mehrsprachig zu machen, dann fang mit dem [[:de:Help:Übersetzen|Help:Übersetzen]] an.&lt;br /&gt;
|-&lt;br /&gt;
| [[File:nl.gif]]&lt;br /&gt;
| De FlightGear Wiki kan nog steed hulp gebruiken bij het vertalen van artikelen. Als je interesse hebt om de wiki meertalig te maken, raden we je aan om een kijkje te nemen bij [[:nl:Help:Vertalen|Help:Vertalen]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:es.gif]]&lt;br /&gt;
| La wiki de FlightGear todavía necesita ayuda para traducirla a varios lenguajes. Si estás interesado en hacer la FlightGear wiki multilingüe, entonces comienza en [[:es:Help:Traducir|Help:Traducir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:cat.gif]]&lt;br /&gt;
| La wiki de FlightGear encara necessita ajuda per traduir-la a diverses llengües. Si esteu interessat en fer la wiki de FlightGear multilingüe, llavors comenceu a [[:ca:Help:Traduir|Help:Traduir]].&lt;br /&gt;
|-&lt;br /&gt;
| [[File:pt.gif]]&lt;br /&gt;
| A wiki de FlightGear ainda necessita de ajuda para traduzi-la em vários idiomas. Se estás interessado em tornar a wiki de FlightGear multi-lingual, por favor começa em [[:pt:Help:Traduzir|Help:Traduzir]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== FlightGear logos ===&lt;br /&gt;
If you want some graphic elements for your FlightGear-related site (such as a hangar or YouTube channel), please feel free to visit [[FlightGear logos]] for a repository of logos. And if you have some art skills, please don't hesitate to contribute with your own design creations.&lt;br /&gt;
&lt;br /&gt;
=== Screenshots ===&lt;br /&gt;
The FlightGear project always needs screenshots, which show features that were added since the last release. These should be of good quality, especially in content and technical image properties. It is therefore recommended to use the best viable filter settings ([[anti-aliasing]], texture sharpening, etc.). More info at [[Howto:Make nice screenshots]].&lt;br /&gt;
&lt;br /&gt;
==== Screenshot of the Month ====&lt;br /&gt;
Entries for this month's best screenshot can be submitted to [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=30364 this] forum topic. Be sure to see the [https://forum.flightgear.org/viewtopic.php?f=19&amp;amp;t=30364#p293984 first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented on this page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- FlightGear's Screenshot of the Month May 2016 is ''TITLE'' by AUTHOR&lt;br /&gt;
[[File:|900px|center|TITLE]] --&amp;gt; &amp;lt;!-- Uncomment/edit this when the winner is chosen --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- If you want to participate in the screenshot contest of *NEXTMONTH*, you can submit your candidate to [ this] forum topic. Be sure to see the [ first post] for participation rules. For purposes of convenience and organization, after all the entries have been submitted, a new forum topic will be started containing all shots in an easy-to-view layout. The voting will then take place there. Once the voting has finished, the best screenshot will be presented in the Newsletter edition of *NEXTMONTH*. --&amp;gt; &amp;lt;!-- Uncomment/edit this when the SOTM topic for the following month has been created --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear Newsletter|2016 09]]&lt;br /&gt;
[[Category:Changes after 2016.3]]&lt;br /&gt;
&lt;br /&gt;
[[de:FlightGear Newsletter September 2016]]&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=102389</id>
		<title>Earthview</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=102389"/>
		<updated>2016-07-27T21:57:17Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Customization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{See also|Flying on other planets}}&lt;br /&gt;
&lt;br /&gt;
The default FlightGear terrain rendering strategy is designed for visuals from aircraft cruise altitude. While it is [http://www.flightgear.org/tours/pushing-the-boundaries-the-x-15-story/ possible] to use it for altitudes up to some 100 km, the performance impact becomes increasingly prohibitive and the visuals are not overly compelling. In particular for orbiting spacecraft such as [[Vostok-1]] or the [[Space Shuttle]] neither rendering nor loading the standard terrain mesh is fast enough.&lt;br /&gt;
&lt;br /&gt;
Earthview is an alternative orbital rendering engine for FlightGear designed to get credible visuals in these situations. It is based on projecting a simple textured sphere representing Earth into the scene using ray optics. The quality of the terrain visuals then largely depend on the texture size used. Since there is then only a single object in the field of view, performance is generally very good provided that there is enough texture memory available.&lt;br /&gt;
&lt;br /&gt;
{{Spaceflight}}&lt;br /&gt;
=== Overview ===&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
Earthview is started from the menu as View -&amp;gt; Earthview Orbital Rendering. This brings up the configuration dialog.&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview.jpg|thumb|Earthview configuration dialog]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options checkboxes allow to select&lt;br /&gt;
&lt;br /&gt;
* whether a cloud layer should be rendered above the planet&lt;br /&gt;
* whether the cloud layer information should be used to render cloud shadows onto the terrain&lt;br /&gt;
* whether Earthview should take control of the atmosphere visuals and adjust them based on altitude&lt;br /&gt;
* whether textures should be procedurally enhanced with overlay textures to provide better apparent texture resolution&lt;br /&gt;
&lt;br /&gt;
'Start' run Earthview, 'Stop' ends the computations and removes the 3d model. Generally, using Earthview below an altitude of ~30  km / 100.000 ft is not recommended and will almost certainly not give the desired visuals.&lt;br /&gt;
&lt;br /&gt;
Sliders further down can be used to adjust details. For instance, if no cloud shadows are rendered, it is possible to rotate the cloud sphere around Earth and give different places different weather (otherwise, the cloud pattern will always be the same, i.e. if a place is obscured by clouds initially, it will always be). Using Rayleigh, Mie and Density, atmosphere visuals (if [[Atmospheric light scattering]] (ALS) is on) can be adjusted. Visibility dials the amount of fogging seen on the planet. &lt;br /&gt;
&lt;br /&gt;
Earthview runs without ALS, but does not provide any credible visuals of the Atmosphere.&lt;br /&gt;
&lt;br /&gt;
If atmosphere visuals are rendered, Earthview interacts with the weather system in that the visibility used by Earthview and by the weather system will be the same. In the case of [[A local weather system | Advanced Weather]] (AW) this is an issue because both systems try to adjust atmosphere visuals. For this reason, AW needs to be ended before Earthview is started. There is no general option to do this automatically, but an automatic transition from default FG rendering and weather to Earthview is easily coded spacecraft side and implemented for the Space Shuttle.&lt;br /&gt;
&lt;br /&gt;
All textures are taken from the [http://visibleearth.nasa.gov/ NASA Visible Earth project] - at the highest resolution level, Earth can be rendered at 32768x65536 pixel (about 500 x 500 m per pixel) and clouds with half of that. Currently there is a much lower texture resolution distributed in FGData as the highest resolution set has eight textures sheets of 172 MB each which would double the current repository size. It is however easily possible to obtain the textures from the NASA website and apply them.&lt;br /&gt;
&lt;br /&gt;
At highest texture resolution, visuals are generally very compelling:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview for low Earth orbit.jpg|450px|Low orbit]] [[File:Earthview hig altitude.jpg|450px|High orbit]]&lt;br /&gt;
&lt;br /&gt;
A dedicated set of shaders for Earth and the cloudsphere is used to create additional effects such a enhanced specular water reflections, cloud shadows and dawnlight color changes:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview cloud shadows.jpg|450px|Cloud shadows in Earthview]] [[File:Earthview specular water reflections.jpg|450px|Specular water reflections and cloud shadows in Earthview]]&lt;br /&gt;
&lt;br /&gt;
Earthview can also render Aurora Borealis seen from space.&lt;br /&gt;
&lt;br /&gt;
For comparison, this is the FG native terrain tweaked to render with 600 km visibility from 100 km altitude (bringing a gaming laptop to 10 fps in the process):&lt;br /&gt;
&lt;br /&gt;
[[File:X-15-iceland05.jpg|450px|X-15 over Iceland]] [[File:X-15-iceland03.jpg|450px|X-15 in space]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Since there is no detailed terrain mesh involved and there is essentially just a single textured sphere in the field of view, performance is generally excellent even on low end graphics cards.&lt;br /&gt;
&lt;br /&gt;
The main requirement (especially if custom hires textures are used) is available memory and GPU texture memory (this is not an issue for the default texture size). Provided there is sufficient texture memory available, loading the texture sheets is another bottleneck and FG may hang for a couple of seconds while the textures appear. &lt;br /&gt;
&lt;br /&gt;
Where this is feasible and supported by the GPU drivers, pre-compressed and mipmapped dds textures offer the fastest loading times. As such textures can not be used with many OpenSource graphics drivers, the default textures are not in dds format.&lt;br /&gt;
&lt;br /&gt;
While it is possible to use Earthview in rendering schemes other then ALS, this is neither supported nor endorsed. While they work perfectly well for the normal operations envelope of a flightsim, at high altitude the default renderer as well as [[Project Rembrandt]] do not render a realistic horizon line, plausible atmosphere visuals or the hard shadows of outer space and Earthview can not compensate for these issues.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
Getting your own hires version of textures requires a few simple steps:&lt;br /&gt;
&lt;br /&gt;
{{note|You can skip the next 2 steps (&amp;quot;obtain a texture set&amp;quot; and &amp;quot;convert the texture set&amp;quot;) and download the ready-to-use files here:&lt;br /&gt;
&lt;br /&gt;
* 1024x1024 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_1k.7z world] (7.5MB) - [https://musicchris.de/download/FG/EarthView/clouds_1k.7z clouds] (5.2MB)&lt;br /&gt;
&lt;br /&gt;
* 2048x2048 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_2k.7z world] (27.3MB) - [https://musicchris.de/download/FG/EarthView/clouds_2k.7z clouds] (18.9MB)&lt;br /&gt;
&lt;br /&gt;
* 4096x4096 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_4k.7z world] (99.5MB) - [https://musicchris.de/download/FG/EarthView/clouds_4k.7z clouds] (64.4MB)&lt;br /&gt;
&lt;br /&gt;
* 8192x8192 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_8k.7z world] (361.6MB) - [https://musicchris.de/download/FG/EarthView/clouds_8k.7z clouds] (212.8MB)&lt;br /&gt;
&lt;br /&gt;
* 16384x16384 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_16k_dds.7z world] dds (~310MB) - [https://musicchris.de/download/FG/EarthView/world_16k_png.7z world] png (~1GB) (Warning: Requires much more than 1GB Graphics RAM - FG crashes on my machine with 1GB GRAM)&lt;br /&gt;
&lt;br /&gt;
Or you could get yourself this Bash-script to let it do the generation for you: https://github.com/chris-blues/Nasa2FGearthview}}&lt;br /&gt;
&lt;br /&gt;
* obtain a texture set&lt;br /&gt;
Go to [http://visibleearth.nasa.gov/ Visible Earth], look into the Blue Marble section and download a texture set of your choice (there's different seasons available for instance).&amp;lt;br /&amp;gt;&lt;br /&gt;
Alternatively, you can download the complete set of textures here (this server is much faster!)&lt;br /&gt;
&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.001 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.002 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.003 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.004 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.005 (200MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a bash, you could get it all with the following one-liner:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;for p in 1 2 3 4 5 ; do wget https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.00$p -c -O raw-data-NASA.7z ; done&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NASA typically delivers the hires textures with naming conventions N1 - N4 (northern hemisphere) and S1 - S4 (southern hemisphere) and Earthview follows that convention.&lt;br /&gt;
&lt;br /&gt;
* convert the texture set&lt;br /&gt;
&lt;br /&gt;
Graphics cards prefer powers of two in texture sizes, so you probably want to resize the sheets to either 8192x8192 or 16384x16384. At the same time, you might want to save them in pre-compressed and mip-mapped dds format (this may require a gimp plugin) for better loading times. Do this on a machine with plenty of memory, as the graphics program may need a lot in intermediate stages.&lt;br /&gt;
&lt;br /&gt;
* assign the texture sheets&lt;br /&gt;
&lt;br /&gt;
Look into $FGData/Models/Astro  - this is where Earthview resides. The current texture sheets are pale_blue_aug_??.png and clouds_??.png where ?? stands for the NASA position reference. &lt;br /&gt;
&lt;br /&gt;
The simple way is to assign your texture to earth_unitscale_rawuv.ac (then they can be used 'as is'). It's easiest to open the file with the text editor, look for the lines like&lt;br /&gt;
&amp;lt;b&amp;gt;texture &amp;quot;pale_blue_aug_N1.png&amp;quot;&amp;lt;/b&amp;gt;&lt;br /&gt;
and replace them with your own N1 texture. Then open earth.xml and point to your just edited 3d model via &amp;lt;path&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/path&amp;gt;. Do the same for cloudsphere.xml (it's entirely possible to do all this in a 3d modeling application like blender, but chances are it will get rather slow and unwieldy for such huge texture sheets).&lt;br /&gt;
&lt;br /&gt;
Assigning textures as they are to the rawuv sphere creates visible seams where the texture sheets end. The solution is to add margins (like done for the texture set provided). If you edit your textures to add such margins, you don't need to use &amp;lt;b&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/b&amp;gt; and can assign your textures to &amp;lt;b&amp;gt;earth_unitscale_hires.ac&amp;lt;/b&amp;gt; (see [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=15754&amp;amp;start=135#p207629 this forum post] for the details of creating such textures)&lt;br /&gt;
&lt;br /&gt;
For comparison, a 16384x16384 texture sheet in pre-compressed and mip-mapped dds format should come to 341 MB. Unless you have a substantial amount of memory, consider using less than full resolution, since you always need 4 of these textures loaded into graphics memory, and 8 if you also switch on clouds.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Technically, Earth is rendered as a ~58 km sized sphere positioned 1/100 of the actual altitude away from the spacecraft. It's position is constantly adjusted to give the same visual size using ray optics equations, and its attitude is rotated to place you 'above' the correct latitude and longitude. For 100 km altitude, the camera is thus actually just 1000 m away from the sphere.&lt;br /&gt;
&lt;br /&gt;
Compared to almost anything else, the performance impact of re-positioning the sphere every frame is minimal.&lt;br /&gt;
&lt;br /&gt;
The reason is that graphics cards operate with floating point precision, and a sphere with the real size of Earth would create (potentially architecture dependent) massive numerical problems (the default far plane clipping distance in FG is some 120.000 m). The same is in fact true for the skydome - it's actually a half dome some 20 km away from the camera, made to appear behind everything else by rendering magic. Or, in other words, we can't simply render a 'real earth' and a 'real atmosphere' because that would potentially overtax the GPU - real time rendering is always trickery of some sort.&lt;br /&gt;
&lt;br /&gt;
The implementation has the negative consequence that you may not move the view point too far from the spacecraft (the ray optics illusion works for one object, but not for two simultaneously) - in particular flyby view or tower view will give you odd results with Earthview.&lt;br /&gt;
&lt;br /&gt;
The real terrain engine is not technically switched off, but (assuming normal visibility settings) the terrain mesh is just too far to trigger either tile loading or rendering - as you get back from orbit, the terrain will load underneath Earthview, and if you end it at a reasonable altitude (say between 80.000 and 120.000 ft) you can go right back to the native FG terrain with minimum fuss.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
Earthview in its current state isn't perfect, for instance in low light it may produce mismatches with the atmosphere shader (as it's fogging model is not precisely the same, and the numerics of the projected Earth sphere doesn't always match what the atmosphere shader computes as horizon). For that reason, its visuals are developed further, but the priority is in general low as by and large the goal to have viable spaceflight visuals is met.&lt;br /&gt;
&lt;br /&gt;
Over the years, there have been diverse proposals for alternative ways to render orbital visuals in a way that is more integrated with FG - the only viable alternative that has actually materialized so far seems to be [[Building FlightGear with osgEarth Integration]], however this lacks atmosphere visuals.&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=102382</id>
		<title>Earthview</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=102382"/>
		<updated>2016-07-27T19:31:44Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Customization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{See also|Flying on other planets}}&lt;br /&gt;
&lt;br /&gt;
The default FlightGear terrain rendering strategy is designed for visuals from aircraft cruise altitude. While it is [http://www.flightgear.org/tours/pushing-the-boundaries-the-x-15-story/ possible] to use it for altitudes up to some 100 km, the performance impact becomes increasingly prohibitive and the visuals are not overly compelling. In particular for orbiting spacecraft such as [[Vostok-1]] or the [[Space Shuttle]] neither rendering nor loading the standard terrain mesh is fast enough.&lt;br /&gt;
&lt;br /&gt;
Earthview is an alternative orbital rendering engine for FlightGear designed to get credible visuals in these situations. It is based on projecting a simple textured sphere representing Earth into the scene using ray optics. The quality of the terrain visuals then largely depend on the texture size used. Since there is then only a single object in the field of view, performance is generally very good provided that there is enough texture memory available.&lt;br /&gt;
&lt;br /&gt;
{{Spaceflight}}&lt;br /&gt;
=== Overview ===&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
Earthview is started from the menu as View -&amp;gt; Earthview Orbital Rendering. This brings up the configuration dialog.&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview.jpg|thumb|Earthview configuration dialog]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options checkboxes allow to select&lt;br /&gt;
&lt;br /&gt;
* whether a cloud layer should be rendered above the planet&lt;br /&gt;
* whether the cloud layer information should be used to render cloud shadows onto the terrain&lt;br /&gt;
* whether Earthview should take control of the atmosphere visuals and adjust them based on altitude&lt;br /&gt;
* whether textures should be procedurally enhanced with overlay textures to provide better apparent texture resolution&lt;br /&gt;
&lt;br /&gt;
'Start' run Earthview, 'Stop' ends the computations and removes the 3d model. Generally, using Earthview below an altitude of ~30  km / 100.000 ft is not recommended and will almost certainly not give the desired visuals.&lt;br /&gt;
&lt;br /&gt;
Sliders further down can be used to adjust details. For instance, if no cloud shadows are rendered, it is possible to rotate the cloud sphere around Earth and give different places different weather (otherwise, the cloud pattern will always be the same, i.e. if a place is obscured by clouds initially, it will always be). Using Rayleigh, Mie and Density, atmosphere visuals (if [[Atmospheric light scattering]] (ALS) is on) can be adjusted. Visibility dials the amount of fogging seen on the planet. &lt;br /&gt;
&lt;br /&gt;
Earthview runs without ALS, but does not provide any credible visuals of the Atmosphere.&lt;br /&gt;
&lt;br /&gt;
If atmosphere visuals are rendered, Earthview interacts with the weather system in that the visibility used by Earthview and by the weather system will be the same. In the case of [[A local weather system | Advanced Weather]] (AW) this is an issue because both systems try to adjust atmosphere visuals. For this reason, AW needs to be ended before Earthview is started. There is no general option to do this automatically, but an automatic transition from default FG rendering and weather to Earthview is easily coded spacecraft side and implemented for the Space Shuttle.&lt;br /&gt;
&lt;br /&gt;
All textures are taken from the [http://visibleearth.nasa.gov/ NASA Visible Earth project] - at the highest resolution level, Earth can be rendered at 32768x65536 pixel (about 500 x 500 m per pixel) and clouds with half of that. Currently there is a much lower texture resolution distributed in FGData as the highest resolution set has eight textures sheets of 172 MB each which would double the current repository size. It is however easily possible to obtain the textures from the NASA website and apply them.&lt;br /&gt;
&lt;br /&gt;
At highest texture resolution, visuals are generally very compelling:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview for low Earth orbit.jpg|450px|Low orbit]] [[File:Earthview hig altitude.jpg|450px|High orbit]]&lt;br /&gt;
&lt;br /&gt;
A dedicated set of shaders for Earth and the cloudsphere is used to create additional effects such a enhanced specular water reflections, cloud shadows and dawnlight color changes:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview cloud shadows.jpg|450px|Cloud shadows in Earthview]] [[File:Earthview specular water reflections.jpg|450px|Specular water reflections and cloud shadows in Earthview]]&lt;br /&gt;
&lt;br /&gt;
Earthview can also render Aurora Borealis seen from space.&lt;br /&gt;
&lt;br /&gt;
For comparison, this is the FG native terrain tweaked to render with 600 km visibility from 100 km altitude (bringing a gaming laptop to 10 fps in the process):&lt;br /&gt;
&lt;br /&gt;
[[File:X-15-iceland05.jpg|450px|X-15 over Iceland]] [[File:X-15-iceland03.jpg|450px|X-15 in space]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Since there is no detailed terrain mesh involved and there is essentially just a single textured sphere in the field of view, performance is generally excellent even on low end graphics cards.&lt;br /&gt;
&lt;br /&gt;
The main requirement (especially if custom hires textures are used) is available memory and GPU texture memory (this is not an issue for the default texture size). Provided there is sufficient texture memory available, loading the texture sheets is another bottleneck and FG may hang for a couple of seconds while the textures appear. &lt;br /&gt;
&lt;br /&gt;
Where this is feasible and supported by the GPU drivers, pre-compressed and mipmapped dds textures offer the fastest loading times. As such textures can not be used with many OpenSource graphics drivers, the default textures are not in dds format.&lt;br /&gt;
&lt;br /&gt;
While it is possible to use Earthview in rendering schemes other then ALS, this is neither supported nor endorsed. While they work perfectly well for the normal operations envelope of a flightsim, at high altitude the default renderer as well as [[Project Rembrandt]] do not render a realistic horizon line, plausible atmosphere visuals or the hard shadows of outer space and Earthview can not compensate for these issues.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
Getting your own hires version of textures requires a few simple steps:&lt;br /&gt;
&lt;br /&gt;
{{note|You can skip the next 2 steps (&amp;quot;obtain a texture set&amp;quot; and &amp;quot;convert the texture set&amp;quot;) and download the ready-to-use files here:&lt;br /&gt;
&lt;br /&gt;
* 1024x1024 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_1k.7z world] (7.5MB) - [https://musicchris.de/download/FG/EarthView/clouds_1k.7z clouds] (5.2MB)&lt;br /&gt;
&lt;br /&gt;
* 2048x2048 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_2k.7z world] (27.3MB) - [https://musicchris.de/download/FG/EarthView/clouds_2k.7z clouds] (18.9MB)&lt;br /&gt;
&lt;br /&gt;
* 4096x4096 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_4k.7z world] (99.5MB) - [https://musicchris.de/download/FG/EarthView/clouds_4k.7z clouds] (64.4MB)&lt;br /&gt;
&lt;br /&gt;
* 8192x8192 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_8k.7z world] (361.6MB) - [https://musicchris.de/download/FG/EarthView/clouds_8k.7z clouds] (212.8MB)&lt;br /&gt;
&lt;br /&gt;
* 16384x16384 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_16k_dds.7z world] dds (~310MB) - [https://musicchris.de/download/FG/EarthView/world_16k_png.7z world] png (~1GB) (Warning: Requires much more than 1GB Graphics RAM - FG crashes on my machine with 1GB GRAM)&lt;br /&gt;
&lt;br /&gt;
Or you could get yourself this Bash-script to let it do the generation for you: https://github.com/chris-blues/Nasa2FGearthview}}&lt;br /&gt;
&lt;br /&gt;
* obtain a texture set&lt;br /&gt;
Go to [http://visibleearth.nasa.gov/ Visible Earth], look into the Blue Marble section and download a texture set of your choice (there's different seasons available for instance).&amp;lt;br /&amp;gt;&lt;br /&gt;
Alternatively, you can download the complete set of textures here (this server is much faster!)&lt;br /&gt;
{{note| The following files will be done uploading at 2016-07-27 21:00 UTC. Feel free to remove this note afterwards.}}&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.001 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.002 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.003 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.004 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.005 (200MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a bash, you could get it all with the following one-liner:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;for p in 1 2 3 4 5 ; do wget https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.00$p -c -O raw-data-NASA.7z ; done&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NASA typically delivers the hires textures with naming conventions N1 - N4 (northern hemisphere) and S1 - S4 (southern hemisphere) and Earthview follows that convention.&lt;br /&gt;
&lt;br /&gt;
* convert the texture set&lt;br /&gt;
&lt;br /&gt;
Graphics cards prefer powers of two in texture sizes, so you probably want to resize the sheets to either 8192x8192 or 16384x16384. At the same time, you might want to save them in pre-compressed and mip-mapped dds format (this may require a gimp plugin) for better loading times. Do this on a machine with plenty of memory, as the graphics program may need a lot in intermediate stages.&lt;br /&gt;
&lt;br /&gt;
* assign the texture sheets&lt;br /&gt;
&lt;br /&gt;
Look into $FGData/Models/Astro  - this is where Earthview resides. The current texture sheets are pale_blue_aug_??.png and clouds_??.png where ?? stands for the NASA position reference. &lt;br /&gt;
&lt;br /&gt;
The simple way is to assign your texture to earth_unitscale_rawuv.ac (then they can be used 'as is'). It's easiest to open the file with the text editor, look for the lines like&lt;br /&gt;
&amp;lt;b&amp;gt;texture &amp;quot;pale_blue_aug_N1.png&amp;quot;&amp;lt;/b&amp;gt;&lt;br /&gt;
and replace them with your own N1 texture. Then open earth.xml and point to your just edited 3d model via &amp;lt;path&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/path&amp;gt;. Do the same for cloudsphere.xml (it's entirely possible to do all this in a 3d modeling application like blender, but chances are it will get rather slow and unwieldy for such huge texture sheets).&lt;br /&gt;
&lt;br /&gt;
Assigning textures as they are to the rawuv sphere creates visible seams where the texture sheets end. The solution is to add margins (like done for the texture set provided). If you edit your textures to add such margins, you don't need to use &amp;lt;b&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/b&amp;gt; and can assign your textures to &amp;lt;b&amp;gt;earth_unitscale_hires.ac&amp;lt;/b&amp;gt; (see [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=15754&amp;amp;start=135#p207629 this forum post] for the details of creating such textures)&lt;br /&gt;
&lt;br /&gt;
For comparison, a 16384x16384 texture sheet in pre-compressed and mip-mapped dds format should come to 341 MB. Unless you have a substantial amount of memory, consider using less than full resolution, since you always need 4 of these textures loaded into graphics memory, and 8 if you also switch on clouds.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Technically, Earth is rendered as a ~58 km sized sphere positioned 1/100 of the actual altitude away from the spacecraft. It's position is constantly adjusted to give the same visual size using ray optics equations, and its attitude is rotated to place you 'above' the correct latitude and longitude. For 100 km altitude, the camera is thus actually just 1000 m away from the sphere.&lt;br /&gt;
&lt;br /&gt;
Compared to almost anything else, the performance impact of re-positioning the sphere every frame is minimal.&lt;br /&gt;
&lt;br /&gt;
The reason is that graphics cards operate with floating point precision, and a sphere with the real size of Earth would create (potentially architecture dependent) massive numerical problems (the default far plane clipping distance in FG is some 120.000 m). The same is in fact true for the skydome - it's actually a half dome some 20 km away from the camera, made to appear behind everything else by rendering magic. Or, in other words, we can't simply render a 'real earth' and a 'real atmosphere' because that would potentially overtax the GPU - real time rendering is always trickery of some sort.&lt;br /&gt;
&lt;br /&gt;
The implementation has the negative consequence that you may not move the view point too far from the spacecraft (the ray optics illusion works for one object, but not for two simultaneously) - in particular flyby view or tower view will give you odd results with Earthview.&lt;br /&gt;
&lt;br /&gt;
The real terrain engine is not technically switched off, but (assuming normal visibility settings) the terrain mesh is just too far to trigger either tile loading or rendering - as you get back from orbit, the terrain will load underneath Earthview, and if you end it at a reasonable altitude (say between 80.000 and 120.000 ft) you can go right back to the native FG terrain with minimum fuss.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
Earthview in its current state isn't perfect, for instance in low light it may produce mismatches with the atmosphere shader (as it's fogging model is not precisely the same, and the numerics of the projected Earth sphere doesn't always match what the atmosphere shader computes as horizon). For that reason, its visuals are developed further, but the priority is in general low as by and large the goal to have viable spaceflight visuals is met.&lt;br /&gt;
&lt;br /&gt;
Over the years, there have been diverse proposals for alternative ways to render orbital visuals in a way that is more integrated with FG - the only viable alternative that has actually materialized so far seems to be [[Building FlightGear with osgEarth Integration]], however this lacks atmosphere visuals.&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=102366</id>
		<title>Earthview</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Earthview&amp;diff=102366"/>
		<updated>2016-07-27T14:29:34Z</updated>

		<summary type="html">&lt;p&gt;Chris blues: /* Customization */ Add note about the amount of textures&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{See also|Flying on other planets}}&lt;br /&gt;
&lt;br /&gt;
The default FlightGear terrain rendering strategy is designed for visuals from aircraft cruise altitude. While it is [http://www.flightgear.org/tours/pushing-the-boundaries-the-x-15-story/ possible] to use it for altitudes up to some 100 km, the performance impact becomes increasingly prohibitive and the visuals are not overly compelling. In particular for orbiting spacecraft such as [[Vostok-1]] or the [[Space Shuttle]] neither rendering nor loading the standard terrain mesh is fast enough.&lt;br /&gt;
&lt;br /&gt;
Earthview is an alternative orbital rendering engine for FlightGear designed to get credible visuals in these situations. It is based on projecting a simple textured sphere representing Earth into the scene using ray optics. The quality of the terrain visuals then largely depend on the texture size used. Since there is then only a single object in the field of view, performance is generally very good provided that there is enough texture memory available.&lt;br /&gt;
&lt;br /&gt;
{{Spaceflight}}&lt;br /&gt;
=== Overview ===&lt;br /&gt;
[[File:menubar2.jpg|517px]]&lt;br /&gt;
&lt;br /&gt;
Earthview is started from the menu as View -&amp;gt; Earthview Orbital Rendering. This brings up the configuration dialog.&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview.jpg|thumb|Earthview configuration dialog]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options checkboxes allow to select&lt;br /&gt;
&lt;br /&gt;
* whether a cloud layer should be rendered above the planet&lt;br /&gt;
* whether the cloud layer information should be used to render cloud shadows onto the terrain&lt;br /&gt;
* whether Earthview should take control of the atmosphere visuals and adjust them based on altitude&lt;br /&gt;
* whether textures should be procedurally enhanced with overlay textures to provide better apparent texture resolution&lt;br /&gt;
&lt;br /&gt;
'Start' run Earthview, 'Stop' ends the computations and removes the 3d model. Generally, using Earthview below an altitude of ~30  km / 100.000 ft is not recommended and will almost certainly not give the desired visuals.&lt;br /&gt;
&lt;br /&gt;
Sliders further down can be used to adjust details. For instance, if no cloud shadows are rendered, it is possible to rotate the cloud sphere around Earth and give different places different weather (otherwise, the cloud pattern will always be the same, i.e. if a place is obscured by clouds initially, it will always be). Using Rayleigh, Mie and Density, atmosphere visuals (if [[Atmospheric light scattering]] (ALS) is on) can be adjusted. Visibility dials the amount of fogging seen on the planet. &lt;br /&gt;
&lt;br /&gt;
Earthview runs without ALS, but does not provide any credible visuals of the Atmosphere.&lt;br /&gt;
&lt;br /&gt;
If atmosphere visuals are rendered, Earthview interacts with the weather system in that the visibility used by Earthview and by the weather system will be the same. In the case of [[A local weather system | Advanced Weather]] (AW) this is an issue because both systems try to adjust atmosphere visuals. For this reason, AW needs to be ended before Earthview is started. There is no general option to do this automatically, but an automatic transition from default FG rendering and weather to Earthview is easily coded spacecraft side and implemented for the Space Shuttle.&lt;br /&gt;
&lt;br /&gt;
All textures are taken from the [http://visibleearth.nasa.gov/ NASA Visible Earth project] - at the highest resolution level, Earth can be rendered at 32768x65536 pixel (about 500 x 500 m per pixel) and clouds with half of that. Currently there is a much lower texture resolution distributed in FGData as the highest resolution set has eight textures sheets of 172 MB each which would double the current repository size. It is however easily possible to obtain the textures from the NASA website and apply them.&lt;br /&gt;
&lt;br /&gt;
At highest texture resolution, visuals are generally very compelling:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview for low Earth orbit.jpg|450px|Low orbit]] [[File:Earthview hig altitude.jpg|450px|High orbit]]&lt;br /&gt;
&lt;br /&gt;
A dedicated set of shaders for Earth and the cloudsphere is used to create additional effects such a enhanced specular water reflections, cloud shadows and dawnlight color changes:&lt;br /&gt;
&lt;br /&gt;
[[File:Earthview cloud shadows.jpg|450px|Cloud shadows in Earthview]] [[File:Earthview specular water reflections.jpg|450px|Specular water reflections and cloud shadows in Earthview]]&lt;br /&gt;
&lt;br /&gt;
Earthview can also render Aurora Borealis seen from space.&lt;br /&gt;
&lt;br /&gt;
For comparison, this is the FG native terrain tweaked to render with 600 km visibility from 100 km altitude (bringing a gaming laptop to 10 fps in the process):&lt;br /&gt;
&lt;br /&gt;
[[File:X-15-iceland05.jpg|450px|X-15 over Iceland]] [[File:X-15-iceland03.jpg|450px|X-15 in space]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
Since there is no detailed terrain mesh involved and there is essentially just a single textured sphere in the field of view, performance is generally excellent even on low end graphics cards.&lt;br /&gt;
&lt;br /&gt;
The main requirement (especially if custom hires textures are used) is available memory and GPU texture memory (this is not an issue for the default texture size). Provided there is sufficient texture memory available, loading the texture sheets is another bottleneck and FG may hang for a couple of seconds while the textures appear. &lt;br /&gt;
&lt;br /&gt;
Where this is feasible and supported by the GPU drivers, pre-compressed and mipmapped dds textures offer the fastest loading times. As such textures can not be used with many OpenSource graphics drivers, the default textures are not in dds format.&lt;br /&gt;
&lt;br /&gt;
While it is possible to use Earthview in rendering schemes other then ALS, this is neither supported nor endorsed. While they work perfectly well for the normal operations envelope of a flightsim, at high altitude the default renderer as well as [[Project Rembrandt]] do not render a realistic horizon line, plausible atmosphere visuals or the hard shadows of outer space and Earthview can not compensate for these issues.&lt;br /&gt;
&lt;br /&gt;
== Customization ==&lt;br /&gt;
&lt;br /&gt;
Getting your own hires version of textures requires a few simple steps:&lt;br /&gt;
&lt;br /&gt;
{{note|You can skip the next 2 steps (&amp;quot;obtain a texture set&amp;quot; and &amp;quot;convert the texture set&amp;quot;) and download the ready-to-use files here:&lt;br /&gt;
&lt;br /&gt;
* 1024x1024 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_1k.7z world] (7.5MB) - [https://musicchris.de/download/FG/EarthView/clouds_1k.7z clouds] (5.2MB)&lt;br /&gt;
&lt;br /&gt;
* 2048x2048 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_2k.7z world] (27.3MB) - [https://musicchris.de/download/FG/EarthView/clouds_2k.7z clouds] (18.9MB)&lt;br /&gt;
&lt;br /&gt;
* 4096x4096 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_4k.7z world] (99.5MB) - [https://musicchris.de/download/FG/EarthView/clouds_4k.7z clouds] (64.4MB)&lt;br /&gt;
&lt;br /&gt;
* 8192x8192 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_8k.7z world] (361.6MB) - [https://musicchris.de/download/FG/EarthView/clouds_8k.7z clouds] (212.8MB)&lt;br /&gt;
&lt;br /&gt;
* 16384x16384 7z-zipped: [https://musicchris.de/download/FG/EarthView/world_16k_dds.7z world] dds (~310MB) - [https://musicchris.de/download/FG/EarthView/world_16k_png.7z world] png (~1GB) (Warning: Requires much more than 1GB Graphics RAM - FG crashes on my machine with 1GB GRAM)&lt;br /&gt;
&lt;br /&gt;
Or you could get yourself this Bash-script to let it do the generation for you: https://github.com/chris-blues/Nasa2FGearthview}}&lt;br /&gt;
&lt;br /&gt;
* obtain a texture set&lt;br /&gt;
Go to [http://visibleearth.nasa.gov/ Visible Earth], look into the Blue Marble section and download a texture set of your choice (there's different seasons available for instance).&amp;lt;br /&amp;gt;&lt;br /&gt;
Alternatively, you can download the complete set of textures here (this server is much faster!)&lt;br /&gt;
{{note| The following files will be done uploading at 2016-07-27 20:00 UTC. Feel free to remove this note afterwards.}}&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.001 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.002 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.003 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.004 (500MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.005 (200MB)&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a bash, you could get it all with the following one-liner:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;for p in 1 2 3 4 5 ; do wget https://musicchris.de/download/FG/EarthView/raw-data-NASA.7z.00$p -c -O raw-data-NASA.7z ; done&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NASA typically delivers the hires textures with naming conventions N1 - N4 (northern hemisphere) and S1 - S4 (southern hemisphere) and Earthview follows that convention.&lt;br /&gt;
&lt;br /&gt;
* convert the texture set&lt;br /&gt;
&lt;br /&gt;
Graphics cards prefer powers of two in texture sizes, so you probably want to resize the sheets to either 8192x8192 or 16384x16384. At the same time, you might want to save them in pre-compressed and mip-mapped dds format (this may require a gimp plugin) for better loading times. Do this on a machine with plenty of memory, as the graphics program may need a lot in intermediate stages.&lt;br /&gt;
&lt;br /&gt;
* assign the texture sheets&lt;br /&gt;
&lt;br /&gt;
Look into $FGData/Models/Astro  - this is where Earthview resides. The current texture sheets are pale_blue_aug_??.png and clouds_??.png where ?? stands for the NASA position reference. &lt;br /&gt;
&lt;br /&gt;
The simple way is to assign your texture to earth_unitscale_rawuv.ac (then they can be used 'as is'). It's easiest to open the file with the text editor, look for the lines like&lt;br /&gt;
&amp;lt;b&amp;gt;texture &amp;quot;pale_blue_aug_N1.png&amp;quot;&amp;lt;/b&amp;gt;&lt;br /&gt;
and replace them with your own N1 texture. Then open earth.xml and point to your just edited 3d model via &amp;lt;path&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/path&amp;gt;. Do the same for cloudsphere.xml (it's entirely possible to do all this in a 3d modeling application like blender, but chances are it will get rather slow and unwieldy for such huge texture sheets).&lt;br /&gt;
&lt;br /&gt;
Assigning textures as they are to the rawuv sphere creates visible seams where the texture sheets end. The solution is to add margins (like done for the texture set provided). If you edit your textures to add such margins, you don't need to use &amp;lt;b&amp;gt;earth_unitscale_rawuv.ac&amp;lt;/b&amp;gt; and can assign your textures to &amp;lt;b&amp;gt;earth_unitscale_hires.ac&amp;lt;/b&amp;gt; (see [https://forum.flightgear.org/viewtopic.php?f=6&amp;amp;t=15754&amp;amp;start=135#p207629 this forum post] for the details of creating such textures)&lt;br /&gt;
&lt;br /&gt;
For comparison, a 16384x16384 texture sheet in pre-compressed and mip-mapped dds format should come to 341 MB. Unless you have a substantial amount of memory, consider using less than full resolution, since you always need 4 of these textures loaded into graphics memory, and 8 if you also switch on clouds.&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
Technically, Earth is rendered as a ~58 km sized sphere positioned 1/100 of the actual altitude away from the spacecraft. It's position is constantly adjusted to give the same visual size using ray optics equations, and its attitude is rotated to place you 'above' the correct latitude and longitude. For 100 km altitude, the camera is thus actually just 1000 m away from the sphere.&lt;br /&gt;
&lt;br /&gt;
Compared to almost anything else, the performance impact of re-positioning the sphere every frame is minimal.&lt;br /&gt;
&lt;br /&gt;
The reason is that graphics cards operate with floating point precision, and a sphere with the real size of Earth would create (potentially architecture dependent) massive numerical problems (the default far plane clipping distance in FG is some 120.000 m). The same is in fact true for the skydome - it's actually a half dome some 20 km away from the camera, made to appear behind everything else by rendering magic. Or, in other words, we can't simply render a 'real earth' and a 'real atmosphere' because that would potentially overtax the GPU - real time rendering is always trickery of some sort.&lt;br /&gt;
&lt;br /&gt;
The implementation has the negative consequence that you may not move the view point too far from the spacecraft (the ray optics illusion works for one object, but not for two simultaneously) - in particular flyby view or tower view will give you odd results with Earthview.&lt;br /&gt;
&lt;br /&gt;
The real terrain engine is not technically switched off, but (assuming normal visibility settings) the terrain mesh is just too far to trigger either tile loading or rendering - as you get back from orbit, the terrain will load underneath Earthview, and if you end it at a reasonable altitude (say between 80.000 and 120.000 ft) you can go right back to the native FG terrain with minimum fuss.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
Earthview in its current state isn't perfect, for instance in low light it may produce mismatches with the atmosphere shader (as it's fogging model is not precisely the same, and the numerics of the projected Earth sphere doesn't always match what the atmosphere shader computes as horizon). For that reason, its visuals are developed further, but the priority is in general low as by and large the goal to have viable spaceflight visuals is met.&lt;br /&gt;
&lt;br /&gt;
Over the years, there have been diverse proposals for alternative ways to render orbital visuals in a way that is more integrated with FG - the only viable alternative that has actually materialized so far seems to be [[Building FlightGear with osgEarth Integration]], however this lacks atmosphere visuals.&lt;/div&gt;</summary>
		<author><name>Chris blues</name></author>
	</entry>
</feed>