<?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=Sanhozay</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=Sanhozay"/>
	<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/Special:Contributions/Sanhozay"/>
	<updated>2026-05-26T16:15:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.6</generator>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Aircraft_checklists&amp;diff=107920</id>
		<title>Aircraft checklists</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Aircraft_checklists&amp;diff=107920"/>
		<updated>2017-05-23T12:44:36Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* External link */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{infobox subsystem&lt;br /&gt;
|image =Aircraft Checklists dialog.jpg&lt;br /&gt;
|name = Generic Aircraft Checklists&lt;br /&gt;
|started= 03/2010 &lt;br /&gt;
|description = Centralized checklist management&lt;br /&gt;
|status = Under active development as of 05/2015&lt;br /&gt;
|maintainers = {{usr|Stuart}}&lt;br /&gt;
|developers =  * {{usr|Stuart}}&lt;br /&gt;
* {{usr|Sanhozay}}&lt;br /&gt;
|changelog = * {{Git File History|project=flightgear|sub-project=fgdata|path=/Nasal/checklist.nas}}&lt;br /&gt;
* {{Git File History|project=flightgear|sub-project=fgdata|path=/gui/dialogs/checklist.xml}}&lt;br /&gt;
* {{Git File History|project=flightgear|sub-project=fgdata|path=/Aircraft/Generic/autochecklist.nas}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Startup}}&lt;br /&gt;
{{Checklists}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of version 2.9, [[FlightGear]] can display '''aircraft checklists''' in a standardized way, under Help &amp;gt; Aircraft Checklists. &lt;br /&gt;
&lt;br /&gt;
== Adding checklists ==&lt;br /&gt;
To learn more about creating custom checklists, see {{readme file|checklists}} and the [[Cessna 172P]] as the reference implementation. Increasingly, the [[tutorials]] system is also extended such that it may make use of aircraft checklists.&lt;br /&gt;
&lt;br /&gt;
Checklists are situated under &amp;lt;tt&amp;gt;/sim/checklists&amp;lt;/tt&amp;gt;. As the checklists may be quite long, it is recommended that they are put in a separate file using the following entry in the &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file of the aircraft:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;checklists include=&amp;quot;c172-checklists.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each individual checklist is created under a &amp;lt;checklist&amp;gt; XML tag, with the following sub-properties:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;title&amp;gt;&amp;lt;/code&amp;gt; The name of the checklist&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; One or more pages from the checklist, containing one or more of the following:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; A checklist item, containing&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; The item name, to appear on the left hand side of the checklist&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/code&amp;gt; One or more values, to appear on the right hand side of the checklist. Second and and subsequent &amp;lt;value&amp;gt; tags are displayed underneath each other.  It is recommended that the &amp;lt;value&amp;gt; tags are kept short, to minimize the size of the displayed checklist.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/code&amp;gt; An optional [[Howto:Animate models#Conditions|condition node]] that evaluates when the checklist item is complete. Incomplete checklist items are shown in yellow, while completed items are shown in green.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;marker&amp;gt;&amp;lt;/code&amp;gt; An optional marker node that is used to display a circle around a control when the user clicks a &amp;quot;?&amp;quot; button next to the item.  This contains &amp;lt;x-m&amp;gt;, &amp;lt;y-m&amp;gt;, &amp;lt;z-m&amp;gt; and &amp;lt;scale&amp;gt; sub-elements and uses the [[Tutorials#Marker|tutorial marker]]. Note that this requires the marker model to be included in the aircraft model, as explained in the aforementioned article.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;binding&amp;gt;&amp;lt;/code&amp;gt; Zero or more XML bindings that are used by the simulator to execute the checklist item if the user clicks on a &amp;quot;&amp;gt;&amp;quot; button next to the item.&lt;br /&gt;
&lt;br /&gt;
For simple checklists the &amp;lt;page&amp;gt; element can be omitted and &amp;lt;item&amp;gt; entries placed directly under the &amp;lt;checklist&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The following example shows a simple checklists XML file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;checklist&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;After Landing&amp;lt;/title&amp;gt;  &lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Carburetor Heat&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;COLD&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;condition&amp;gt;&lt;br /&gt;
        &amp;lt;equals&amp;gt;&lt;br /&gt;
          &amp;lt;property&amp;gt;/controls/anti-ice/engine[0]/carb-heat&amp;lt;/property&amp;gt;&lt;br /&gt;
          &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/equals&amp;gt;&lt;br /&gt;
      &amp;lt;/condition&amp;gt;&lt;br /&gt;
      &amp;lt;marker&amp;gt;&lt;br /&gt;
        &amp;lt;x-m&amp;gt;-0.3225&amp;lt;/x-m&amp;gt;&lt;br /&gt;
        &amp;lt;y-m&amp;gt;-0.0850&amp;lt;/y-m&amp;gt;&lt;br /&gt;
        &amp;lt;z-m&amp;gt;-0.2117&amp;lt;/z-m&amp;gt;&lt;br /&gt;
        &amp;lt;scale&amp;gt;2.0500&amp;lt;/scale&amp;gt;&lt;br /&gt;
      &amp;lt;/marker&amp;gt;      &lt;br /&gt;
      &amp;lt;binding&amp;gt;&lt;br /&gt;
        &amp;lt;command&amp;gt;property-assign&amp;lt;/command&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Wing Flaps&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;UP&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/checklist&amp;gt;&lt;br /&gt;
  &amp;lt;checklist&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Getting hamburger&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;page&amp;gt;&lt;br /&gt;
      &amp;lt;item&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
      &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
  &amp;lt;/checklist&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the Cessna 172P for an example of how this all fits together.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
[[File:C172p-checklist-via-pui.png|thumb|FlightGear [[Aircraft Checklists]] [[PUI]] dialog]]&lt;br /&gt;
One or more [[Bindings|binding elements]] can be added to a checklist item. Conceptually, these are the actions that the user should execute to complete the item. The checklist GUI displays items with such &amp;lt;binding&amp;gt; elements with an additional [&amp;gt;] button.  Clicking on the button executes the bindings, allowing the user to watch as the computer/co-pilot/instructor executes the checklist item.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;binding&amp;gt; element is exactly as you would expect - so property-assign, nasal etc. works.&lt;br /&gt;
&lt;br /&gt;
The plan is to extend this function so that checklists with one or more items containing a &amp;lt;binding&amp;gt; element can have an (optional) button&lt;br /&gt;
to execute the entire checklist.&lt;br /&gt;
&lt;br /&gt;
== Reloading checklists ==&lt;br /&gt;
Cut and paste this little code snippet in the [[Nasal Console]] and excecute it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var reload_checklist = func(filename) {&lt;br /&gt;
var checklist_path=sprintf(&amp;quot;%s/%s&amp;quot;,getprop(&amp;quot;/sim/aircraft-dir&amp;quot;),filename);&lt;br /&gt;
var data = io.read_properties(checklist_path,&amp;quot;/sim/checklists&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
reload_checklist(filename: &amp;quot;777-200-checklists.xml&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the filename to the name of the file you are editing. Make sure to monitor the startup window and/or the [[Nasal Console]] loglist widget for any XML related warnings (e.g. parsing errors).&lt;br /&gt;
&lt;br /&gt;
== Automated checklist execution ==&lt;br /&gt;
&lt;br /&gt;
As of version 3.5, [[FlightGear]] can automate the execution of various sequences of aircraft checklists using the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script in &amp;lt;tt&amp;gt;$FGDATA/Aircraft/Generic&amp;lt;/tt&amp;gt;. The advantage of this approach is that the checklist files become the source of checklists, tutorials and autostart; if the checklists change, so does the autostart (see {{Wikipedia|Don't repeat yourself}}). &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script can be used to create an autostart menu but is not restricted to autostart; any checklist sequence can be run from any piece of Nasal code.&lt;br /&gt;
&lt;br /&gt;
Automated checklists may not work for more complex aircraft startup sequences, but they are so easy to set up that it's worth trying alongside the development of the aircraft startup process. If it works, great! If it doesn't, you haven't wasted your time because you have at least made a start on your checklists.&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script relies on the aircraft having a set of checklists that have complete sets of [[Bindings|bindings]] to take the aircraft from one state to another. For autostart, for example, you need to be able to start the aircraft solely by pressing the binding buttons on the right side of the checklist.&lt;br /&gt;
&lt;br /&gt;
Using the script is a simple three step process involving a few lines of XML and as little as one line of [[Nasal]] code:&lt;br /&gt;
&lt;br /&gt;
# Add the script to your aircraft&lt;br /&gt;
# Define one or more named checklist sequences&lt;br /&gt;
# Call the script to execute a checklist sequence &lt;br /&gt;
&lt;br /&gt;
For example, you could define a sequence called &amp;quot;startup&amp;quot; that runs the sequence of checklists: &amp;quot;Before Starting Engines&amp;quot; and &amp;quot;Start Engines&amp;quot;. Calling the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script from a menu item binding with &amp;quot;startup&amp;quot; as the argument creates an autostart menu.&lt;br /&gt;
&lt;br /&gt;
When you invoke the &amp;lt;tt&amp;gt;autochecklist&amp;lt;/tt&amp;gt; script, it executes the checklists defined in the named sequence in the order that they are listed. Starting with the first item in the first checklist, it checks the {{readme file|conditions}} associated with the checklist item. If false, it runs the binding. It then moves onto the next item and checks if the condition from the previous item has been satisfied. If it is still false, it waits for a number of seconds -- maybe the binding was interpolated or the condition is waiting for something to start, e.g. APU spooling up. Once the condition from the previous item is satisfied, it looks at the condition on the current item and runs the binding if the condition is false. Execution continues like this until all checklist items have their bindings satisfied.&lt;br /&gt;
&lt;br /&gt;
In some cases, e.g. checks on maximum takeoff weight, bindings will never cause the condition to be satisfied. To cover these cases, the script will consider the checklist to have failed if the condition associated with a checklist item does not become true within a timeout period. In these cases, the pilot needs to review the checklist manually and work out why the aircraft will not start. Once the condition has been corrected, e.g. they removed some fuel or payload to get below MTOW, the checklists can be executed again and should be successful. Because the script checks the condition of each item before running the binding, the automated execution is re-entrant; it just picks up where it left off and does only what needs to be done.&lt;br /&gt;
&lt;br /&gt;
=== Add the script ===&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; to the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file (or equivalent):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;nasal&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;autochecklist&amp;gt;&lt;br /&gt;
    &amp;lt;file&amp;gt;Aircraft/Generic/autochecklist.nas&amp;lt;/file&amp;gt;&lt;br /&gt;
  &amp;lt;/autochecklist&amp;gt;&lt;br /&gt;
&amp;lt;/nasal&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Define checklist sequences ===&lt;br /&gt;
&lt;br /&gt;
In the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file, create one or more named checklist sequences that specify ordered lists of checklists to execute. The names can be anything you like as long as they are valid XML tags. The names are never displayed within the simulator.&lt;br /&gt;
&lt;br /&gt;
For example, to run checklists with indexes 0 and 1 for startup and checklist 9 for shutdown:&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;checklists&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/before-starting-engines.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/start-engines.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other checklists here with indexes 2 to 8 ... --&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/parking.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;startup&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;0&amp;quot;&amp;gt;0&amp;lt;/index&amp;gt; &amp;lt;!-- Before starting engines --&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;1&amp;quot;&amp;gt;1&amp;lt;/index&amp;gt; &amp;lt;!-- Start engines --&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
    &amp;lt;shutdown&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;0&amp;quot;&amp;gt;9&amp;lt;/index&amp;gt; &amp;lt;!-- Parking --&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
  &amp;lt;/checklists&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Execute the checklist sequence ===&lt;br /&gt;
&lt;br /&gt;
For the typical usage of autostart, add a Nasal binding as a menu item and execute the named checklist sequence:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;item&amp;gt;&lt;br /&gt;
  &amp;lt;label&amp;gt;Autostart&amp;lt;/label&amp;gt;&lt;br /&gt;
  &amp;lt;binding&amp;gt;&lt;br /&gt;
    &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;autochecklist.complete_checklists(&amp;quot;startup&amp;quot;);&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/binding&amp;gt;&lt;br /&gt;
&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously, additional logic can be included in the binding if you want the autostart menu to toggle between autostart and shutdown.&lt;br /&gt;
&lt;br /&gt;
==== Fine tuning checklist bindings ====&lt;br /&gt;
&lt;br /&gt;
Sometimes, a checklist binding will do something like display a dialog, e.g. fuel and payload dialog. It would be irritating to the pilot if these things happened during automated execution. These bindings can make use of the &amp;lt;code&amp;gt;sim/checklists/auto/active&amp;lt;/code&amp;gt; property, which will be &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; when the checklist binding is being run by the autochecklist script and &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;binding&amp;gt;&lt;br /&gt;
  &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    var auto = getprop(&amp;quot;sim/checklists/auto/active&amp;quot;);&lt;br /&gt;
    if (!auto) gui.showWeightDialog();&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/binding&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Expedited checklists ====&lt;br /&gt;
&lt;br /&gt;
For in-air start sequences in some aircraft, you can pass zero as the second argument of the &amp;lt;tt&amp;gt;complete_checklists&amp;lt;/tt&amp;gt; function to expedite the sequence. All items in the checklist sequence will be executed without waiting for previous items to complete. Note that this means the checklist sequence is never considered to have failed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
if (!getprop(&amp;quot;gear/gear/wow&amp;quot;)) {&lt;br /&gt;
     autochecklist.complete_checklists(sequence: &amp;quot;in-air-start&amp;quot;, wait: 0);&lt;br /&gt;
} else {&lt;br /&gt;
     autochecklist.complete_checklists(&amp;quot;ground-start&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clearly the checklist sequence used for in-air start should be different from a ground start and should put the aircraft into a flying state, e.g. gear up, flaps up. Bindings can use the property &amp;lt;code&amp;gt;sim/checklists/auto/expedited&amp;lt;/code&amp;gt; to check if the execution is expedited, i.e. there is no wait between items. Note that the expedited flag does not in itself indicate whether a binding is being run as part of an automated checklist. You may need to test both the &amp;lt;code&amp;gt;sim/checklists/auto/active&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sim/checklists/auto/expedited&amp;lt;/code&amp;gt; properties, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var auto = getprop(&amp;quot;sim/checklists/auto/active&amp;quot;);&lt;br /&gt;
var expedited = getprop(&amp;quot;sim/checklists/auto/expedited&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (auto and expedited) {&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Customizing execution (optional) ===&lt;br /&gt;
&lt;br /&gt;
The behavior of the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script can be customized by setting properties, either in the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file or at runtime. Configuration is under the &amp;lt;tt&amp;gt;sim/checklists/auto&amp;lt;/tt&amp;gt; node.&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;checklists&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;auto&amp;gt;&lt;br /&gt;
      &amp;lt;startup-message&amp;gt;Running checklists, please wait ...&amp;lt;/startup-message&amp;gt;&lt;br /&gt;
      &amp;lt;completed-message&amp;gt;Checklists complete.&amp;lt;/completed-message&amp;gt;&lt;br /&gt;
      &amp;lt;timeout-message&amp;gt;Some checks failed.&amp;lt;/timeout-message&amp;gt;&lt;br /&gt;
      &amp;lt;timeout-sec&amp;gt;10&amp;lt;/timeout-sec&amp;gt;&lt;br /&gt;
      &amp;lt;wait-sec&amp;gt;3&amp;lt;/wait-sec&amp;gt;&lt;br /&gt;
    &amp;lt;auto&amp;gt;&lt;br /&gt;
  &amp;lt;/checklists&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;startup-message&amp;lt;/code&amp;gt; message displayed prior to automated checklist execution&lt;br /&gt;
* &amp;lt;code&amp;gt;completed-message&amp;lt;/code&amp;gt; message displayed on successful completion of the checklist&lt;br /&gt;
* &amp;lt;code&amp;gt;timeout-message&amp;lt;/code&amp;gt; message displayed if checklist execution times out waiting for a checklist condition to be satisfied&lt;br /&gt;
* &amp;lt;code&amp;gt;timeout-sec&amp;lt;/code&amp;gt; if the previous condition is not satisfied within this timeout, the automated execution fails&lt;br /&gt;
* &amp;lt;code&amp;gt;wait-sec&amp;lt;/code&amp;gt; time to wait before re-checking the status of the previous item if its condition is false after running the binding (effectively a polling interval).&lt;br /&gt;
&lt;br /&gt;
Messages are displayed as copilot announcements (by setting &amp;lt;tt&amp;gt;sim/messages/copilot&amp;lt;/tt&amp;gt;). They can be set empty if messages are not required. Note that messages are never displayed for expedited starts.&lt;br /&gt;
&lt;br /&gt;
Care should be taken with the timeout value. This is the timeout for a single item waiting for the previous condition to be satisfied, not the overall timeout for the checklist sequence. If the timeout is set to a large value and conditions cannot be satisfied, the pilot will have to wait a long time for the failure message to appear.&lt;br /&gt;
&lt;br /&gt;
=== Other features and ideas ===&lt;br /&gt;
&lt;br /&gt;
Automated checklist execution is not restricted to autostart and shutdown. If you have an &amp;quot;After Landing&amp;quot; checklist that switches landing lights off, raises flaps and turns taxi lights on, for example, you could assign that to a keyboard shortcut. Rollout and taxi is a busy time on some aircraft and it's often not easy to find the switches and controls necessary to complete this kind of checklist.&lt;br /&gt;
&lt;br /&gt;
To use the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script, pilots need &amp;lt;tt&amp;gt;FGDATA&amp;lt;/tt&amp;gt; v3.5 or greater, otherwise the script will not be available. The availability of automated checklists can be tested by checking whether the &amp;lt;tt&amp;gt;sim/checklists/auto&amp;lt;/tt&amp;gt; node is nil and a suitable indication given to the pilot if it is nil.&lt;br /&gt;
&lt;br /&gt;
For an example of using automated checklists, refer to the [[Lockheed Constellation]], for which the script was originally written.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
the docs for this particular feature are to be found in {{readme file|checklists}}.&lt;br /&gt;
This is also where you can read that the c172p is considered the reference implementation.&lt;br /&gt;
The system itself is located in {{fgdata source|path=gui/dialogs/checklist.xml|line=18|pre=$FG_ROOT|post=(embedded Nasal)}}, but -at least for now- that should not matter to you - unless you want to extend the system to add support for new features (in which case, you'll also want to check out $FG_ROOT/Nasal/checklist.nas).&lt;br /&gt;
Whatever is added to the Nasal code should never be aircraft-specific - aircraft specific stuff needs to be expressed via your own XML files - if something is missing, just extend the Nasal file, or ask for help so that we can post some pointers/snippets.&lt;br /&gt;
&amp;lt;ref&amp;gt; {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=218209#p218209&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Sep 11th, 2014&lt;br /&gt;
  | added   = Sep 11th, 2014&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it would be a good idea to localie any custom Nasal blocks, and instead introduce custom fgcommands using the addcommand() API - basically the reason being that there could be an aircraft-specific API using fgcommands for starting engines, instead of having aircraft-specific &amp;quot;Nasal blobs&amp;quot; in each checklist file. A while ago, this was actually discussed on the devel list, too. In other words, an &amp;quot;fgcommand&amp;quot; (implemented in Nasal) would help better isolate checklists from aircraft specifics.&lt;br /&gt;
&amp;lt;ref&amp;gt; {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=241259#p241259&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Automated Checklist Execution&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = May 1st, 2015&lt;br /&gt;
  | added   = May 1st, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Checklist Generation Language ==&lt;br /&gt;
&lt;br /&gt;
Forum user sanhozay has created a custom language called [https://github.com/sanhozay/CLGen  CLGen] for generating checklists.&lt;br /&gt;
&lt;br /&gt;
The main benefits to be gained from using CLGen are:&lt;br /&gt;
&lt;br /&gt;
* More compact Nasal-like syntax that is easier to work with than XML&lt;br /&gt;
* Re-use of item definitions means source code is around 20-25% of the equivalent hand-written XML&lt;br /&gt;
* PDF and Graphviz DOT views of the checklists to aid prototyping&lt;br /&gt;
* Type checking and code generation means less debugging of checklists in Flightgear&lt;br /&gt;
&lt;br /&gt;
Creating checklists with CLGen can be as simple as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checklist(&amp;quot;Startup&amp;quot;) {&lt;br /&gt;
    check(&amp;quot;Parking Brake&amp;quot;, &amp;quot;ON&amp;quot;);&lt;br /&gt;
    check(&amp;quot;Navigation Lights&amp;quot;, &amp;quot;ON&amp;quot;);&lt;br /&gt;
    check(&amp;quot;Beacon&amp;quot;, &amp;quot;OFF&amp;quot;);&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CLGen supports conditions expressed in Nasal-like syntax, bindings, fgcommands, markers and automated inclusion of copyright headers. It is also possible, with some restrictions, to reverse-engineer existing checklists into CLGen source format and to generate PDF and Graphviz DOT representations of existing checklists.&lt;br /&gt;
&lt;br /&gt;
[[File:CLGen DOT File.png|500px|Example of an image created from CLGen's DOT file output.]]&lt;br /&gt;
[[File:CLGen PDF Output.png|300px|Example of a PDF file created from CLGen.]]&lt;br /&gt;
&lt;br /&gt;
CLGen is written in Java and runs on Mac OS, Linux and Windows platforms with a Java 8 runtime.&lt;br /&gt;
&lt;br /&gt;
For more information, including a step-by-step Wiki tutorial, visit the [https://github.com/sanhozay/CLGen  CLGen project on Github]&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg38325.html Aircraft Checklists] (mailing list)&lt;br /&gt;
* [https://sourceforge.net/p/flightgear/mailman/message/33904555/ Automated Checklist Execution] (mailing list)&lt;br /&gt;
* [https://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=32180&amp;amp;p=310216#p310216 CLGen Release Announcement] (forum)&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Aircraft_checklists&amp;diff=107916</id>
		<title>Aircraft checklists</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Aircraft_checklists&amp;diff=107916"/>
		<updated>2017-05-22T22:53:24Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: Add notes for anyone interested in using sanhozay's CLGen DSL for generating checklist XML files.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{infobox subsystem&lt;br /&gt;
|image =Aircraft Checklists dialog.jpg&lt;br /&gt;
|name = Generic Aircraft Checklists&lt;br /&gt;
|started= 03/2010 &lt;br /&gt;
|description = Centralized checklist management&lt;br /&gt;
|status = Under active development as of 05/2015&lt;br /&gt;
|maintainers = {{usr|Stuart}}&lt;br /&gt;
|developers =  * {{usr|Stuart}}&lt;br /&gt;
* {{usr|Sanhozay}}&lt;br /&gt;
|changelog = * {{Git File History|project=flightgear|sub-project=fgdata|path=/Nasal/checklist.nas}}&lt;br /&gt;
* {{Git File History|project=flightgear|sub-project=fgdata|path=/gui/dialogs/checklist.xml}}&lt;br /&gt;
* {{Git File History|project=flightgear|sub-project=fgdata|path=/Aircraft/Generic/autochecklist.nas}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Startup}}&lt;br /&gt;
{{Checklists}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of version 2.9, [[FlightGear]] can display '''aircraft checklists''' in a standardized way, under Help &amp;gt; Aircraft Checklists. &lt;br /&gt;
&lt;br /&gt;
== Adding checklists ==&lt;br /&gt;
To learn more about creating custom checklists, see {{readme file|checklists}} and the [[Cessna 172P]] as the reference implementation. Increasingly, the [[tutorials]] system is also extended such that it may make use of aircraft checklists.&lt;br /&gt;
&lt;br /&gt;
Checklists are situated under &amp;lt;tt&amp;gt;/sim/checklists&amp;lt;/tt&amp;gt;. As the checklists may be quite long, it is recommended that they are put in a separate file using the following entry in the &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file of the aircraft:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;checklists include=&amp;quot;c172-checklists.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each individual checklist is created under a &amp;lt;checklist&amp;gt; XML tag, with the following sub-properties:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;title&amp;gt;&amp;lt;/code&amp;gt; The name of the checklist&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; One or more pages from the checklist, containing one or more of the following:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; A checklist item, containing&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; The item name, to appear on the left hand side of the checklist&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/code&amp;gt; One or more values, to appear on the right hand side of the checklist. Second and and subsequent &amp;lt;value&amp;gt; tags are displayed underneath each other.  It is recommended that the &amp;lt;value&amp;gt; tags are kept short, to minimize the size of the displayed checklist.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/code&amp;gt; An optional [[Howto:Animate models#Conditions|condition node]] that evaluates when the checklist item is complete. Incomplete checklist items are shown in yellow, while completed items are shown in green.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;marker&amp;gt;&amp;lt;/code&amp;gt; An optional marker node that is used to display a circle around a control when the user clicks a &amp;quot;?&amp;quot; button next to the item.  This contains &amp;lt;x-m&amp;gt;, &amp;lt;y-m&amp;gt;, &amp;lt;z-m&amp;gt; and &amp;lt;scale&amp;gt; sub-elements and uses the [[Tutorials#Marker|tutorial marker]]. Note that this requires the marker model to be included in the aircraft model, as explained in the aforementioned article.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;binding&amp;gt;&amp;lt;/code&amp;gt; Zero or more XML bindings that are used by the simulator to execute the checklist item if the user clicks on a &amp;quot;&amp;gt;&amp;quot; button next to the item.&lt;br /&gt;
&lt;br /&gt;
For simple checklists the &amp;lt;page&amp;gt; element can be omitted and &amp;lt;item&amp;gt; entries placed directly under the &amp;lt;checklist&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The following example shows a simple checklists XML file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;checklist&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;After Landing&amp;lt;/title&amp;gt;  &lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Carburetor Heat&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;COLD&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;condition&amp;gt;&lt;br /&gt;
        &amp;lt;equals&amp;gt;&lt;br /&gt;
          &amp;lt;property&amp;gt;/controls/anti-ice/engine[0]/carb-heat&amp;lt;/property&amp;gt;&lt;br /&gt;
          &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/equals&amp;gt;&lt;br /&gt;
      &amp;lt;/condition&amp;gt;&lt;br /&gt;
      &amp;lt;marker&amp;gt;&lt;br /&gt;
        &amp;lt;x-m&amp;gt;-0.3225&amp;lt;/x-m&amp;gt;&lt;br /&gt;
        &amp;lt;y-m&amp;gt;-0.0850&amp;lt;/y-m&amp;gt;&lt;br /&gt;
        &amp;lt;z-m&amp;gt;-0.2117&amp;lt;/z-m&amp;gt;&lt;br /&gt;
        &amp;lt;scale&amp;gt;2.0500&amp;lt;/scale&amp;gt;&lt;br /&gt;
      &amp;lt;/marker&amp;gt;      &lt;br /&gt;
      &amp;lt;binding&amp;gt;&lt;br /&gt;
        &amp;lt;command&amp;gt;property-assign&amp;lt;/command&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Wing Flaps&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;UP&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/checklist&amp;gt;&lt;br /&gt;
  &amp;lt;checklist&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Getting hamburger&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;page&amp;gt;&lt;br /&gt;
      &amp;lt;item&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
      &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
  &amp;lt;/checklist&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the Cessna 172P for an example of how this all fits together.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
[[File:C172p-checklist-via-pui.png|thumb|FlightGear [[Aircraft Checklists]] [[PUI]] dialog]]&lt;br /&gt;
One or more [[Bindings|binding elements]] can be added to a checklist item. Conceptually, these are the actions that the user should execute to complete the item. The checklist GUI displays items with such &amp;lt;binding&amp;gt; elements with an additional [&amp;gt;] button.  Clicking on the button executes the bindings, allowing the user to watch as the computer/co-pilot/instructor executes the checklist item.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;binding&amp;gt; element is exactly as you would expect - so property-assign, nasal etc. works.&lt;br /&gt;
&lt;br /&gt;
The plan is to extend this function so that checklists with one or more items containing a &amp;lt;binding&amp;gt; element can have an (optional) button&lt;br /&gt;
to execute the entire checklist.&lt;br /&gt;
&lt;br /&gt;
== Reloading checklists ==&lt;br /&gt;
Cut and paste this little code snippet in the [[Nasal Console]] and excecute it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var reload_checklist = func(filename) {&lt;br /&gt;
var checklist_path=sprintf(&amp;quot;%s/%s&amp;quot;,getprop(&amp;quot;/sim/aircraft-dir&amp;quot;),filename);&lt;br /&gt;
var data = io.read_properties(checklist_path,&amp;quot;/sim/checklists&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
reload_checklist(filename: &amp;quot;777-200-checklists.xml&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the filename to the name of the file you are editing. Make sure to monitor the startup window and/or the [[Nasal Console]] loglist widget for any XML related warnings (e.g. parsing errors).&lt;br /&gt;
&lt;br /&gt;
== Automated checklist execution ==&lt;br /&gt;
&lt;br /&gt;
As of version 3.5, [[FlightGear]] can automate the execution of various sequences of aircraft checklists using the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script in &amp;lt;tt&amp;gt;$FGDATA/Aircraft/Generic&amp;lt;/tt&amp;gt;. The advantage of this approach is that the checklist files become the source of checklists, tutorials and autostart; if the checklists change, so does the autostart (see {{Wikipedia|Don't repeat yourself}}). &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script can be used to create an autostart menu but is not restricted to autostart; any checklist sequence can be run from any piece of Nasal code.&lt;br /&gt;
&lt;br /&gt;
Automated checklists may not work for more complex aircraft startup sequences, but they are so easy to set up that it's worth trying alongside the development of the aircraft startup process. If it works, great! If it doesn't, you haven't wasted your time because you have at least made a start on your checklists.&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script relies on the aircraft having a set of checklists that have complete sets of [[Bindings|bindings]] to take the aircraft from one state to another. For autostart, for example, you need to be able to start the aircraft solely by pressing the binding buttons on the right side of the checklist.&lt;br /&gt;
&lt;br /&gt;
Using the script is a simple three step process involving a few lines of XML and as little as one line of [[Nasal]] code:&lt;br /&gt;
&lt;br /&gt;
# Add the script to your aircraft&lt;br /&gt;
# Define one or more named checklist sequences&lt;br /&gt;
# Call the script to execute a checklist sequence &lt;br /&gt;
&lt;br /&gt;
For example, you could define a sequence called &amp;quot;startup&amp;quot; that runs the sequence of checklists: &amp;quot;Before Starting Engines&amp;quot; and &amp;quot;Start Engines&amp;quot;. Calling the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script from a menu item binding with &amp;quot;startup&amp;quot; as the argument creates an autostart menu.&lt;br /&gt;
&lt;br /&gt;
When you invoke the &amp;lt;tt&amp;gt;autochecklist&amp;lt;/tt&amp;gt; script, it executes the checklists defined in the named sequence in the order that they are listed. Starting with the first item in the first checklist, it checks the {{readme file|conditions}} associated with the checklist item. If false, it runs the binding. It then moves onto the next item and checks if the condition from the previous item has been satisfied. If it is still false, it waits for a number of seconds -- maybe the binding was interpolated or the condition is waiting for something to start, e.g. APU spooling up. Once the condition from the previous item is satisfied, it looks at the condition on the current item and runs the binding if the condition is false. Execution continues like this until all checklist items have their bindings satisfied.&lt;br /&gt;
&lt;br /&gt;
In some cases, e.g. checks on maximum takeoff weight, bindings will never cause the condition to be satisfied. To cover these cases, the script will consider the checklist to have failed if the condition associated with a checklist item does not become true within a timeout period. In these cases, the pilot needs to review the checklist manually and work out why the aircraft will not start. Once the condition has been corrected, e.g. they removed some fuel or payload to get below MTOW, the checklists can be executed again and should be successful. Because the script checks the condition of each item before running the binding, the automated execution is re-entrant; it just picks up where it left off and does only what needs to be done.&lt;br /&gt;
&lt;br /&gt;
=== Add the script ===&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; to the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file (or equivalent):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;nasal&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;autochecklist&amp;gt;&lt;br /&gt;
    &amp;lt;file&amp;gt;Aircraft/Generic/autochecklist.nas&amp;lt;/file&amp;gt;&lt;br /&gt;
  &amp;lt;/autochecklist&amp;gt;&lt;br /&gt;
&amp;lt;/nasal&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Define checklist sequences ===&lt;br /&gt;
&lt;br /&gt;
In the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file, create one or more named checklist sequences that specify ordered lists of checklists to execute. The names can be anything you like as long as they are valid XML tags. The names are never displayed within the simulator.&lt;br /&gt;
&lt;br /&gt;
For example, to run checklists with indexes 0 and 1 for startup and checklist 9 for shutdown:&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;checklists&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/before-starting-engines.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/start-engines.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other checklists here with indexes 2 to 8 ... --&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/parking.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;startup&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;0&amp;quot;&amp;gt;0&amp;lt;/index&amp;gt; &amp;lt;!-- Before starting engines --&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;1&amp;quot;&amp;gt;1&amp;lt;/index&amp;gt; &amp;lt;!-- Start engines --&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
    &amp;lt;shutdown&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;0&amp;quot;&amp;gt;9&amp;lt;/index&amp;gt; &amp;lt;!-- Parking --&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
  &amp;lt;/checklists&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Execute the checklist sequence ===&lt;br /&gt;
&lt;br /&gt;
For the typical usage of autostart, add a Nasal binding as a menu item and execute the named checklist sequence:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;item&amp;gt;&lt;br /&gt;
  &amp;lt;label&amp;gt;Autostart&amp;lt;/label&amp;gt;&lt;br /&gt;
  &amp;lt;binding&amp;gt;&lt;br /&gt;
    &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;autochecklist.complete_checklists(&amp;quot;startup&amp;quot;);&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/binding&amp;gt;&lt;br /&gt;
&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously, additional logic can be included in the binding if you want the autostart menu to toggle between autostart and shutdown.&lt;br /&gt;
&lt;br /&gt;
==== Fine tuning checklist bindings ====&lt;br /&gt;
&lt;br /&gt;
Sometimes, a checklist binding will do something like display a dialog, e.g. fuel and payload dialog. It would be irritating to the pilot if these things happened during automated execution. These bindings can make use of the &amp;lt;code&amp;gt;sim/checklists/auto/active&amp;lt;/code&amp;gt; property, which will be &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; when the checklist binding is being run by the autochecklist script and &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;binding&amp;gt;&lt;br /&gt;
  &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    var auto = getprop(&amp;quot;sim/checklists/auto/active&amp;quot;);&lt;br /&gt;
    if (!auto) gui.showWeightDialog();&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/binding&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Expedited checklists ====&lt;br /&gt;
&lt;br /&gt;
For in-air start sequences in some aircraft, you can pass zero as the second argument of the &amp;lt;tt&amp;gt;complete_checklists&amp;lt;/tt&amp;gt; function to expedite the sequence. All items in the checklist sequence will be executed without waiting for previous items to complete. Note that this means the checklist sequence is never considered to have failed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
if (!getprop(&amp;quot;gear/gear/wow&amp;quot;)) {&lt;br /&gt;
     autochecklist.complete_checklists(sequence: &amp;quot;in-air-start&amp;quot;, wait: 0);&lt;br /&gt;
} else {&lt;br /&gt;
     autochecklist.complete_checklists(&amp;quot;ground-start&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clearly the checklist sequence used for in-air start should be different from a ground start and should put the aircraft into a flying state, e.g. gear up, flaps up. Bindings can use the property &amp;lt;code&amp;gt;sim/checklists/auto/expedited&amp;lt;/code&amp;gt; to check if the execution is expedited, i.e. there is no wait between items. Note that the expedited flag does not in itself indicate whether a binding is being run as part of an automated checklist. You may need to test both the &amp;lt;code&amp;gt;sim/checklists/auto/active&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sim/checklists/auto/expedited&amp;lt;/code&amp;gt; properties, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var auto = getprop(&amp;quot;sim/checklists/auto/active&amp;quot;);&lt;br /&gt;
var expedited = getprop(&amp;quot;sim/checklists/auto/expedited&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (auto and expedited) {&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Customizing execution (optional) ===&lt;br /&gt;
&lt;br /&gt;
The behavior of the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script can be customized by setting properties, either in the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file or at runtime. Configuration is under the &amp;lt;tt&amp;gt;sim/checklists/auto&amp;lt;/tt&amp;gt; node.&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;checklists&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;auto&amp;gt;&lt;br /&gt;
      &amp;lt;startup-message&amp;gt;Running checklists, please wait ...&amp;lt;/startup-message&amp;gt;&lt;br /&gt;
      &amp;lt;completed-message&amp;gt;Checklists complete.&amp;lt;/completed-message&amp;gt;&lt;br /&gt;
      &amp;lt;timeout-message&amp;gt;Some checks failed.&amp;lt;/timeout-message&amp;gt;&lt;br /&gt;
      &amp;lt;timeout-sec&amp;gt;10&amp;lt;/timeout-sec&amp;gt;&lt;br /&gt;
      &amp;lt;wait-sec&amp;gt;3&amp;lt;/wait-sec&amp;gt;&lt;br /&gt;
    &amp;lt;auto&amp;gt;&lt;br /&gt;
  &amp;lt;/checklists&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;startup-message&amp;lt;/code&amp;gt; message displayed prior to automated checklist execution&lt;br /&gt;
* &amp;lt;code&amp;gt;completed-message&amp;lt;/code&amp;gt; message displayed on successful completion of the checklist&lt;br /&gt;
* &amp;lt;code&amp;gt;timeout-message&amp;lt;/code&amp;gt; message displayed if checklist execution times out waiting for a checklist condition to be satisfied&lt;br /&gt;
* &amp;lt;code&amp;gt;timeout-sec&amp;lt;/code&amp;gt; if the previous condition is not satisfied within this timeout, the automated execution fails&lt;br /&gt;
* &amp;lt;code&amp;gt;wait-sec&amp;lt;/code&amp;gt; time to wait before re-checking the status of the previous item if its condition is false after running the binding (effectively a polling interval).&lt;br /&gt;
&lt;br /&gt;
Messages are displayed as copilot announcements (by setting &amp;lt;tt&amp;gt;sim/messages/copilot&amp;lt;/tt&amp;gt;). They can be set empty if messages are not required. Note that messages are never displayed for expedited starts.&lt;br /&gt;
&lt;br /&gt;
Care should be taken with the timeout value. This is the timeout for a single item waiting for the previous condition to be satisfied, not the overall timeout for the checklist sequence. If the timeout is set to a large value and conditions cannot be satisfied, the pilot will have to wait a long time for the failure message to appear.&lt;br /&gt;
&lt;br /&gt;
=== Other features and ideas ===&lt;br /&gt;
&lt;br /&gt;
Automated checklist execution is not restricted to autostart and shutdown. If you have an &amp;quot;After Landing&amp;quot; checklist that switches landing lights off, raises flaps and turns taxi lights on, for example, you could assign that to a keyboard shortcut. Rollout and taxi is a busy time on some aircraft and it's often not easy to find the switches and controls necessary to complete this kind of checklist.&lt;br /&gt;
&lt;br /&gt;
To use the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script, pilots need &amp;lt;tt&amp;gt;FGDATA&amp;lt;/tt&amp;gt; v3.5 or greater, otherwise the script will not be available. The availability of automated checklists can be tested by checking whether the &amp;lt;tt&amp;gt;sim/checklists/auto&amp;lt;/tt&amp;gt; node is nil and a suitable indication given to the pilot if it is nil.&lt;br /&gt;
&lt;br /&gt;
For an example of using automated checklists, refer to the [[Lockheed Constellation]], for which the script was originally written.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
the docs for this particular feature are to be found in {{readme file|checklists}}.&lt;br /&gt;
This is also where you can read that the c172p is considered the reference implementation.&lt;br /&gt;
The system itself is located in {{fgdata source|path=gui/dialogs/checklist.xml|line=18|pre=$FG_ROOT|post=(embedded Nasal)}}, but -at least for now- that should not matter to you - unless you want to extend the system to add support for new features (in which case, you'll also want to check out $FG_ROOT/Nasal/checklist.nas).&lt;br /&gt;
Whatever is added to the Nasal code should never be aircraft-specific - aircraft specific stuff needs to be expressed via your own XML files - if something is missing, just extend the Nasal file, or ask for help so that we can post some pointers/snippets.&lt;br /&gt;
&amp;lt;ref&amp;gt; {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=218209#p218209&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Sep 11th, 2014&lt;br /&gt;
  | added   = Sep 11th, 2014&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it would be a good idea to localie any custom Nasal blocks, and instead introduce custom fgcommands using the addcommand() API - basically the reason being that there could be an aircraft-specific API using fgcommands for starting engines, instead of having aircraft-specific &amp;quot;Nasal blobs&amp;quot; in each checklist file. A while ago, this was actually discussed on the devel list, too. In other words, an &amp;quot;fgcommand&amp;quot; (implemented in Nasal) would help better isolate checklists from aircraft specifics.&lt;br /&gt;
&amp;lt;ref&amp;gt; {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=241259#p241259&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Automated Checklist Execution&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = May 1st, 2015&lt;br /&gt;
  | added   = May 1st, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Checklist Generation Language ==&lt;br /&gt;
&lt;br /&gt;
Forum user sanhozay has created a custom language called [https://github.com/sanhozay/CLGen  CLGen] for generating checklists.&lt;br /&gt;
&lt;br /&gt;
The main benefits to be gained from using CLGen are:&lt;br /&gt;
&lt;br /&gt;
* More compact Nasal-like syntax that is easier to work with than XML&lt;br /&gt;
* Re-use of item definitions means source code is around 20-25% of the equivalent hand-written XML&lt;br /&gt;
* PDF and Graphviz DOT views of the checklists to aid prototyping&lt;br /&gt;
* Type checking and code generation means less debugging of checklists in Flightgear&lt;br /&gt;
&lt;br /&gt;
Creating checklists with CLGen can be as simple as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
checklist(&amp;quot;Startup&amp;quot;) {&lt;br /&gt;
    check(&amp;quot;Parking Brake&amp;quot;, &amp;quot;ON&amp;quot;);&lt;br /&gt;
    check(&amp;quot;Navigation Lights&amp;quot;, &amp;quot;ON&amp;quot;);&lt;br /&gt;
    check(&amp;quot;Beacon&amp;quot;, &amp;quot;OFF&amp;quot;);&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CLGen supports conditions expressed in Nasal-like syntax, bindings, fgcommands, markers and automated inclusion of copyright headers. It is also possible, with some restrictions, to reverse-engineer existing checklists into CLGen source format and to generate PDF and Graphviz DOT representations of existing checklists.&lt;br /&gt;
&lt;br /&gt;
[[File:CLGen DOT File.png|500px|Example of an image created from CLGen's DOT file output.]]&lt;br /&gt;
[[File:CLGen PDF Output.png|300px|Example of a PDF file created from CLGen.]]&lt;br /&gt;
&lt;br /&gt;
CLGen is written in Java and runs on Mac OS, Linux and Windows platforms with a Java 8 runtime.&lt;br /&gt;
&lt;br /&gt;
For more information, including a step-by-step Wiki tutorial, visit the [https://github.com/sanhozay/CLGen  CLGen project on Github]&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg38325.html Aircraft Checklists] (mailing list)&lt;br /&gt;
* [https://sourceforge.net/p/flightgear/mailman/message/33904555/ Automated Checklist Execution] (mailing list)&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=File:CLGen_PDF_Output.png&amp;diff=107915</id>
		<title>File:CLGen PDF Output.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=File:CLGen_PDF_Output.png&amp;diff=107915"/>
		<updated>2017-05-22T22:40:09Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: User created page with UploadWizard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{int:filedesc}}==&lt;br /&gt;
{{Information&lt;br /&gt;
|description={{en|1=Example of a PDF file created from CLGen.}}&lt;br /&gt;
|date=2017-05-22&lt;br /&gt;
|source={{own}}&lt;br /&gt;
|author=[[User:Sanhozay|Sanhozay]]&lt;br /&gt;
|permission=&lt;br /&gt;
|other versions=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=={{int:license-header}}==&lt;br /&gt;
{{self|cc-by-sa-4.0}}&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=File:CLGen_DOT_File.png&amp;diff=107914</id>
		<title>File:CLGen DOT File.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=File:CLGen_DOT_File.png&amp;diff=107914"/>
		<updated>2017-05-22T22:37:53Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: User created page with UploadWizard&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=={{int:filedesc}}==&lt;br /&gt;
{{Information&lt;br /&gt;
|description={{en|1=Example of an image created from CLGen's DOT file output.}}&lt;br /&gt;
|date=2017-05-22&lt;br /&gt;
|source={{own}}&lt;br /&gt;
|author=[[User:Sanhozay|Sanhozay]]&lt;br /&gt;
|permission=&lt;br /&gt;
|other versions=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=={{int:license-header}}==&lt;br /&gt;
{{self|cc-by-sa-4.0}}&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=User:Sanhozay&amp;diff=107913</id>
		<title>User:Sanhozay</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=User:Sanhozay&amp;diff=107913"/>
		<updated>2017-05-22T22:24:16Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User ==&lt;br /&gt;
&lt;br /&gt;
=== Favourite Airports ===&lt;br /&gt;
&lt;br /&gt;
Some of my more obscure favourite airports ...&lt;br /&gt;
&lt;br /&gt;
==== [http://skyvector.com/airport/LDDU/Dubrovnik-Cilipi-Airport Dubrovnic, Croatia] ====&lt;br /&gt;
&lt;br /&gt;
Dubrovnic Cilipi airport is set on a coastal hill, separated from Dubrovnic by a bay. The airport is 527ft above sea level and landing on it is a little like landing on a table top. Approaches along the coastline in either direction are attractive, with mountain ranges and small islands along the way.&lt;br /&gt;
&lt;br /&gt;
Recommended aircraft: At 10827ft, the runway will take anything but to appreciate the scenery, low and slow is preferable. Try flying from Venice (LIPZ) or Split (LDZD from the north, or Ohrid (LOWH) or Athens (LGAV) from the south.&lt;br /&gt;
&lt;br /&gt;
==== [http://skyvector.com/airport/BIIS/Isafjordur-Airport Isafjordur, Iceland] ====&lt;br /&gt;
&lt;br /&gt;
The approach to this small airport, set in a fjord in the north-west of Iceland, is nothing short of spectacular. The most exciting approach is runway 26, which involves skirting the northern flanks of the fjord, then timing a 180° left turn over a spur running from a mountain at the end of the fjord to arrive at the threshold. Runway 08 might not be quite so spectacular but is still not straightforward; skirt the southern flanks of the fjord and approach the threshold at an angle with a late turn to line up.&lt;br /&gt;
&lt;br /&gt;
Isafjordur is about 120nm north of Reykjavik which makes for a pleasant trip of less than an hour, and lots of opportunities to practice NDB navigation.&lt;br /&gt;
&lt;br /&gt;
Recommended aircraft: any small to medium-sized propeller aircraft, e.g. Douglas DC3, De Havilland DHC2, De Havilland DHC6, Fokker 50.&lt;br /&gt;
&lt;br /&gt;
=== Classic Routes ===&lt;br /&gt;
&lt;br /&gt;
==== [http://skyvector.com/?ll=26.64144415704356,99.96775819628236&amp;amp;chart=301&amp;amp;zoom=3&amp;amp;plan=A.VE.VECA:N.VY.PT:A.ZP.ZPLJ:A.ZP.ZPPP The Hump] ====&lt;br /&gt;
&lt;br /&gt;
The Hump was a famous supply route from Assam, India to Kunming, China during WWII. This is my best approximation of the route from historical maps but note that the pilots who flew it didn't have the benefit of the NDBs. It was an extremely hazardous route, mostly due to weather conditions, with almost 600 aircraft lost attempting to fly it.&lt;br /&gt;
&lt;br /&gt;
Recommended aircraft: Douglas DC3/C47 (3h). Advanced weather, turbulence on full. Snowline set less than 4000m.&lt;br /&gt;
&lt;br /&gt;
==== [http://skyvector.com/?ll=53.21803962665041,11.393646252216126&amp;amp;chart=301&amp;amp;zoom=5&amp;amp;plan=A.ED.EDHL:N.ED.LYE:F.ED.RARUP:V.ED.BKD:G.52.66888759567344,12.757598889020937:N.ED.RW:A.ED.EDDT:N.ED.RW:N.ED.BRU:A.ED.EDHG:V.ED.HAM:A.ED.EDHL Berlin Airlift (British Sector)] ====&lt;br /&gt;
&lt;br /&gt;
This is my best approximation of the Berlin airlift route flown from the British sector and, from a navigational point of view is more interesting than the US sector route below.&lt;br /&gt;
&lt;br /&gt;
Notes: depart visual south to Mölln before turning left on a track of 137° to Brunkendorf. Turn left on a track of 114° to Tegel West NDB (RW) and make a straight in approach to runway 26 or enter the pattern for runway 08. Remember that there is no go around because of the queue of aircraft behind you. If you miss your approach, you get to fly back to Lubeck! For the return leg, track 261° to the west, turning right to track 354° at Braunschweig. Use dead reconking to identify Luneburg airfield before turning left on a track of 340° to Hamburg VOR (HAM). A right turn onto 067° returns you in line with runway 07 at Lubeck. If the wind dictates runway 25, enter the pattern to land.&lt;br /&gt;
&lt;br /&gt;
Recommended aircraft: Douglas DC3/C47 (2h), Lockheed Constellation (1h15). For realism, use VORs as NDBs, i.e. ignore the CDI.&lt;br /&gt;
==== [http://skyvector.com/?ll=52.01351431726475,11.716918957314629&amp;amp;chart=301&amp;amp;zoom=6&amp;amp;plan=A.ED.ETOU:V.ED.VFM:V.ED.CHA:V.ED.FUL:N.ED.MW:A.ED.EDDB:N.ED.MW:N.ED.DLE:N.ED.FTZ:A.ED.ETOU Berlin Airlift (US Sector)] ====&lt;br /&gt;
&lt;br /&gt;
This US sector route is less interesting than the British sector route, only because it contains longer straight sections.&lt;br /&gt;
&lt;br /&gt;
Notes: Depart Wiesbaden direct Mauhelm VOR (VFM) and then direct to Charlie VOR (CHA). Turn left on a track of 026° to Fulda VOR (FUL). Turn right on a track of 052° to Berlin NDB (MW) and make a straight in approach to runway 07 or enter the pattern for runway 25. Return to the west on a track of 267° to Leine NDB (DLE) and turn left on a track of 195° to Fritzlar NDB (FTZ). Follow a track of 212° to Wiesbaden NDB (WBD) and enter the pattern to land.&lt;br /&gt;
&lt;br /&gt;
Recommended Aircraft: Lockheed Constellation (2h).&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=User:Sanhozay&amp;diff=107912</id>
		<title>User:Sanhozay</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=User:Sanhozay&amp;diff=107912"/>
		<updated>2017-05-22T22:23:53Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User ==&lt;br /&gt;
&lt;br /&gt;
=== Favourite Aircraft ===&lt;br /&gt;
&lt;br /&gt;
=== Favourite Airports ===&lt;br /&gt;
&lt;br /&gt;
Some of my more obscure favourite airports ...&lt;br /&gt;
&lt;br /&gt;
==== [http://skyvector.com/airport/LDDU/Dubrovnik-Cilipi-Airport Dubrovnic, Croatia] ====&lt;br /&gt;
&lt;br /&gt;
Dubrovnic Cilipi airport is set on a coastal hill, separated from Dubrovnic by a bay. The airport is 527ft above sea level and landing on it is a little like landing on a table top. Approaches along the coastline in either direction are attractive, with mountain ranges and small islands along the way.&lt;br /&gt;
&lt;br /&gt;
Recommended aircraft: At 10827ft, the runway will take anything but to appreciate the scenery, low and slow is preferable. Try flying from Venice (LIPZ) or Split (LDZD from the north, or Ohrid (LOWH) or Athens (LGAV) from the south.&lt;br /&gt;
&lt;br /&gt;
==== [http://skyvector.com/airport/BIIS/Isafjordur-Airport Isafjordur, Iceland] ====&lt;br /&gt;
&lt;br /&gt;
The approach to this small airport, set in a fjord in the north-west of Iceland, is nothing short of spectacular. The most exciting approach is runway 26, which involves skirting the northern flanks of the fjord, then timing a 180° left turn over a spur running from a mountain at the end of the fjord to arrive at the threshold. Runway 08 might not be quite so spectacular but is still not straightforward; skirt the southern flanks of the fjord and approach the threshold at an angle with a late turn to line up.&lt;br /&gt;
&lt;br /&gt;
Isafjordur is about 120nm north of Reykjavik which makes for a pleasant trip of less than an hour, and lots of opportunities to practice NDB navigation.&lt;br /&gt;
&lt;br /&gt;
Recommended aircraft: any small to medium-sized propeller aircraft, e.g. Douglas DC3, De Havilland DHC2, De Havilland DHC6, Fokker 50.&lt;br /&gt;
&lt;br /&gt;
=== Classic Routes ===&lt;br /&gt;
&lt;br /&gt;
==== [http://skyvector.com/?ll=26.64144415704356,99.96775819628236&amp;amp;chart=301&amp;amp;zoom=3&amp;amp;plan=A.VE.VECA:N.VY.PT:A.ZP.ZPLJ:A.ZP.ZPPP The Hump] ====&lt;br /&gt;
&lt;br /&gt;
The Hump was a famous supply route from Assam, India to Kunming, China during WWII. This is my best approximation of the route from historical maps but note that the pilots who flew it didn't have the benefit of the NDBs. It was an extremely hazardous route, mostly due to weather conditions, with almost 600 aircraft lost attempting to fly it.&lt;br /&gt;
&lt;br /&gt;
Recommended aircraft: Douglas DC3/C47 (3h). Advanced weather, turbulence on full. Snowline set less than 4000m.&lt;br /&gt;
&lt;br /&gt;
==== [http://skyvector.com/?ll=53.21803962665041,11.393646252216126&amp;amp;chart=301&amp;amp;zoom=5&amp;amp;plan=A.ED.EDHL:N.ED.LYE:F.ED.RARUP:V.ED.BKD:G.52.66888759567344,12.757598889020937:N.ED.RW:A.ED.EDDT:N.ED.RW:N.ED.BRU:A.ED.EDHG:V.ED.HAM:A.ED.EDHL Berlin Airlift (British Sector)] ====&lt;br /&gt;
&lt;br /&gt;
This is my best approximation of the Berlin airlift route flown from the British sector and, from a navigational point of view is more interesting than the US sector route below.&lt;br /&gt;
&lt;br /&gt;
Notes: depart visual south to Mölln before turning left on a track of 137° to Brunkendorf. Turn left on a track of 114° to Tegel West NDB (RW) and make a straight in approach to runway 26 or enter the pattern for runway 08. Remember that there is no go around because of the queue of aircraft behind you. If you miss your approach, you get to fly back to Lubeck! For the return leg, track 261° to the west, turning right to track 354° at Braunschweig. Use dead reconking to identify Luneburg airfield before turning left on a track of 340° to Hamburg VOR (HAM). A right turn onto 067° returns you in line with runway 07 at Lubeck. If the wind dictates runway 25, enter the pattern to land.&lt;br /&gt;
&lt;br /&gt;
Recommended aircraft: Douglas DC3/C47 (2h), Lockheed Constellation (1h15). For realism, use VORs as NDBs, i.e. ignore the CDI.&lt;br /&gt;
==== [http://skyvector.com/?ll=52.01351431726475,11.716918957314629&amp;amp;chart=301&amp;amp;zoom=6&amp;amp;plan=A.ED.ETOU:V.ED.VFM:V.ED.CHA:V.ED.FUL:N.ED.MW:A.ED.EDDB:N.ED.MW:N.ED.DLE:N.ED.FTZ:A.ED.ETOU Berlin Airlift (US Sector)] ====&lt;br /&gt;
&lt;br /&gt;
This US sector route is less interesting than the British sector route, only because it contains longer straight sections.&lt;br /&gt;
&lt;br /&gt;
Notes: Depart Wiesbaden direct Mauhelm VOR (VFM) and then direct to Charlie VOR (CHA). Turn left on a track of 026° to Fulda VOR (FUL). Turn right on a track of 052° to Berlin NDB (MW) and make a straight in approach to runway 07 or enter the pattern for runway 25. Return to the west on a track of 267° to Leine NDB (DLE) and turn left on a track of 195° to Fritzlar NDB (FTZ). Follow a track of 212° to Wiesbaden NDB (WBD) and enter the pattern to land.&lt;br /&gt;
&lt;br /&gt;
Recommended Aircraft: Lockheed Constellation (2h).&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Aircraft_checklists&amp;diff=107911</id>
		<title>Aircraft checklists</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Aircraft_checklists&amp;diff=107911"/>
		<updated>2017-05-22T22:22:30Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{infobox subsystem&lt;br /&gt;
|image =Aircraft Checklists dialog.jpg&lt;br /&gt;
|name = Generic Aircraft Checklists&lt;br /&gt;
|started= 03/2010 &lt;br /&gt;
|description = Centralized checklist management&lt;br /&gt;
|status = Under active development as of 05/2015&lt;br /&gt;
|maintainers = {{usr|Stuart}}&lt;br /&gt;
|developers =  * {{usr|Stuart}}&lt;br /&gt;
* {{usr|Sanhozay}}&lt;br /&gt;
|changelog = * {{Git File History|project=flightgear|sub-project=fgdata|path=/Nasal/checklist.nas}}&lt;br /&gt;
* {{Git File History|project=flightgear|sub-project=fgdata|path=/gui/dialogs/checklist.xml}}&lt;br /&gt;
* {{Git File History|project=flightgear|sub-project=fgdata|path=/Aircraft/Generic/autochecklist.nas}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Startup}}&lt;br /&gt;
{{Checklists}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of version 2.9, [[FlightGear]] can display '''aircraft checklists''' in a standardized way, under Help &amp;gt; Aircraft Checklists. &lt;br /&gt;
&lt;br /&gt;
== Adding checklists ==&lt;br /&gt;
To learn more about creating custom checklists, see {{readme file|checklists}} and the [[Cessna 172P]] as the reference implementation. Increasingly, the [[tutorials]] system is also extended such that it may make use of aircraft checklists.&lt;br /&gt;
&lt;br /&gt;
Checklists are situated under &amp;lt;tt&amp;gt;/sim/checklists&amp;lt;/tt&amp;gt;. As the checklists may be quite long, it is recommended that they are put in a separate file using the following entry in the &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file of the aircraft:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;checklists include=&amp;quot;c172-checklists.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each individual checklist is created under a &amp;lt;checklist&amp;gt; XML tag, with the following sub-properties:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;title&amp;gt;&amp;lt;/code&amp;gt; The name of the checklist&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; One or more pages from the checklist, containing one or more of the following:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; A checklist item, containing&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; The item name, to appear on the left hand side of the checklist&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/code&amp;gt; One or more values, to appear on the right hand side of the checklist. Second and and subsequent &amp;lt;value&amp;gt; tags are displayed underneath each other.  It is recommended that the &amp;lt;value&amp;gt; tags are kept short, to minimize the size of the displayed checklist.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/code&amp;gt; An optional [[Howto:Animate models#Conditions|condition node]] that evaluates when the checklist item is complete. Incomplete checklist items are shown in yellow, while completed items are shown in green.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;marker&amp;gt;&amp;lt;/code&amp;gt; An optional marker node that is used to display a circle around a control when the user clicks a &amp;quot;?&amp;quot; button next to the item.  This contains &amp;lt;x-m&amp;gt;, &amp;lt;y-m&amp;gt;, &amp;lt;z-m&amp;gt; and &amp;lt;scale&amp;gt; sub-elements and uses the [[Tutorials#Marker|tutorial marker]]. Note that this requires the marker model to be included in the aircraft model, as explained in the aforementioned article.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;binding&amp;gt;&amp;lt;/code&amp;gt; Zero or more XML bindings that are used by the simulator to execute the checklist item if the user clicks on a &amp;quot;&amp;gt;&amp;quot; button next to the item.&lt;br /&gt;
&lt;br /&gt;
For simple checklists the &amp;lt;page&amp;gt; element can be omitted and &amp;lt;item&amp;gt; entries placed directly under the &amp;lt;checklist&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The following example shows a simple checklists XML file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;checklist&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;After Landing&amp;lt;/title&amp;gt;  &lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Carburetor Heat&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;COLD&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;condition&amp;gt;&lt;br /&gt;
        &amp;lt;equals&amp;gt;&lt;br /&gt;
          &amp;lt;property&amp;gt;/controls/anti-ice/engine[0]/carb-heat&amp;lt;/property&amp;gt;&lt;br /&gt;
          &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/equals&amp;gt;&lt;br /&gt;
      &amp;lt;/condition&amp;gt;&lt;br /&gt;
      &amp;lt;marker&amp;gt;&lt;br /&gt;
        &amp;lt;x-m&amp;gt;-0.3225&amp;lt;/x-m&amp;gt;&lt;br /&gt;
        &amp;lt;y-m&amp;gt;-0.0850&amp;lt;/y-m&amp;gt;&lt;br /&gt;
        &amp;lt;z-m&amp;gt;-0.2117&amp;lt;/z-m&amp;gt;&lt;br /&gt;
        &amp;lt;scale&amp;gt;2.0500&amp;lt;/scale&amp;gt;&lt;br /&gt;
      &amp;lt;/marker&amp;gt;      &lt;br /&gt;
      &amp;lt;binding&amp;gt;&lt;br /&gt;
        &amp;lt;command&amp;gt;property-assign&amp;lt;/command&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Wing Flaps&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;UP&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/checklist&amp;gt;&lt;br /&gt;
  &amp;lt;checklist&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Getting hamburger&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;page&amp;gt;&lt;br /&gt;
      &amp;lt;item&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
      &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
  &amp;lt;/checklist&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the Cessna 172P for an example of how this all fits together.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
[[File:C172p-checklist-via-pui.png|thumb|FlightGear [[Aircraft Checklists]] [[PUI]] dialog]]&lt;br /&gt;
One or more [[Bindings|binding elements]] can be added to a checklist item. Conceptually, these are the actions that the user should execute to complete the item. The checklist GUI displays items with such &amp;lt;binding&amp;gt; elements with an additional [&amp;gt;] button.  Clicking on the button executes the bindings, allowing the user to watch as the computer/co-pilot/instructor executes the checklist item.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;binding&amp;gt; element is exactly as you would expect - so property-assign, nasal etc. works.&lt;br /&gt;
&lt;br /&gt;
The plan is to extend this function so that checklists with one or more items containing a &amp;lt;binding&amp;gt; element can have an (optional) button&lt;br /&gt;
to execute the entire checklist.&lt;br /&gt;
&lt;br /&gt;
== Reloading checklists ==&lt;br /&gt;
Cut and paste this little code snippet in the [[Nasal Console]] and excecute it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var reload_checklist = func(filename) {&lt;br /&gt;
var checklist_path=sprintf(&amp;quot;%s/%s&amp;quot;,getprop(&amp;quot;/sim/aircraft-dir&amp;quot;),filename);&lt;br /&gt;
var data = io.read_properties(checklist_path,&amp;quot;/sim/checklists&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
reload_checklist(filename: &amp;quot;777-200-checklists.xml&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the filename to the name of the file you are editing. Make sure to monitor the startup window and/or the [[Nasal Console]] loglist widget for any XML related warnings (e.g. parsing errors).&lt;br /&gt;
&lt;br /&gt;
== Automated checklist execution ==&lt;br /&gt;
&lt;br /&gt;
As of version 3.5, [[FlightGear]] can automate the execution of various sequences of aircraft checklists using the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script in &amp;lt;tt&amp;gt;$FGDATA/Aircraft/Generic&amp;lt;/tt&amp;gt;. The advantage of this approach is that the checklist files become the source of checklists, tutorials and autostart; if the checklists change, so does the autostart (see {{Wikipedia|Don't repeat yourself}}). &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script can be used to create an autostart menu but is not restricted to autostart; any checklist sequence can be run from any piece of Nasal code.&lt;br /&gt;
&lt;br /&gt;
Automated checklists may not work for more complex aircraft startup sequences, but they are so easy to set up that it's worth trying alongside the development of the aircraft startup process. If it works, great! If it doesn't, you haven't wasted your time because you have at least made a start on your checklists.&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script relies on the aircraft having a set of checklists that have complete sets of [[Bindings|bindings]] to take the aircraft from one state to another. For autostart, for example, you need to be able to start the aircraft solely by pressing the binding buttons on the right side of the checklist.&lt;br /&gt;
&lt;br /&gt;
Using the script is a simple three step process involving a few lines of XML and as little as one line of [[Nasal]] code:&lt;br /&gt;
&lt;br /&gt;
# Add the script to your aircraft&lt;br /&gt;
# Define one or more named checklist sequences&lt;br /&gt;
# Call the script to execute a checklist sequence &lt;br /&gt;
&lt;br /&gt;
For example, you could define a sequence called &amp;quot;startup&amp;quot; that runs the sequence of checklists: &amp;quot;Before Starting Engines&amp;quot; and &amp;quot;Start Engines&amp;quot;. Calling the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script from a menu item binding with &amp;quot;startup&amp;quot; as the argument creates an autostart menu.&lt;br /&gt;
&lt;br /&gt;
When you invoke the &amp;lt;tt&amp;gt;autochecklist&amp;lt;/tt&amp;gt; script, it executes the checklists defined in the named sequence in the order that they are listed. Starting with the first item in the first checklist, it checks the {{readme file|conditions}} associated with the checklist item. If false, it runs the binding. It then moves onto the next item and checks if the condition from the previous item has been satisfied. If it is still false, it waits for a number of seconds -- maybe the binding was interpolated or the condition is waiting for something to start, e.g. APU spooling up. Once the condition from the previous item is satisfied, it looks at the condition on the current item and runs the binding if the condition is false. Execution continues like this until all checklist items have their bindings satisfied.&lt;br /&gt;
&lt;br /&gt;
In some cases, e.g. checks on maximum takeoff weight, bindings will never cause the condition to be satisfied. To cover these cases, the script will consider the checklist to have failed if the condition associated with a checklist item does not become true within a timeout period. In these cases, the pilot needs to review the checklist manually and work out why the aircraft will not start. Once the condition has been corrected, e.g. they removed some fuel or payload to get below MTOW, the checklists can be executed again and should be successful. Because the script checks the condition of each item before running the binding, the automated execution is re-entrant; it just picks up where it left off and does only what needs to be done.&lt;br /&gt;
&lt;br /&gt;
=== Add the script ===&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; to the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file (or equivalent):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;nasal&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;autochecklist&amp;gt;&lt;br /&gt;
    &amp;lt;file&amp;gt;Aircraft/Generic/autochecklist.nas&amp;lt;/file&amp;gt;&lt;br /&gt;
  &amp;lt;/autochecklist&amp;gt;&lt;br /&gt;
&amp;lt;/nasal&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Define checklist sequences ===&lt;br /&gt;
&lt;br /&gt;
In the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file, create one or more named checklist sequences that specify ordered lists of checklists to execute. The names can be anything you like as long as they are valid XML tags. The names are never displayed within the simulator.&lt;br /&gt;
&lt;br /&gt;
For example, to run checklists with indexes 0 and 1 for startup and checklist 9 for shutdown:&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;checklists&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/before-starting-engines.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/start-engines.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other checklists here with indexes 2 to 8 ... --&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/parking.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;startup&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;0&amp;quot;&amp;gt;0&amp;lt;/index&amp;gt; &amp;lt;!-- Before starting engines --&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;1&amp;quot;&amp;gt;1&amp;lt;/index&amp;gt; &amp;lt;!-- Start engines --&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
    &amp;lt;shutdown&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;0&amp;quot;&amp;gt;9&amp;lt;/index&amp;gt; &amp;lt;!-- Parking --&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
  &amp;lt;/checklists&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Execute the checklist sequence ===&lt;br /&gt;
&lt;br /&gt;
For the typical usage of autostart, add a Nasal binding as a menu item and execute the named checklist sequence:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;item&amp;gt;&lt;br /&gt;
  &amp;lt;label&amp;gt;Autostart&amp;lt;/label&amp;gt;&lt;br /&gt;
  &amp;lt;binding&amp;gt;&lt;br /&gt;
    &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;autochecklist.complete_checklists(&amp;quot;startup&amp;quot;);&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/binding&amp;gt;&lt;br /&gt;
&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously, additional logic can be included in the binding if you want the autostart menu to toggle between autostart and shutdown.&lt;br /&gt;
&lt;br /&gt;
==== Fine tuning checklist bindings ====&lt;br /&gt;
&lt;br /&gt;
Sometimes, a checklist binding will do something like display a dialog, e.g. fuel and payload dialog. It would be irritating to the pilot if these things happened during automated execution. These bindings can make use of the &amp;lt;code&amp;gt;sim/checklists/auto/active&amp;lt;/code&amp;gt; property, which will be &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; when the checklist binding is being run by the autochecklist script and &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;binding&amp;gt;&lt;br /&gt;
  &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    var auto = getprop(&amp;quot;sim/checklists/auto/active&amp;quot;);&lt;br /&gt;
    if (!auto) gui.showWeightDialog();&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/binding&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Expedited checklists ====&lt;br /&gt;
&lt;br /&gt;
For in-air start sequences in some aircraft, you can pass zero as the second argument of the &amp;lt;tt&amp;gt;complete_checklists&amp;lt;/tt&amp;gt; function to expedite the sequence. All items in the checklist sequence will be executed without waiting for previous items to complete. Note that this means the checklist sequence is never considered to have failed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
if (!getprop(&amp;quot;gear/gear/wow&amp;quot;)) {&lt;br /&gt;
     autochecklist.complete_checklists(sequence: &amp;quot;in-air-start&amp;quot;, wait: 0);&lt;br /&gt;
} else {&lt;br /&gt;
     autochecklist.complete_checklists(&amp;quot;ground-start&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clearly the checklist sequence used for in-air start should be different from a ground start and should put the aircraft into a flying state, e.g. gear up, flaps up. Bindings can use the property &amp;lt;code&amp;gt;sim/checklists/auto/expedited&amp;lt;/code&amp;gt; to check if the execution is expedited, i.e. there is no wait between items. Note that the expedited flag does not in itself indicate whether a binding is being run as part of an automated checklist. You may need to test both the &amp;lt;code&amp;gt;sim/checklists/auto/active&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sim/checklists/auto/expedited&amp;lt;/code&amp;gt; properties, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var auto = getprop(&amp;quot;sim/checklists/auto/active&amp;quot;);&lt;br /&gt;
var expedited = getprop(&amp;quot;sim/checklists/auto/expedited&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (auto and expedited) {&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Customizing execution (optional) ===&lt;br /&gt;
&lt;br /&gt;
The behavior of the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script can be customized by setting properties, either in the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file or at runtime. Configuration is under the &amp;lt;tt&amp;gt;sim/checklists/auto&amp;lt;/tt&amp;gt; node.&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;checklists&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;auto&amp;gt;&lt;br /&gt;
      &amp;lt;startup-message&amp;gt;Running checklists, please wait ...&amp;lt;/startup-message&amp;gt;&lt;br /&gt;
      &amp;lt;completed-message&amp;gt;Checklists complete.&amp;lt;/completed-message&amp;gt;&lt;br /&gt;
      &amp;lt;timeout-message&amp;gt;Some checks failed.&amp;lt;/timeout-message&amp;gt;&lt;br /&gt;
      &amp;lt;timeout-sec&amp;gt;10&amp;lt;/timeout-sec&amp;gt;&lt;br /&gt;
      &amp;lt;wait-sec&amp;gt;3&amp;lt;/wait-sec&amp;gt;&lt;br /&gt;
    &amp;lt;auto&amp;gt;&lt;br /&gt;
  &amp;lt;/checklists&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;startup-message&amp;lt;/code&amp;gt; message displayed prior to automated checklist execution&lt;br /&gt;
* &amp;lt;code&amp;gt;completed-message&amp;lt;/code&amp;gt; message displayed on successful completion of the checklist&lt;br /&gt;
* &amp;lt;code&amp;gt;timeout-message&amp;lt;/code&amp;gt; message displayed if checklist execution times out waiting for a checklist condition to be satisfied&lt;br /&gt;
* &amp;lt;code&amp;gt;timeout-sec&amp;lt;/code&amp;gt; if the previous condition is not satisfied within this timeout, the automated execution fails&lt;br /&gt;
* &amp;lt;code&amp;gt;wait-sec&amp;lt;/code&amp;gt; time to wait before re-checking the status of the previous item if its condition is false after running the binding (effectively a polling interval).&lt;br /&gt;
&lt;br /&gt;
Messages are displayed as copilot announcements (by setting &amp;lt;tt&amp;gt;sim/messages/copilot&amp;lt;/tt&amp;gt;). They can be set empty if messages are not required. Note that messages are never displayed for expedited starts.&lt;br /&gt;
&lt;br /&gt;
Care should be taken with the timeout value. This is the timeout for a single item waiting for the previous condition to be satisfied, not the overall timeout for the checklist sequence. If the timeout is set to a large value and conditions cannot be satisfied, the pilot will have to wait a long time for the failure message to appear.&lt;br /&gt;
&lt;br /&gt;
=== Other features and ideas ===&lt;br /&gt;
&lt;br /&gt;
Automated checklist execution is not restricted to autostart and shutdown. If you have an &amp;quot;After Landing&amp;quot; checklist that switches landing lights off, raises flaps and turns taxi lights on, for example, you could assign that to a keyboard shortcut. Rollout and taxi is a busy time on some aircraft and it's often not easy to find the switches and controls necessary to complete this kind of checklist.&lt;br /&gt;
&lt;br /&gt;
To use the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script, pilots need &amp;lt;tt&amp;gt;FGDATA&amp;lt;/tt&amp;gt; v3.5 or greater, otherwise the script will not be available. The availability of automated checklists can be tested by checking whether the &amp;lt;tt&amp;gt;sim/checklists/auto&amp;lt;/tt&amp;gt; node is nil and a suitable indication given to the pilot if it is nil.&lt;br /&gt;
&lt;br /&gt;
For an example of using automated checklists, refer to the [[Lockheed Constellation]], for which the script was originally written.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
the docs for this particular feature are to be found in {{readme file|checklists}}.&lt;br /&gt;
This is also where you can read that the c172p is considered the reference implementation.&lt;br /&gt;
The system itself is located in {{fgdata source|path=gui/dialogs/checklist.xml|line=18|pre=$FG_ROOT|post=(embedded Nasal)}}, but -at least for now- that should not matter to you - unless you want to extend the system to add support for new features (in which case, you'll also want to check out $FG_ROOT/Nasal/checklist.nas).&lt;br /&gt;
Whatever is added to the Nasal code should never be aircraft-specific - aircraft specific stuff needs to be expressed via your own XML files - if something is missing, just extend the Nasal file, or ask for help so that we can post some pointers/snippets.&lt;br /&gt;
&amp;lt;ref&amp;gt; {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=218209#p218209&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Sep 11th, 2014&lt;br /&gt;
  | added   = Sep 11th, 2014&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it would be a good idea to localie any custom Nasal blocks, and instead introduce custom fgcommands using the addcommand() API - basically the reason being that there could be an aircraft-specific API using fgcommands for starting engines, instead of having aircraft-specific &amp;quot;Nasal blobs&amp;quot; in each checklist file. A while ago, this was actually discussed on the devel list, too. In other words, an &amp;quot;fgcommand&amp;quot; (implemented in Nasal) would help better isolate checklists from aircraft specifics.&lt;br /&gt;
&amp;lt;ref&amp;gt; {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=241259#p241259&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Automated Checklist Execution&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = May 1st, 2015&lt;br /&gt;
  | added   = May 1st, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Checklist Generation Language ==&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg38325.html Aircraft Checklists] (mailing list)&lt;br /&gt;
* [https://sourceforge.net/p/flightgear/mailman/message/33904555/ Automated Checklist Execution] (mailing list)&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Navdata_cache&amp;diff=107416</id>
		<title>Navdata cache</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Navdata_cache&amp;diff=107416"/>
		<updated>2017-03-18T17:34:55Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Fixed the note at the top */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
{{Stub}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{{Out of date}}&lt;br /&gt;
{{See also|Fgfs.pid}}&lt;br /&gt;
&lt;br /&gt;
{{Note|On Windows, versions of Flightgear up to 2017.1.1 can have problems restarting if the simulator did not close normally the last time it ran. Typically the error message suggests that there is a problem with a read-only navigation data cache. In fact, the underlying problem is the failure of a previous run to delete a status file. Flightgear then assumes that another instance of the program is running and it makes the [[$FG_HOME]] directory read-only.&lt;br /&gt;
&lt;br /&gt;
The solution is to delete the &amp;lt;code&amp;gt;fgfs.pid&amp;lt;/code&amp;gt; file from [[$FG_HOME]] and restart Flightgear. It should '''not''' be necessary to delete any other files or directories.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Fghome-3.7.png|400px|right|Screen shot showing structure of [[$FG_HOME]]]]&lt;br /&gt;
[[File:Navcache-schema.png|right|400px|Screen shot showing the SQLite3 schema of the nav cache using a GUI SQLite database editor]]&lt;br /&gt;
&lt;br /&gt;
The '''navdata cache''', '''navdb''', (sometimes also '''navcache''') is automatically built by FlightGear during startup by parsing/processing the gzipped &amp;lt;code&amp;gt;nav.dat&amp;lt;/code&amp;gt; file and building a spatial SQLite-based database in [[$FG_HOME]] so that more efficient queries can be run at run-time, but, in particular when starting up/[[Reset &amp;amp; re-init|re-initializing FlightGear]].  Memory consumption is also lower, since we don't keep airports / fixes / taxiways / runways in memory until they're needed.&lt;br /&gt;
&lt;br /&gt;
This feature have been available since [[Changelog 2.10|FlightGear 2.10]] released in February 2013.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
[[File:Navcache.png|thumb|Screen shot showing several navcache (SQLite) files in $FG_HOME for various fgfs versions]]&lt;br /&gt;
&lt;br /&gt;
We need a lot of data ''available'' at startup for position init. Parsing it from apt.dat and nav.dat is 'slow', but has been optimised over the years. (Parsing 20MB of text data each launch is still kind of crazy, though) Collecting it from many XML files would also be slow, but there's a general point that we should be decoupling ''availability'' from ''loading''.&lt;br /&gt;
&lt;br /&gt;
== Cache initialization ==&lt;br /&gt;
Usually, the navdb will only be compiled once during the first start of the simulator - however, some changes may require rebuilding the cache on disk (see below for details).&lt;br /&gt;
&lt;br /&gt;
Touching the navdata files will cause a rebuild, so rebuilds need to take a 'reasonable' amount of time. Shipping the binary data improves first-launch &lt;br /&gt;
perceptions, but many applications do additional work on their first launch after an install, so it's not a top concern for the time being.&lt;br /&gt;
&lt;br /&gt;
When the scenery paths change, we have to rebuild, because Airports XML data (from the &amp;lt;code&amp;gt;&amp;amp;lt;scenery&amp;amp;gt;/Airports/&amp;lt;/code&amp;gt; tree) is overlaid into the cache, replacing the data from &amp;lt;code&amp;gt;apt.dat&amp;lt;/code&amp;gt;. This means when the search paths or order changes, we have to completely rebuild, because there's no way to restore the unmodified (prior to XML overlay) version. &lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |we should absolutely stop telling anyone to edit preferences.xml in FG_ROOT; any documentation or advice which says to should be changes ASAP. &lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192632#p192632&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Zakalawe considers the time and fragility to implement such a system much greater than the impact of a rebuild when switching scenery paths, which most people don't do very often.&lt;br /&gt;
&lt;br /&gt;
The rebuild is purely a CPU / disk-bound operation, and for most people, it takes around 60 sec for debug and 30 sec for release times for a complete rebuild. (That time will be dramatically reduced if we get the taxiway data out of &amp;lt;code&amp;gt;apt.dat&amp;lt;/code&amp;gt; in the future, since taxiways account for &amp;gt;80% of the lines in the file).&lt;br /&gt;
&lt;br /&gt;
Usually the navdb should be under 200 MB and normally even a rebuild should not take much longer than a few minutes. However, on some platforms/OS the navdb rebuild is known to take exceptionally long, which seems to affect mainly Windows users - some of whom have reported the navcache rebuild taking more than 30 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical details ==&lt;br /&gt;
[[File:Sqliteman-showing-navcache.png|right|400px|sqliteman (Qt based) showing navcache view]]&lt;br /&gt;
&lt;br /&gt;
The nav-cache is versioned, it will be wiped when the cache schema version changes, but right now it’s not wiped when the flightgear version does.&lt;br /&gt;
&lt;br /&gt;
The DB schema version is tracked internally in the file, and if the schema changes during a development version (3.3 or whatever) it will force a drop and rebuild.&lt;br /&gt;
&lt;br /&gt;
The naming scheme is why the first run of a new stable release of FG always does a cache rebuild - which means you can run stable and dev versions side by side without continual cache rebuilds of course.&lt;br /&gt;
&lt;br /&gt;
we /do/ also run a Sqlite verification check on the DB at launch time - this should catch many kinds of file-/index- level corruption (bad commit, etc), and in any case where we detect an issue, the solution is again to drop the cache and rebuild.&lt;br /&gt;
&lt;br /&gt;
The internal format of the cache (for example the fact it's a SQL DB) is deliberately opaque. There are no guarantees made about the format of the file, the SQL scheme or anything. There is a version field of course, and we're not planning or expecting any changes, but we really don't want to be tied to the current scheme if we discover problems or want to add something else in the future.&lt;br /&gt;
&lt;br /&gt;
The cache is stored in &amp;lt;code&amp;gt;[[$FG_HOME]]/navdata.cache&amp;lt;/code&amp;gt;, and is rebuilt if the timestamps on any of the data files change (&amp;lt;code&amp;gt;apt.dat&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;nav.dat&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fix.dat&amp;lt;/code&amp;gt; and so on). When the cache needs to be rebuilt, startup will take a bit longer than before, but when the cache is valid, startup is ''much'' faster, especially for debug builds - because all the usual parsing/processing will be skipped, and the corresponding data will be read from the binary cache instead.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
A copy of your navdata.cache would be appreciated (the broken one), since of the two copies James was sent so far, neither were corrupted - they both passed the SQLite integrity check.&lt;br /&gt;
This has led James to think the issue is permissions, not corruption of the DB. Of course, there could be multiple issues. If you can find the suspect navcache, please upload it to: [https://swanson.kdab.com/owncloud/index.php/s/P0DMwvV6TdQR5CW https://swanson.kdab.com/owncloud/index.php/s/P0DMwvV6TdQR5CW] and let James know.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=304747#p304747 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: sql: attempt to write a read only database &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; zakalawe &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Feb 3rd, 2017 &lt;br /&gt;
  |added  =  Feb 3rd, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
{{Note| See also these bug reports:&lt;br /&gt;
* {{Issue|1166}} &lt;br /&gt;
* {{Issue|894}}&lt;br /&gt;
* {{Issue|1398}}&lt;br /&gt;
* {{Issue|1774}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The whole navdb build thing is proving to be the single most problematic feature added in the last couple of years affecting potentially all users, because unlike most additions, it's not an optional thing, i.e. it must be executed, and is needed for FG to work - given that, it would really make sense exploring to ship a pre-built navdb with future FlightGear releases, or at least factor out the corresponding code so that it can be provided as a standalone executable that is shipped as part of fgfs, so that it can be executed by the installer, without fgfs being affected by it inevitably - that way, troubleshooting related issues should also become much easier, in addition, this separation would facilitate having sync'ed navdbs across multiple instances (think virtual ATC, multiplayer, combat simulation, or even just a fsweekend/linuxTag-like setup).&lt;br /&gt;
&lt;br /&gt;
This work would also greatly facilitate turning the navdb into a HLA/IPC-enabled service one day.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293128#p293128 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Hooray &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 25th, 2016 &lt;br /&gt;
  |added  =  Aug 25th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
all startup/repositioning logic needs navdb access - otherwise, it  would be possible to also make the whole system optional during startup/runtime, i.e. via some kind of property, so that people could opt-out until certain issues are addressed.&lt;br /&gt;
Obviously, that would break any conventional radio-navigation equipped aircraft, but also interactive mapping/charting avionics/dialogs, so may not be desirable ...&lt;br /&gt;
Anyway, moving the navdb build into the release process should be possible, and would help address this, until the underlying C++ code has been ironed out&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293203#p293203 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Hooray &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 26th, 2016 &lt;br /&gt;
  |added  =  Aug 26th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately the cache must be regenerated each time you change scenery paths.  So you cannot pre-build it.  Recent changes to remove dynamic airports from it should help significantly, but it needs to be made more fail-safe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293224#p293224 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; bugman &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 27th, 2016 &lt;br /&gt;
  |added  =  Aug 27th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the issue has been around for so long, it would be better to recognie that the system needs to be separated/split up, so that a pre-built database can be provided, or so that a central navdb &amp;quot;service&amp;quot; (server) can be used - that way, it could still be a separate executable that doesn't cripple the fgfs experience for &amp;amp;gt;= ~25% of our newcomers&lt;br /&gt;
The whole thing started out as a navdb after all, there is no reason why we should be adding so many inter-dependencies to it until  some of the key problems have been solved.&lt;br /&gt;
Besides, this isn't the first time that fgfs had a cached navdb layer (anybody here remember the original metakit implementation from the early 2000s?)&lt;br /&gt;
In its current form, this whole feature contributes to the majority of bug reports, and actual crashes, and is causing tons of support threads on the forum.&lt;br /&gt;
Thus, it would definitely make sense to review what's there currently, and see if some things can be changed/re-implemented to make this a less critical feature&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293256#p293256 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Hooray &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 27th, 2016 &lt;br /&gt;
  |added  =  Aug 27th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows Issues ===&lt;br /&gt;
As as we know, it's a Windows-specific issue related to SQLite and/or the way $FG_HOME works on Windows: http://wiki.flightgear.org/$FG_HOME&lt;br /&gt;
Most core developers, as well as most people who regularly build from source, are using non-Windows OS, i.e. are UNIX-based (MacOS/Linux etc), where the problem usually doesn't show up at all, which makes it hard to reproduce for people able to troubleshoot these things. And unfortunately, we don't really have any Windows-based core developers remaining - the main guy who would handle such compatibility issues on Windows used to be FredB who hasn't been seen in quite a while - and the main guy behind the navcache/navdb is also a Mac user, so not in a good position to reproduce these things, absent some complex VM setup.&lt;br /&gt;
&lt;br /&gt;
Thus, if you are in any position to provide additional feedback/info using development tools (e.g. a debugger) that would indeed be very helpful.&lt;br /&gt;
For now, it is even clear if this is related to the location of $FG_HOME on Windows (which has recently changed AFAIK), or if it's related to SQLite itself.&lt;br /&gt;
Personally, I've been able to reproduce a handful of SQLite related issues - but I found those difficult to troubleshoot due to the way SQLite is used by FlightGear, i.e. without any logging support/options being exposed currently.&lt;br /&gt;
&lt;br /&gt;
In general, the SQLite-navdb is a great idea - but in practice, it's been crippling FlightGear quite severely since the day it's been added for a number of users, especially those on Windows - simply because we're getting very little action-able feedback/community support, and core contributors who regularly build from source are usually not able to reproduce these issues, while also typically not being very familiar with potential Windows-level issues.&lt;br /&gt;
&lt;br /&gt;
Again, it would really help to file an issue for this - or at least add to any existing (open) ones to raise some awareness of this, and hopefully help improve the situation over time.&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I'd sugest to review the atexit() handlers in $FG_SRC/Main to ensure that the SQLite/navcache properly cleans up all resources there, i.e. by closing files etc - as far as I remember, the navcache is not an actual/proper &amp;quot;SGSubsystem&amp;quot; - so maybe the corresponding ctors aren't getting called during segfaults/crashes - IIRC, it's implemented as a singleton:&lt;br /&gt;
{{flightgear url|commit=49ce7cd318d00be44c43cffea028a6556104fe18|path=src/Main/fg_init.cxx|line=570}}&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=228533#p228533&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: FATAL ERROR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Dec 31st, 2014&lt;br /&gt;
  | added   = Dec 31st, 2014&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Read only database ===&lt;br /&gt;
On Windows, versions of Flightgear up to 2017.1.1 can have problems restarting if the simulator did not close normally. This usually results in a message about a readonly database, e.g.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Sqlite error : attempt to write a readonly database received from DELETE FROM groundnet_edge&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Sqlite error : attempt to write a readonly database&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The solution is to delete the &amp;lt;code&amp;gt;fgfs.pid&amp;lt;/code&amp;gt; file from the [[$FG_HOME]] directory.&lt;br /&gt;
&lt;br /&gt;
Note that this was a long-standing bug and the established solution was to delete the whole [[$FG_HOME]] directory. Although this works, it should '''not''' be necessary to fix the problem; deleting the &amp;lt;code&amp;gt;fgfs.pid&amp;lt;/code&amp;gt; file should allow Flightgear to start.&lt;br /&gt;
&lt;br /&gt;
The root cause of the problem should be fixed in Flightgear 2017.1.2.&lt;br /&gt;
&lt;br /&gt;
=== Corruption due to crashes ===&lt;br /&gt;
The navcache also seems to get corrupted during segfaults/crashes, especially on Windows, but more recently also on OSX:&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= Sqlite error : attempt to write a readonly database received from DELETE FROM groundnet_edge&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=250389#p250389&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Sqlite error&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;daniel36&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jul 9th, 2015&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |at least on my 10.7 build, I’m seeing an issue with the nav-cache not initialising. This is actually good, because it gives me a way, finally, to trace down the ‘nav-cache never initialises’ bug that some folks have reported. But it will take a little time. Since the same binary works perfectly on my 10.10 box, I assume it’s something /very/ subtle, probably uninitialised memory or some tiny change in zlib’s gzread functions (since we use the system Zlib library which hence could be different between 10.7 and 10.10).&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33457470/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Release 3.4.0 is coming&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2015-02-18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I'd sugest to review the atexit() handlers in $FG_SRC/Main to ensure that the SQLite/navcache properly cleans up all resources there, i.e. by closing files etc - as far as I remember, the navcache is not an actual/proper &amp;quot;SGSubsystem&amp;quot; - so maybe the corresponding ctors aren't getting called during segfaults/crashes - IIRC, it's implemented as a singleton:&lt;br /&gt;
{{flightgear url|commit=49ce7cd318d00be44c43cffea028a6556104fe18|path=src/Main/fg_init.cxx|line=570}}&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=228533#p228533&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: FATAL ERROR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Wed Dec 31&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== High Level Architecture ==&lt;br /&gt;
{{Main article|High-Level Architecture}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= we'll need the capability to to have two clients access the NavDB concurrently - I've hit lots of errors trying to do this&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34725710/&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;[Flightgear-devel] HLA Update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Dec 29th, 2015&lt;br /&gt;
  | added   = Dec 29th, 2015&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I'm looking forward to some feedback and Python code from Jean-Paul to start working on a NavDataCache interface, to create a 'nav_data_cache' or 'navdb' Python C/C++ module. I also had the idea of running this subsystem in a thread. This avoids adding more strain to the main loop, making FGPythonSys even more inconspicuous.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34798001/&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] A FGPythonSys implementation: The embedded&lt;br /&gt;
 Python interpreter as a FlightGear subsystem.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Edward d'Auvergne&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jan 26th, 2016&lt;br /&gt;
  | added   = Jan 26th, 2016&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= it would be possibly to deprecate virtually all the custom Nasal APIs in favour of commands, but much harder to do that solely using properties. (Think about searching the NavDB or appending a waypoint to a flightplan). If we started moving in that direction, we don’t need to create separate APIs for multiple languages, they simply work using the properties + commands system, and the command system already has the exact set of property modification operations you proposed.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34795592/&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Designing a thread-safe property tree API&lt;br /&gt;
 (was Re: A FGPythonSys implementation: ...)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jan 26th, 2016&lt;br /&gt;
  | added   = Jan 26th, 2016&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= it would conceptually be the right thing to do to turn the navdb/positioned stuff into a &amp;quot;client/server&amp;quot; subsystem where the navdb acts as a server that can handle client-requests asynchronously. The funny thing is that SQLite itself is obviously based on the whole &amp;quot;server-less&amp;quot; notion. &lt;br /&gt;
&lt;br /&gt;
From a design standpoint, the NavDB is basically an &amp;quot;environmental&amp;quot; subsystem, i.e. heavily reliant on the underlying terrain/scenery because it provides navaids - thus, in a distributed/MP setup it would actually make sense for multi-instance setups to query the same DB to replicate/sync state.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=212346#p212346&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Performance: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jun 11th, 2014&lt;br /&gt;
  | added   = Jun 11th, 2014&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= There are so many similar programs that need to access this very data, that it is simply inefficient to copy/paste code and adapt that, and in a MP/VA or ATC scenario, you would also want to ensure that all &amp;quot;players&amp;quot; (clients) are using the same underlying database, which is why I believe that it would be better to have a true server/client model, where fgfs would only connect to a locally running database - which in the fg case, could even be running in a backgound thread (e.g. via HLA).&lt;br /&gt;
It is already unfortunate that the navcache is not a true subsystem and that its internal data dependencies are not formalied, so the whole thing could just as well be moved to simgear, so that OpenRadar/ATC-Pie can more easily reuse it (either as a binary library or via  standalone program/networking (IPC)).&lt;br /&gt;
Note that this is not a new discussion/idea, for some background info refer to the atlas project on sourceforge:&lt;br /&gt;
[http://sourceforge.net/p/atlas/feature-requests/10/ http://sourceforge.net/p/atlas/feature-requests/10/]&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/atlas/feature-requests/16/ http://sourceforge.net/p/atlas/feature-requests/16/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=264700#p264700&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Improving stability: No-scenery-emergency mode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Nov 16th, 2015&lt;br /&gt;
  | added   = Nov 16th, 2015&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Upcoming developments ==&lt;br /&gt;
we are looking at making the loading of this data asynchronous so startup is not delayed, but we also lack Windows developers who can investigate the issue, since Linux, Mac and some Windows boxes are absolutely fine.&lt;br /&gt;
&lt;br /&gt;
There's future work to move even more data into the cache — for example parking positions — which will further help performance for FMS / map systems since we &lt;br /&gt;
won't need to parse lots of XML data repeatedly. &lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |This makes me think I should do some validation on FG_HOME, i.e that it exists, and is writeable. That would have caught the UTF-8 / windows-local-8-bit encoding screw-up I had for 2.10, too. I think we have all the pieces to do this, will come up with something in the next few days.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192879#p192879&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Wed Oct 30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I need people to track down *why* the cache rebuild is being triggered. The possibilities are: a scenery path reconfiguration (added / removed / re-ordered scenery paths) or that one of the .dat files we build the cache from has been modified. All the .dat files (Navaids/nav.dat.gz, Airports/apt.dat.gz, and similar .dat.gz files) should have a modification timestamp that corresponds to when the program was installed. If people could confirm that's the case, it would be one useful step.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The next step after that is for someone with a debug build (compiled from source) to step through the cache startup code and see which conditional is tripping the rebuild.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=191948#p191948&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: Loading forever: &amp;quot;loading navigation data&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Oct 17&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Having the option would be awesome, because it would greatly simplify troubleshooting, as you say - so having additional startup options that explicitly override/ignore autosave.xml and ~/.fgfsrc would be '''awesome''' as it would be much more straightforward to exclude a plethora of potential problem sources, we could save '''tons''' of time that way - but I wouldn't make it part of the same option. Ideally, being able to ignore autosave/fgfsrc would be different command-line arguments.Preferably, we would have a &amp;quot;soft ignore&amp;quot; mode (retaining data) and a &amp;quot;delete&amp;quot; mode, which resets any local settings that may interfere with FG.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192621#p192621&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I'll add a --rebuild-caches option and it can drop the aircraft and terrasync caches too.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192464#p192464&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Oct 24&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I mean the update cache which stops us spamming the server with update requests every launch - instead we only check the server once per 24-hour period, which greatly cuts down on nuisance update polls to the server.&lt;br /&gt;
The only thing I can't decide if this option should drop is the auto-save file. Then the options becomes a bit more of a 'reset to defaults', which might be more useful since people often end up with old values in their auto-save and again we don't have a UI to drop it.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192619#p192619&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |So I think only the following is missing:&amp;lt;br/&amp;gt;&lt;br /&gt;
* make --restore-defaults kill the caches (nav-cache, aircraft cache and terrasync update cache)&lt;br /&gt;
* add a --ignore-defaults which stops both read *and* writing of autosave.xml&lt;br /&gt;
* log any XML config file we process&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192632#p192632&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
{{Note|Also see [[A NavDB Web Service]].}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |We do not currently have a dedicated interface for exchanging internal data structures like the navdb, terrain data or images/video streams. However, something like that would be generally useful for a whole number of purposes and projects, so please feel free to leave a feature request at the tracker: &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://flightgear-bugs.googlecode.com/ http://flightgear-bugs.googlecode.com/]&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=186972#p186972&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: How to access navigation data in FlightGear ?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Jul 15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |the navigation databases&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Currently these are gzipped compressed text - they’re not small and currently we change them infrequently but the upstream sources does receive updates relatively often (monthly?). Again there is some code dependency here, since new versions could break things.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33492344/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGData splitting / assembling the base package&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2015-02-25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |My proposed initial solution, but this is where the discussion starts:&lt;br /&gt;
move the category [1] files, and potentially unzipped [2] files, into the main flightgear repository, under, say, ‘flightgear/data’. I don’t think a submodule gains us anything, all the files are tiny so it won’t bloat the repository. (And it avoids the complexity of forgetting to update the submodule - but if that issue can be solved, a submodule also works for me)&lt;br /&gt;
&lt;br /&gt;
(We need to switch to unzipping the category [2] files anyway, for another improvement to startup performance, and once they are text rather than binary, Git will be able to diff them efficiently, hence my thought they can maybe be treated the same way. But I’m not sure. Also there is the option to start getting upstream updates more often, e.g. between FG releases)&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33492344/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGData splitting / assembling the base package&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2015-02-25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== FGPositioned ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |it will become a base for the following:&lt;br /&gt;
* FGAirport&lt;br /&gt;
* FGRunway&lt;br /&gt;
* FGFix&lt;br /&gt;
* FGNavRecord&lt;br /&gt;
* ATCData&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/20111781/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGPositioned refactoring&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2008-08-16&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I've been carrying on with my experiments with my FGPositioned idea, and I now have several of my original steps done:&lt;br /&gt;
* Fix, NavRecord, Airport and Runway all inherit the base class&lt;br /&gt;
* they all live on the heap, where previously Runway and Fix were stack based, and hence rather heavy to work with&amp;lt;br/&amp;gt;&lt;br /&gt;
* since the liftetime is now (generally) long, I can use a  persistent spatial index (currently not Matthias', but it's an easy,  internal change)&lt;br /&gt;
* I can query all of the above in a unified fashion, and add more types easily (Jon Stockhill has obstacle data I can add in)&lt;br /&gt;
* I've written a bunch of test cases, all of which pass identically  on the mainline and with my changes applied&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/20257459/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGPositioned update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2008-09-06&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |it's also the starting point for working on improving the airways code and creating a standard FGFlightPlan class - an airway or flightplan is essentially built out of FGPositioned objects, tagged with some extra data.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/20111781/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGPositioned refactoring&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2008-08-16&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
You can use any SQLite editor/browser to access the navcache file and visualize it&lt;br /&gt;
There are basically two ways to access this via Nasal 1) the &amp;quot;proper&amp;quot; way is to use/extend the NasalPositioned(_cpbind).cxx file in $FG_SRC/Scripting - with 2), being direct SQLite access using the sqlite module from the Nasal github repo.&lt;br /&gt;
&lt;br /&gt;
Either way, you would need to modify/patch and rebuild fgfs.&lt;br /&gt;
In general, I would recommend to file a feature request and/or raise this on the devel list.&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= my suggestion would be to use an SQLite browser/editor and go to $FG_HOME to open the navcache there (see the wiki link above), you can then inspect the whole navcache - what you find in it is basically a mix up different sources (including Xplane data) - and most of it is available at run-time via FGPositioned APIs and their corresponding Nasal equivalents.&lt;br /&gt;
So given that we are talking about Python and Java here, you could either turn the FGPositioned C++ stuff into a reusable library for use by OpenRadar/ATC-Pie, or simply read the navcache directly. With the latter having the disadvantage that people need to have fgfs installed locally.&lt;br /&gt;
&lt;br /&gt;
Otherwise, you could also extract the relevant data from the navcache and ship that with both ATC clients.&lt;br /&gt;
However, please see the wiki: the main guy behind the navcache is Zakalawe, and he would prefer if people didn't access/process the navcache directly but only use the FG-specific APIs.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=264700#p264700&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Improving stability: No-scenery-emergency mode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Nov 16th, 2015&lt;br /&gt;
  | added   = Nov 16th, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= this opens up the question if the navcache should really be an integrated component, or if it might not be better to turn it into a standalone library/program that could be used by multiple processes, regardless of fgfs having to be installed/running, i.e. some form of true database.&lt;br /&gt;
Overall that would seem like the best solution to me, because the navcache is a feature that has severely crippled the fg experience for many new users, so that it would make sense to move this to a dedicated/standalone component and use it like a conventional database.&lt;br /&gt;
There are so many similar programs that need to access this very data, that it is simply inefficient to copy/paste code and adapt that, and in a MP/VA or ATC scenario, you would also want to ensure that all &amp;quot;players&amp;quot; (clients) are using the same underlying database, which is why I believe that it would be better to have a true server/client model, where fgfs would only connect to a locally running database - which in the fg case, could even be running in a backgound thread (e.g. via HLA).&lt;br /&gt;
It is already unfortunate that the navcache is not a true subsystem and that its internal data dependencies are not formalied, so the whole thing could just as well be moved to simgear, so that OpenRadar/ATC-Pie can more easily reuse it (either as a binary library or via  standalone program/networking (IPC)).&lt;br /&gt;
Note that this is not a new discussion/idea, for some background info refer to the atlas project on sourceforge:&lt;br /&gt;
[[A NavDB Web Service]]&lt;br /&gt;
If in doubt, get in touch with Zakalawe on the devel list, the navcache is his baby after all ...&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=264700#p264700&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Improving stability: No-scenery-emergency mode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Nov 16th, 2015&lt;br /&gt;
  | added   = Nov 16th, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Accessing via Nasal ===&lt;br /&gt;
{{Move|Nasal library|User talk:Red Leader#Nasal positioned APIs .28navcache.29}}&lt;br /&gt;
&lt;br /&gt;
Several [[Nasal]] functions exist to query the navdata cache of 'positioned' objects, i.e items with a defined location in the simulation world. (These objects all inherit from &amp;lt;tt&amp;gt;FGPositioned&amp;lt;/tt&amp;gt; internally). The functions return either one, or a vector, of wrapped Nasal objects. These are efficient, but unlike a hash they cannot simply be &amp;lt;tt&amp;gt;debug.dump()&amp;lt;/tt&amp;gt; to view all their members and methods, many of which are computed in a lazy fashion (i.e. on demand).&lt;br /&gt;
&lt;br /&gt;
When the query functions take a position, the default value is the current aircraft location. An alternative location can be supplied by passing two number (lat, lon), a Geo.Coord object, or any positioned object or waypoint retrieved from another query.&lt;br /&gt;
&lt;br /&gt;
;findAirportsWithinRange()&lt;br /&gt;
: Find all airports within a specified range (in NM) of the current position or explicit position&lt;br /&gt;
;findAirportsByICAO()&lt;br /&gt;
: Find airports matching a complete or partial ICAO code. In particular this can search for all airports starting with a two or three letter prefix.&lt;br /&gt;
;navinfo()&lt;br /&gt;
: Return a list of navaids near a location by type and ident. Type should be 'fix', 'vor', 'ndb', 'dme'&lt;br /&gt;
;findNavaidsWithinRange()&lt;br /&gt;
: Search for navaids within a particular range (in NM), optionally limited by type. This provides a 'find the closest ILS' function&lt;br /&gt;
;findNavaidByFrequency()&lt;br /&gt;
: find the closest navaid (of a particular type) matching an exact frequency&lt;br /&gt;
;findNavaidsByFrequency()&lt;br /&gt;
: find all the navaids matching a particular frequency and optional type, sorted by distance from the search location.&lt;br /&gt;
&lt;br /&gt;
All positioned objects returned by the above methods have the following members:&lt;br /&gt;
;id&lt;br /&gt;
: Identifier - ICAO code for airports, published ident for navaids and fixes&lt;br /&gt;
;lon&lt;br /&gt;
: degrees longitude&lt;br /&gt;
;lat&lt;br /&gt;
: degrees latitude&lt;br /&gt;
&lt;br /&gt;
Depending on type, the following members are also available:&lt;br /&gt;
;name&lt;br /&gt;
: the full name of the airport or navaid if one is defined&lt;br /&gt;
;elevation&lt;br /&gt;
: the ASL elevation of the object in feet&lt;br /&gt;
&lt;br /&gt;
For navaids, the following members are available:&lt;br /&gt;
;frequency&lt;br /&gt;
: the navaid frequency in kHz&lt;br /&gt;
;type&lt;br /&gt;
: the navaid type as a string: vor, dme, loc, ils, ndb&lt;br /&gt;
;course&lt;br /&gt;
: the degrees course associated with the navaid, for localiser and ILS stations&lt;br /&gt;
&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Core development projects]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Navdata_cache&amp;diff=107415</id>
		<title>Navdata cache</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Navdata_cache&amp;diff=107415"/>
		<updated>2017-03-18T17:16:29Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Read only database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
{{Stub}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{{Out of date}}&lt;br /&gt;
{{See also|Fgfs.pid}}&lt;br /&gt;
&lt;br /&gt;
{{Caution|This feature is crucial to the FlightGear startup sequence, but is unfortunately infamous for rendering FlightGear non-startable under certain situations. Particularly, after experiencing a FlightGear crash or when installing/running multiple FlightGear instances at the same time&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url = http://sourceforge.net/p/flightgear/mailman/message/33029411/&lt;br /&gt;
|title = &amp;lt;nowiki&amp;gt;[Flightgear-devel] Random oddities&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|author = Thorsten Renk&lt;br /&gt;
| date   = Nov 12th, 2014&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;. It is assumed that this is due to lack of synchronization and missing &amp;lt;code&amp;gt;atexit()&amp;lt;/code&amp;gt; handlers&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url = http://forum.flightgear.org/viewtopic.php?f=17&amp;amp;t=24998&amp;amp;p=228533&amp;amp;#p228533&lt;br /&gt;
|title = &amp;lt;nowiki&amp;gt;FATAL ERROR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|author = Hooray&lt;br /&gt;
| date   = Wed Dec 31, 2014 9:24 am &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url = http://forum.flightgear.org/viewtopic.php?f=17&amp;amp;t=24998&amp;amp;p=228533&amp;amp;#p228533&lt;br /&gt;
|title = &amp;lt;nowiki&amp;gt;http://forum.flightgear.org/viewtopic.php?f=35&amp;amp;t=27364&amp;amp;p=261267&amp;amp;hilit=#p261267&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|author = Hooray&lt;br /&gt;
| date   = Wed Oct 21, 2015 1:55 pm &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;, so that the SQLite database may get corrupted under certain circumstances.&lt;br /&gt;
&lt;br /&gt;
The way to resolve this issue is by renaming/deleting the navdata cache entirely (&amp;lt;code&amp;gt;navdata_''x''_''y''.cache&amp;lt;/code&amp;gt;), renaming the folder containing [[$FG_HOME]] so that the cache gets rebuilt during the next start, or to use the powerful yet dangerous &amp;lt;code&amp;gt;--restore-defaults&amp;lt;/code&amp;gt; command line option to reset all user settings to their defaults and to rebuild the cache. &lt;br /&gt;
&lt;br /&gt;
On Windows another option is to go to ''yourusername''/AppData/Roaming/flightgear.org, and delete the navdata file inside that folder. If it still crashes, rename the flightgear.org folder to flightgearBAK.orgBAK, which will fix the errors, but you lose your user settings, such as options you have set in sim (ALS, don't show fps / ms, etc), joystick settings, etc ... In case FG starts up well, you can restore these settings by copiing back the files from the backup directory.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this bug is hard to reproduce. So if you are encountering this bug, please be sure to {{create ticket|create a ticket}}, including instructions for reproducing the bug, so that this can be hopefully fixed.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Fghome-3.7.png|400px|right|Screen shot showing structure of [[$FG_HOME]]]]&lt;br /&gt;
[[File:Navcache-schema.png|right|400px|Screen shot showing the SQLite3 schema of the nav cache using a GUI SQLite database editor]]&lt;br /&gt;
&lt;br /&gt;
The '''navdata cache''', '''navdb''', (sometimes also '''navcache''') is automatically built by FlightGear during startup by parsing/processing the gzipped &amp;lt;code&amp;gt;nav.dat&amp;lt;/code&amp;gt; file and building a spatial SQLite-based database in [[$FG_HOME]] so that more efficient queries can be run at run-time, but, in particular when starting up/[[Reset &amp;amp; re-init|re-initializing FlightGear]].  Memory consumption is also lower, since we don't keep airports / fixes / taxiways / runways in memory until they're needed.&lt;br /&gt;
&lt;br /&gt;
This feature have been available since [[Changelog 2.10|FlightGear 2.10]] released in February 2013.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
[[File:Navcache.png|thumb|Screen shot showing several navcache (SQLite) files in $FG_HOME for various fgfs versions]]&lt;br /&gt;
&lt;br /&gt;
We need a lot of data ''available'' at startup for position init. Parsing it from apt.dat and nav.dat is 'slow', but has been optimised over the years. (Parsing 20MB of text data each launch is still kind of crazy, though) Collecting it from many XML files would also be slow, but there's a general point that we should be decoupling ''availability'' from ''loading''.&lt;br /&gt;
&lt;br /&gt;
== Cache initialization ==&lt;br /&gt;
Usually, the navdb will only be compiled once during the first start of the simulator - however, some changes may require rebuilding the cache on disk (see below for details).&lt;br /&gt;
&lt;br /&gt;
Touching the navdata files will cause a rebuild, so rebuilds need to take a 'reasonable' amount of time. Shipping the binary data improves first-launch &lt;br /&gt;
perceptions, but many applications do additional work on their first launch after an install, so it's not a top concern for the time being.&lt;br /&gt;
&lt;br /&gt;
When the scenery paths change, we have to rebuild, because Airports XML data (from the &amp;lt;code&amp;gt;&amp;amp;lt;scenery&amp;amp;gt;/Airports/&amp;lt;/code&amp;gt; tree) is overlaid into the cache, replacing the data from &amp;lt;code&amp;gt;apt.dat&amp;lt;/code&amp;gt;. This means when the search paths or order changes, we have to completely rebuild, because there's no way to restore the unmodified (prior to XML overlay) version. &lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |we should absolutely stop telling anyone to edit preferences.xml in FG_ROOT; any documentation or advice which says to should be changes ASAP. &lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192632#p192632&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Zakalawe considers the time and fragility to implement such a system much greater than the impact of a rebuild when switching scenery paths, which most people don't do very often.&lt;br /&gt;
&lt;br /&gt;
The rebuild is purely a CPU / disk-bound operation, and for most people, it takes around 60 sec for debug and 30 sec for release times for a complete rebuild. (That time will be dramatically reduced if we get the taxiway data out of &amp;lt;code&amp;gt;apt.dat&amp;lt;/code&amp;gt; in the future, since taxiways account for &amp;gt;80% of the lines in the file).&lt;br /&gt;
&lt;br /&gt;
Usually the navdb should be under 200 MB and normally even a rebuild should not take much longer than a few minutes. However, on some platforms/OS the navdb rebuild is known to take exceptionally long, which seems to affect mainly Windows users - some of whom have reported the navcache rebuild taking more than 30 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical details ==&lt;br /&gt;
[[File:Sqliteman-showing-navcache.png|right|400px|sqliteman (Qt based) showing navcache view]]&lt;br /&gt;
&lt;br /&gt;
The nav-cache is versioned, it will be wiped when the cache schema version changes, but right now it’s not wiped when the flightgear version does.&lt;br /&gt;
&lt;br /&gt;
The DB schema version is tracked internally in the file, and if the schema changes during a development version (3.3 or whatever) it will force a drop and rebuild.&lt;br /&gt;
&lt;br /&gt;
The naming scheme is why the first run of a new stable release of FG always does a cache rebuild - which means you can run stable and dev versions side by side without continual cache rebuilds of course.&lt;br /&gt;
&lt;br /&gt;
we /do/ also run a Sqlite verification check on the DB at launch time - this should catch many kinds of file-/index- level corruption (bad commit, etc), and in any case where we detect an issue, the solution is again to drop the cache and rebuild.&lt;br /&gt;
&lt;br /&gt;
The internal format of the cache (for example the fact it's a SQL DB) is deliberately opaque. There are no guarantees made about the format of the file, the SQL scheme or anything. There is a version field of course, and we're not planning or expecting any changes, but we really don't want to be tied to the current scheme if we discover problems or want to add something else in the future.&lt;br /&gt;
&lt;br /&gt;
The cache is stored in &amp;lt;code&amp;gt;[[$FG_HOME]]/navdata.cache&amp;lt;/code&amp;gt;, and is rebuilt if the timestamps on any of the data files change (&amp;lt;code&amp;gt;apt.dat&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;nav.dat&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fix.dat&amp;lt;/code&amp;gt; and so on). When the cache needs to be rebuilt, startup will take a bit longer than before, but when the cache is valid, startup is ''much'' faster, especially for debug builds - because all the usual parsing/processing will be skipped, and the corresponding data will be read from the binary cache instead.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
A copy of your navdata.cache would be appreciated (the broken one), since of the two copies James was sent so far, neither were corrupted - they both passed the SQLite integrity check.&lt;br /&gt;
This has led James to think the issue is permissions, not corruption of the DB. Of course, there could be multiple issues. If you can find the suspect navcache, please upload it to: [https://swanson.kdab.com/owncloud/index.php/s/P0DMwvV6TdQR5CW https://swanson.kdab.com/owncloud/index.php/s/P0DMwvV6TdQR5CW] and let James know.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=304747#p304747 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: sql: attempt to write a read only database &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; zakalawe &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Feb 3rd, 2017 &lt;br /&gt;
  |added  =  Feb 3rd, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
{{Note| See also these bug reports:&lt;br /&gt;
* {{Issue|1166}} &lt;br /&gt;
* {{Issue|894}}&lt;br /&gt;
* {{Issue|1398}}&lt;br /&gt;
* {{Issue|1774}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The whole navdb build thing is proving to be the single most problematic feature added in the last couple of years affecting potentially all users, because unlike most additions, it's not an optional thing, i.e. it must be executed, and is needed for FG to work - given that, it would really make sense exploring to ship a pre-built navdb with future FlightGear releases, or at least factor out the corresponding code so that it can be provided as a standalone executable that is shipped as part of fgfs, so that it can be executed by the installer, without fgfs being affected by it inevitably - that way, troubleshooting related issues should also become much easier, in addition, this separation would facilitate having sync'ed navdbs across multiple instances (think virtual ATC, multiplayer, combat simulation, or even just a fsweekend/linuxTag-like setup).&lt;br /&gt;
&lt;br /&gt;
This work would also greatly facilitate turning the navdb into a HLA/IPC-enabled service one day.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293128#p293128 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Hooray &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 25th, 2016 &lt;br /&gt;
  |added  =  Aug 25th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
all startup/repositioning logic needs navdb access - otherwise, it  would be possible to also make the whole system optional during startup/runtime, i.e. via some kind of property, so that people could opt-out until certain issues are addressed.&lt;br /&gt;
Obviously, that would break any conventional radio-navigation equipped aircraft, but also interactive mapping/charting avionics/dialogs, so may not be desirable ...&lt;br /&gt;
Anyway, moving the navdb build into the release process should be possible, and would help address this, until the underlying C++ code has been ironed out&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293203#p293203 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Hooray &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 26th, 2016 &lt;br /&gt;
  |added  =  Aug 26th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately the cache must be regenerated each time you change scenery paths.  So you cannot pre-build it.  Recent changes to remove dynamic airports from it should help significantly, but it needs to be made more fail-safe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293224#p293224 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; bugman &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 27th, 2016 &lt;br /&gt;
  |added  =  Aug 27th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the issue has been around for so long, it would be better to recognie that the system needs to be separated/split up, so that a pre-built database can be provided, or so that a central navdb &amp;quot;service&amp;quot; (server) can be used - that way, it could still be a separate executable that doesn't cripple the fgfs experience for &amp;amp;gt;= ~25% of our newcomers&lt;br /&gt;
The whole thing started out as a navdb after all, there is no reason why we should be adding so many inter-dependencies to it until  some of the key problems have been solved.&lt;br /&gt;
Besides, this isn't the first time that fgfs had a cached navdb layer (anybody here remember the original metakit implementation from the early 2000s?)&lt;br /&gt;
In its current form, this whole feature contributes to the majority of bug reports, and actual crashes, and is causing tons of support threads on the forum.&lt;br /&gt;
Thus, it would definitely make sense to review what's there currently, and see if some things can be changed/re-implemented to make this a less critical feature&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293256#p293256 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Hooray &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 27th, 2016 &lt;br /&gt;
  |added  =  Aug 27th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows Issues ===&lt;br /&gt;
As as we know, it's a Windows-specific issue related to SQLite and/or the way $FG_HOME works on Windows: http://wiki.flightgear.org/$FG_HOME&lt;br /&gt;
Most core developers, as well as most people who regularly build from source, are using non-Windows OS, i.e. are UNIX-based (MacOS/Linux etc), where the problem usually doesn't show up at all, which makes it hard to reproduce for people able to troubleshoot these things. And unfortunately, we don't really have any Windows-based core developers remaining - the main guy who would handle such compatibility issues on Windows used to be FredB who hasn't been seen in quite a while - and the main guy behind the navcache/navdb is also a Mac user, so not in a good position to reproduce these things, absent some complex VM setup.&lt;br /&gt;
&lt;br /&gt;
Thus, if you are in any position to provide additional feedback/info using development tools (e.g. a debugger) that would indeed be very helpful.&lt;br /&gt;
For now, it is even clear if this is related to the location of $FG_HOME on Windows (which has recently changed AFAIK), or if it's related to SQLite itself.&lt;br /&gt;
Personally, I've been able to reproduce a handful of SQLite related issues - but I found those difficult to troubleshoot due to the way SQLite is used by FlightGear, i.e. without any logging support/options being exposed currently.&lt;br /&gt;
&lt;br /&gt;
In general, the SQLite-navdb is a great idea - but in practice, it's been crippling FlightGear quite severely since the day it's been added for a number of users, especially those on Windows - simply because we're getting very little action-able feedback/community support, and core contributors who regularly build from source are usually not able to reproduce these issues, while also typically not being very familiar with potential Windows-level issues.&lt;br /&gt;
&lt;br /&gt;
Again, it would really help to file an issue for this - or at least add to any existing (open) ones to raise some awareness of this, and hopefully help improve the situation over time.&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I'd sugest to review the atexit() handlers in $FG_SRC/Main to ensure that the SQLite/navcache properly cleans up all resources there, i.e. by closing files etc - as far as I remember, the navcache is not an actual/proper &amp;quot;SGSubsystem&amp;quot; - so maybe the corresponding ctors aren't getting called during segfaults/crashes - IIRC, it's implemented as a singleton:&lt;br /&gt;
{{flightgear url|commit=49ce7cd318d00be44c43cffea028a6556104fe18|path=src/Main/fg_init.cxx|line=570}}&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=228533#p228533&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: FATAL ERROR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Dec 31st, 2014&lt;br /&gt;
  | added   = Dec 31st, 2014&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Read only database ===&lt;br /&gt;
On Windows, versions of Flightgear up to 2017.1.1 can have problems restarting if the simulator did not close normally. This usually results in a message about a readonly database, e.g.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Sqlite error : attempt to write a readonly database received from DELETE FROM groundnet_edge&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Sqlite error : attempt to write a readonly database&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The solution is to delete the &amp;lt;code&amp;gt;fgfs.pid&amp;lt;/code&amp;gt; file from &amp;lt;code&amp;gt;yourusername/AppData/Roaming/flightgear.org&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that this was a long-standing bug and the established solution was to delete the whole &amp;lt;code&amp;gt;yourusername/AppData/Roaming/flightgear.org&amp;lt;/code&amp;gt; directory. Although this works, it should not be necessary to fix the problem; deleting the &amp;lt;code&amp;gt;fgfs.pid&amp;lt;/code&amp;gt; file should allow Flightgear to start.&lt;br /&gt;
&lt;br /&gt;
The root cause of the problem should be fixed in Flightgear 2017.1.2.&lt;br /&gt;
&lt;br /&gt;
=== Corruption due to crashes ===&lt;br /&gt;
The navcache also seems to get corrupted during segfaults/crashes, especially on Windows, but more recently also on OSX:&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= Sqlite error : attempt to write a readonly database received from DELETE FROM groundnet_edge&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=250389#p250389&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Sqlite error&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;daniel36&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jul 9th, 2015&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |at least on my 10.7 build, I’m seeing an issue with the nav-cache not initialising. This is actually good, because it gives me a way, finally, to trace down the ‘nav-cache never initialises’ bug that some folks have reported. But it will take a little time. Since the same binary works perfectly on my 10.10 box, I assume it’s something /very/ subtle, probably uninitialised memory or some tiny change in zlib’s gzread functions (since we use the system Zlib library which hence could be different between 10.7 and 10.10).&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33457470/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Release 3.4.0 is coming&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2015-02-18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I'd sugest to review the atexit() handlers in $FG_SRC/Main to ensure that the SQLite/navcache properly cleans up all resources there, i.e. by closing files etc - as far as I remember, the navcache is not an actual/proper &amp;quot;SGSubsystem&amp;quot; - so maybe the corresponding ctors aren't getting called during segfaults/crashes - IIRC, it's implemented as a singleton:&lt;br /&gt;
{{flightgear url|commit=49ce7cd318d00be44c43cffea028a6556104fe18|path=src/Main/fg_init.cxx|line=570}}&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=228533#p228533&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: FATAL ERROR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Wed Dec 31&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== High Level Architecture ==&lt;br /&gt;
{{Main article|High-Level Architecture}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= we'll need the capability to to have two clients access the NavDB concurrently - I've hit lots of errors trying to do this&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34725710/&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;[Flightgear-devel] HLA Update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Dec 29th, 2015&lt;br /&gt;
  | added   = Dec 29th, 2015&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I'm looking forward to some feedback and Python code from Jean-Paul to start working on a NavDataCache interface, to create a 'nav_data_cache' or 'navdb' Python C/C++ module. I also had the idea of running this subsystem in a thread. This avoids adding more strain to the main loop, making FGPythonSys even more inconspicuous.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34798001/&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] A FGPythonSys implementation: The embedded&lt;br /&gt;
 Python interpreter as a FlightGear subsystem.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Edward d'Auvergne&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jan 26th, 2016&lt;br /&gt;
  | added   = Jan 26th, 2016&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= it would be possibly to deprecate virtually all the custom Nasal APIs in favour of commands, but much harder to do that solely using properties. (Think about searching the NavDB or appending a waypoint to a flightplan). If we started moving in that direction, we don’t need to create separate APIs for multiple languages, they simply work using the properties + commands system, and the command system already has the exact set of property modification operations you proposed.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34795592/&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Designing a thread-safe property tree API&lt;br /&gt;
 (was Re: A FGPythonSys implementation: ...)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jan 26th, 2016&lt;br /&gt;
  | added   = Jan 26th, 2016&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= it would conceptually be the right thing to do to turn the navdb/positioned stuff into a &amp;quot;client/server&amp;quot; subsystem where the navdb acts as a server that can handle client-requests asynchronously. The funny thing is that SQLite itself is obviously based on the whole &amp;quot;server-less&amp;quot; notion. &lt;br /&gt;
&lt;br /&gt;
From a design standpoint, the NavDB is basically an &amp;quot;environmental&amp;quot; subsystem, i.e. heavily reliant on the underlying terrain/scenery because it provides navaids - thus, in a distributed/MP setup it would actually make sense for multi-instance setups to query the same DB to replicate/sync state.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=212346#p212346&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Performance: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jun 11th, 2014&lt;br /&gt;
  | added   = Jun 11th, 2014&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= There are so many similar programs that need to access this very data, that it is simply inefficient to copy/paste code and adapt that, and in a MP/VA or ATC scenario, you would also want to ensure that all &amp;quot;players&amp;quot; (clients) are using the same underlying database, which is why I believe that it would be better to have a true server/client model, where fgfs would only connect to a locally running database - which in the fg case, could even be running in a backgound thread (e.g. via HLA).&lt;br /&gt;
It is already unfortunate that the navcache is not a true subsystem and that its internal data dependencies are not formalied, so the whole thing could just as well be moved to simgear, so that OpenRadar/ATC-Pie can more easily reuse it (either as a binary library or via  standalone program/networking (IPC)).&lt;br /&gt;
Note that this is not a new discussion/idea, for some background info refer to the atlas project on sourceforge:&lt;br /&gt;
[http://sourceforge.net/p/atlas/feature-requests/10/ http://sourceforge.net/p/atlas/feature-requests/10/]&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/atlas/feature-requests/16/ http://sourceforge.net/p/atlas/feature-requests/16/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=264700#p264700&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Improving stability: No-scenery-emergency mode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Nov 16th, 2015&lt;br /&gt;
  | added   = Nov 16th, 2015&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Upcoming developments ==&lt;br /&gt;
we are looking at making the loading of this data asynchronous so startup is not delayed, but we also lack Windows developers who can investigate the issue, since Linux, Mac and some Windows boxes are absolutely fine.&lt;br /&gt;
&lt;br /&gt;
There's future work to move even more data into the cache — for example parking positions — which will further help performance for FMS / map systems since we &lt;br /&gt;
won't need to parse lots of XML data repeatedly. &lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |This makes me think I should do some validation on FG_HOME, i.e that it exists, and is writeable. That would have caught the UTF-8 / windows-local-8-bit encoding screw-up I had for 2.10, too. I think we have all the pieces to do this, will come up with something in the next few days.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192879#p192879&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Wed Oct 30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I need people to track down *why* the cache rebuild is being triggered. The possibilities are: a scenery path reconfiguration (added / removed / re-ordered scenery paths) or that one of the .dat files we build the cache from has been modified. All the .dat files (Navaids/nav.dat.gz, Airports/apt.dat.gz, and similar .dat.gz files) should have a modification timestamp that corresponds to when the program was installed. If people could confirm that's the case, it would be one useful step.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The next step after that is for someone with a debug build (compiled from source) to step through the cache startup code and see which conditional is tripping the rebuild.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=191948#p191948&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: Loading forever: &amp;quot;loading navigation data&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Oct 17&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Having the option would be awesome, because it would greatly simplify troubleshooting, as you say - so having additional startup options that explicitly override/ignore autosave.xml and ~/.fgfsrc would be '''awesome''' as it would be much more straightforward to exclude a plethora of potential problem sources, we could save '''tons''' of time that way - but I wouldn't make it part of the same option. Ideally, being able to ignore autosave/fgfsrc would be different command-line arguments.Preferably, we would have a &amp;quot;soft ignore&amp;quot; mode (retaining data) and a &amp;quot;delete&amp;quot; mode, which resets any local settings that may interfere with FG.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192621#p192621&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I'll add a --rebuild-caches option and it can drop the aircraft and terrasync caches too.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192464#p192464&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Oct 24&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I mean the update cache which stops us spamming the server with update requests every launch - instead we only check the server once per 24-hour period, which greatly cuts down on nuisance update polls to the server.&lt;br /&gt;
The only thing I can't decide if this option should drop is the auto-save file. Then the options becomes a bit more of a 'reset to defaults', which might be more useful since people often end up with old values in their auto-save and again we don't have a UI to drop it.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192619#p192619&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |So I think only the following is missing:&amp;lt;br/&amp;gt;&lt;br /&gt;
* make --restore-defaults kill the caches (nav-cache, aircraft cache and terrasync update cache)&lt;br /&gt;
* add a --ignore-defaults which stops both read *and* writing of autosave.xml&lt;br /&gt;
* log any XML config file we process&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192632#p192632&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
{{Note|Also see [[A NavDB Web Service]].}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |We do not currently have a dedicated interface for exchanging internal data structures like the navdb, terrain data or images/video streams. However, something like that would be generally useful for a whole number of purposes and projects, so please feel free to leave a feature request at the tracker: &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://flightgear-bugs.googlecode.com/ http://flightgear-bugs.googlecode.com/]&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=186972#p186972&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: How to access navigation data in FlightGear ?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Jul 15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |the navigation databases&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Currently these are gzipped compressed text - they’re not small and currently we change them infrequently but the upstream sources does receive updates relatively often (monthly?). Again there is some code dependency here, since new versions could break things.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33492344/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGData splitting / assembling the base package&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2015-02-25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |My proposed initial solution, but this is where the discussion starts:&lt;br /&gt;
move the category [1] files, and potentially unzipped [2] files, into the main flightgear repository, under, say, ‘flightgear/data’. I don’t think a submodule gains us anything, all the files are tiny so it won’t bloat the repository. (And it avoids the complexity of forgetting to update the submodule - but if that issue can be solved, a submodule also works for me)&lt;br /&gt;
&lt;br /&gt;
(We need to switch to unzipping the category [2] files anyway, for another improvement to startup performance, and once they are text rather than binary, Git will be able to diff them efficiently, hence my thought they can maybe be treated the same way. But I’m not sure. Also there is the option to start getting upstream updates more often, e.g. between FG releases)&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33492344/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGData splitting / assembling the base package&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2015-02-25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== FGPositioned ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |it will become a base for the following:&lt;br /&gt;
* FGAirport&lt;br /&gt;
* FGRunway&lt;br /&gt;
* FGFix&lt;br /&gt;
* FGNavRecord&lt;br /&gt;
* ATCData&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/20111781/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGPositioned refactoring&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2008-08-16&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I've been carrying on with my experiments with my FGPositioned idea, and I now have several of my original steps done:&lt;br /&gt;
* Fix, NavRecord, Airport and Runway all inherit the base class&lt;br /&gt;
* they all live on the heap, where previously Runway and Fix were stack based, and hence rather heavy to work with&amp;lt;br/&amp;gt;&lt;br /&gt;
* since the liftetime is now (generally) long, I can use a  persistent spatial index (currently not Matthias', but it's an easy,  internal change)&lt;br /&gt;
* I can query all of the above in a unified fashion, and add more types easily (Jon Stockhill has obstacle data I can add in)&lt;br /&gt;
* I've written a bunch of test cases, all of which pass identically  on the mainline and with my changes applied&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/20257459/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGPositioned update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2008-09-06&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |it's also the starting point for working on improving the airways code and creating a standard FGFlightPlan class - an airway or flightplan is essentially built out of FGPositioned objects, tagged with some extra data.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/20111781/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGPositioned refactoring&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2008-08-16&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
You can use any SQLite editor/browser to access the navcache file and visualize it&lt;br /&gt;
There are basically two ways to access this via Nasal 1) the &amp;quot;proper&amp;quot; way is to use/extend the NasalPositioned(_cpbind).cxx file in $FG_SRC/Scripting - with 2), being direct SQLite access using the sqlite module from the Nasal github repo.&lt;br /&gt;
&lt;br /&gt;
Either way, you would need to modify/patch and rebuild fgfs.&lt;br /&gt;
In general, I would recommend to file a feature request and/or raise this on the devel list.&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= my suggestion would be to use an SQLite browser/editor and go to $FG_HOME to open the navcache there (see the wiki link above), you can then inspect the whole navcache - what you find in it is basically a mix up different sources (including Xplane data) - and most of it is available at run-time via FGPositioned APIs and their corresponding Nasal equivalents.&lt;br /&gt;
So given that we are talking about Python and Java here, you could either turn the FGPositioned C++ stuff into a reusable library for use by OpenRadar/ATC-Pie, or simply read the navcache directly. With the latter having the disadvantage that people need to have fgfs installed locally.&lt;br /&gt;
&lt;br /&gt;
Otherwise, you could also extract the relevant data from the navcache and ship that with both ATC clients.&lt;br /&gt;
However, please see the wiki: the main guy behind the navcache is Zakalawe, and he would prefer if people didn't access/process the navcache directly but only use the FG-specific APIs.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=264700#p264700&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Improving stability: No-scenery-emergency mode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Nov 16th, 2015&lt;br /&gt;
  | added   = Nov 16th, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= this opens up the question if the navcache should really be an integrated component, or if it might not be better to turn it into a standalone library/program that could be used by multiple processes, regardless of fgfs having to be installed/running, i.e. some form of true database.&lt;br /&gt;
Overall that would seem like the best solution to me, because the navcache is a feature that has severely crippled the fg experience for many new users, so that it would make sense to move this to a dedicated/standalone component and use it like a conventional database.&lt;br /&gt;
There are so many similar programs that need to access this very data, that it is simply inefficient to copy/paste code and adapt that, and in a MP/VA or ATC scenario, you would also want to ensure that all &amp;quot;players&amp;quot; (clients) are using the same underlying database, which is why I believe that it would be better to have a true server/client model, where fgfs would only connect to a locally running database - which in the fg case, could even be running in a backgound thread (e.g. via HLA).&lt;br /&gt;
It is already unfortunate that the navcache is not a true subsystem and that its internal data dependencies are not formalied, so the whole thing could just as well be moved to simgear, so that OpenRadar/ATC-Pie can more easily reuse it (either as a binary library or via  standalone program/networking (IPC)).&lt;br /&gt;
Note that this is not a new discussion/idea, for some background info refer to the atlas project on sourceforge:&lt;br /&gt;
[[A NavDB Web Service]]&lt;br /&gt;
If in doubt, get in touch with Zakalawe on the devel list, the navcache is his baby after all ...&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=264700#p264700&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Improving stability: No-scenery-emergency mode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Nov 16th, 2015&lt;br /&gt;
  | added   = Nov 16th, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Accessing via Nasal ===&lt;br /&gt;
{{Move|Nasal library|User talk:Red Leader#Nasal positioned APIs .28navcache.29}}&lt;br /&gt;
&lt;br /&gt;
Several [[Nasal]] functions exist to query the navdata cache of 'positioned' objects, i.e items with a defined location in the simulation world. (These objects all inherit from &amp;lt;tt&amp;gt;FGPositioned&amp;lt;/tt&amp;gt; internally). The functions return either one, or a vector, of wrapped Nasal objects. These are efficient, but unlike a hash they cannot simply be &amp;lt;tt&amp;gt;debug.dump()&amp;lt;/tt&amp;gt; to view all their members and methods, many of which are computed in a lazy fashion (i.e. on demand).&lt;br /&gt;
&lt;br /&gt;
When the query functions take a position, the default value is the current aircraft location. An alternative location can be supplied by passing two number (lat, lon), a Geo.Coord object, or any positioned object or waypoint retrieved from another query.&lt;br /&gt;
&lt;br /&gt;
;findAirportsWithinRange()&lt;br /&gt;
: Find all airports within a specified range (in NM) of the current position or explicit position&lt;br /&gt;
;findAirportsByICAO()&lt;br /&gt;
: Find airports matching a complete or partial ICAO code. In particular this can search for all airports starting with a two or three letter prefix.&lt;br /&gt;
;navinfo()&lt;br /&gt;
: Return a list of navaids near a location by type and ident. Type should be 'fix', 'vor', 'ndb', 'dme'&lt;br /&gt;
;findNavaidsWithinRange()&lt;br /&gt;
: Search for navaids within a particular range (in NM), optionally limited by type. This provides a 'find the closest ILS' function&lt;br /&gt;
;findNavaidByFrequency()&lt;br /&gt;
: find the closest navaid (of a particular type) matching an exact frequency&lt;br /&gt;
;findNavaidsByFrequency()&lt;br /&gt;
: find all the navaids matching a particular frequency and optional type, sorted by distance from the search location.&lt;br /&gt;
&lt;br /&gt;
All positioned objects returned by the above methods have the following members:&lt;br /&gt;
;id&lt;br /&gt;
: Identifier - ICAO code for airports, published ident for navaids and fixes&lt;br /&gt;
;lon&lt;br /&gt;
: degrees longitude&lt;br /&gt;
;lat&lt;br /&gt;
: degrees latitude&lt;br /&gt;
&lt;br /&gt;
Depending on type, the following members are also available:&lt;br /&gt;
;name&lt;br /&gt;
: the full name of the airport or navaid if one is defined&lt;br /&gt;
;elevation&lt;br /&gt;
: the ASL elevation of the object in feet&lt;br /&gt;
&lt;br /&gt;
For navaids, the following members are available:&lt;br /&gt;
;frequency&lt;br /&gt;
: the navaid frequency in kHz&lt;br /&gt;
;type&lt;br /&gt;
: the navaid type as a string: vor, dme, loc, ils, ndb&lt;br /&gt;
;course&lt;br /&gt;
: the degrees course associated with the navaid, for localiser and ILS stations&lt;br /&gt;
&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Core development projects]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Navdata_cache&amp;diff=107414</id>
		<title>Navdata cache</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Navdata_cache&amp;diff=107414"/>
		<updated>2017-03-18T17:11:53Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Read only database */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&lt;br /&gt;
{{Stub}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
{{Out of date}}&lt;br /&gt;
{{See also|Fgfs.pid}}&lt;br /&gt;
&lt;br /&gt;
{{Caution|This feature is crucial to the FlightGear startup sequence, but is unfortunately infamous for rendering FlightGear non-startable under certain situations. Particularly, after experiencing a FlightGear crash or when installing/running multiple FlightGear instances at the same time&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url = http://sourceforge.net/p/flightgear/mailman/message/33029411/&lt;br /&gt;
|title = &amp;lt;nowiki&amp;gt;[Flightgear-devel] Random oddities&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|author = Thorsten Renk&lt;br /&gt;
| date   = Nov 12th, 2014&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;. It is assumed that this is due to lack of synchronization and missing &amp;lt;code&amp;gt;atexit()&amp;lt;/code&amp;gt; handlers&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url = http://forum.flightgear.org/viewtopic.php?f=17&amp;amp;t=24998&amp;amp;p=228533&amp;amp;#p228533&lt;br /&gt;
|title = &amp;lt;nowiki&amp;gt;FATAL ERROR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|author = Hooray&lt;br /&gt;
| date   = Wed Dec 31, 2014 9:24 am &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
|url = http://forum.flightgear.org/viewtopic.php?f=17&amp;amp;t=24998&amp;amp;p=228533&amp;amp;#p228533&lt;br /&gt;
|title = &amp;lt;nowiki&amp;gt;http://forum.flightgear.org/viewtopic.php?f=35&amp;amp;t=27364&amp;amp;p=261267&amp;amp;hilit=#p261267&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|author = Hooray&lt;br /&gt;
| date   = Wed Oct 21, 2015 1:55 pm &lt;br /&gt;
}}&amp;lt;/ref&amp;gt;, so that the SQLite database may get corrupted under certain circumstances.&lt;br /&gt;
&lt;br /&gt;
The way to resolve this issue is by renaming/deleting the navdata cache entirely (&amp;lt;code&amp;gt;navdata_''x''_''y''.cache&amp;lt;/code&amp;gt;), renaming the folder containing [[$FG_HOME]] so that the cache gets rebuilt during the next start, or to use the powerful yet dangerous &amp;lt;code&amp;gt;--restore-defaults&amp;lt;/code&amp;gt; command line option to reset all user settings to their defaults and to rebuild the cache. &lt;br /&gt;
&lt;br /&gt;
On Windows another option is to go to ''yourusername''/AppData/Roaming/flightgear.org, and delete the navdata file inside that folder. If it still crashes, rename the flightgear.org folder to flightgearBAK.orgBAK, which will fix the errors, but you lose your user settings, such as options you have set in sim (ALS, don't show fps / ms, etc), joystick settings, etc ... In case FG starts up well, you can restore these settings by copiing back the files from the backup directory.&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this bug is hard to reproduce. So if you are encountering this bug, please be sure to {{create ticket|create a ticket}}, including instructions for reproducing the bug, so that this can be hopefully fixed.}}&lt;br /&gt;
&lt;br /&gt;
[[File:Fghome-3.7.png|400px|right|Screen shot showing structure of [[$FG_HOME]]]]&lt;br /&gt;
[[File:Navcache-schema.png|right|400px|Screen shot showing the SQLite3 schema of the nav cache using a GUI SQLite database editor]]&lt;br /&gt;
&lt;br /&gt;
The '''navdata cache''', '''navdb''', (sometimes also '''navcache''') is automatically built by FlightGear during startup by parsing/processing the gzipped &amp;lt;code&amp;gt;nav.dat&amp;lt;/code&amp;gt; file and building a spatial SQLite-based database in [[$FG_HOME]] so that more efficient queries can be run at run-time, but, in particular when starting up/[[Reset &amp;amp; re-init|re-initializing FlightGear]].  Memory consumption is also lower, since we don't keep airports / fixes / taxiways / runways in memory until they're needed.&lt;br /&gt;
&lt;br /&gt;
This feature have been available since [[Changelog 2.10|FlightGear 2.10]] released in February 2013.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
[[File:Navcache.png|thumb|Screen shot showing several navcache (SQLite) files in $FG_HOME for various fgfs versions]]&lt;br /&gt;
&lt;br /&gt;
We need a lot of data ''available'' at startup for position init. Parsing it from apt.dat and nav.dat is 'slow', but has been optimised over the years. (Parsing 20MB of text data each launch is still kind of crazy, though) Collecting it from many XML files would also be slow, but there's a general point that we should be decoupling ''availability'' from ''loading''.&lt;br /&gt;
&lt;br /&gt;
== Cache initialization ==&lt;br /&gt;
Usually, the navdb will only be compiled once during the first start of the simulator - however, some changes may require rebuilding the cache on disk (see below for details).&lt;br /&gt;
&lt;br /&gt;
Touching the navdata files will cause a rebuild, so rebuilds need to take a 'reasonable' amount of time. Shipping the binary data improves first-launch &lt;br /&gt;
perceptions, but many applications do additional work on their first launch after an install, so it's not a top concern for the time being.&lt;br /&gt;
&lt;br /&gt;
When the scenery paths change, we have to rebuild, because Airports XML data (from the &amp;lt;code&amp;gt;&amp;amp;lt;scenery&amp;amp;gt;/Airports/&amp;lt;/code&amp;gt; tree) is overlaid into the cache, replacing the data from &amp;lt;code&amp;gt;apt.dat&amp;lt;/code&amp;gt;. This means when the search paths or order changes, we have to completely rebuild, because there's no way to restore the unmodified (prior to XML overlay) version. &lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |we should absolutely stop telling anyone to edit preferences.xml in FG_ROOT; any documentation or advice which says to should be changes ASAP. &lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192632#p192632&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Zakalawe considers the time and fragility to implement such a system much greater than the impact of a rebuild when switching scenery paths, which most people don't do very often.&lt;br /&gt;
&lt;br /&gt;
The rebuild is purely a CPU / disk-bound operation, and for most people, it takes around 60 sec for debug and 30 sec for release times for a complete rebuild. (That time will be dramatically reduced if we get the taxiway data out of &amp;lt;code&amp;gt;apt.dat&amp;lt;/code&amp;gt; in the future, since taxiways account for &amp;gt;80% of the lines in the file).&lt;br /&gt;
&lt;br /&gt;
Usually the navdb should be under 200 MB and normally even a rebuild should not take much longer than a few minutes. However, on some platforms/OS the navdb rebuild is known to take exceptionally long, which seems to affect mainly Windows users - some of whom have reported the navcache rebuild taking more than 30 minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical details ==&lt;br /&gt;
[[File:Sqliteman-showing-navcache.png|right|400px|sqliteman (Qt based) showing navcache view]]&lt;br /&gt;
&lt;br /&gt;
The nav-cache is versioned, it will be wiped when the cache schema version changes, but right now it’s not wiped when the flightgear version does.&lt;br /&gt;
&lt;br /&gt;
The DB schema version is tracked internally in the file, and if the schema changes during a development version (3.3 or whatever) it will force a drop and rebuild.&lt;br /&gt;
&lt;br /&gt;
The naming scheme is why the first run of a new stable release of FG always does a cache rebuild - which means you can run stable and dev versions side by side without continual cache rebuilds of course.&lt;br /&gt;
&lt;br /&gt;
we /do/ also run a Sqlite verification check on the DB at launch time - this should catch many kinds of file-/index- level corruption (bad commit, etc), and in any case where we detect an issue, the solution is again to drop the cache and rebuild.&lt;br /&gt;
&lt;br /&gt;
The internal format of the cache (for example the fact it's a SQL DB) is deliberately opaque. There are no guarantees made about the format of the file, the SQL scheme or anything. There is a version field of course, and we're not planning or expecting any changes, but we really don't want to be tied to the current scheme if we discover problems or want to add something else in the future.&lt;br /&gt;
&lt;br /&gt;
The cache is stored in &amp;lt;code&amp;gt;[[$FG_HOME]]/navdata.cache&amp;lt;/code&amp;gt;, and is rebuilt if the timestamps on any of the data files change (&amp;lt;code&amp;gt;apt.dat&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;nav.dat&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;fix.dat&amp;lt;/code&amp;gt; and so on). When the cache needs to be rebuilt, startup will take a bit longer than before, but when the cache is valid, startup is ''much'' faster, especially for debug builds - because all the usual parsing/processing will be skipped, and the corresponding data will be read from the binary cache instead.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
A copy of your navdata.cache would be appreciated (the broken one), since of the two copies James was sent so far, neither were corrupted - they both passed the SQLite integrity check.&lt;br /&gt;
This has led James to think the issue is permissions, not corruption of the DB. Of course, there could be multiple issues. If you can find the suspect navcache, please upload it to: [https://swanson.kdab.com/owncloud/index.php/s/P0DMwvV6TdQR5CW https://swanson.kdab.com/owncloud/index.php/s/P0DMwvV6TdQR5CW] and let James know.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=304747#p304747 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: sql: attempt to write a read only database &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; zakalawe &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Feb 3rd, 2017 &lt;br /&gt;
  |added  =  Feb 3rd, 2017 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
{{Note| See also these bug reports:&lt;br /&gt;
* {{Issue|1166}} &lt;br /&gt;
* {{Issue|894}}&lt;br /&gt;
* {{Issue|1398}}&lt;br /&gt;
* {{Issue|1774}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The whole navdb build thing is proving to be the single most problematic feature added in the last couple of years affecting potentially all users, because unlike most additions, it's not an optional thing, i.e. it must be executed, and is needed for FG to work - given that, it would really make sense exploring to ship a pre-built navdb with future FlightGear releases, or at least factor out the corresponding code so that it can be provided as a standalone executable that is shipped as part of fgfs, so that it can be executed by the installer, without fgfs being affected by it inevitably - that way, troubleshooting related issues should also become much easier, in addition, this separation would facilitate having sync'ed navdbs across multiple instances (think virtual ATC, multiplayer, combat simulation, or even just a fsweekend/linuxTag-like setup).&lt;br /&gt;
&lt;br /&gt;
This work would also greatly facilitate turning the navdb into a HLA/IPC-enabled service one day.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293128#p293128 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Hooray &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 25th, 2016 &lt;br /&gt;
  |added  =  Aug 25th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
all startup/repositioning logic needs navdb access - otherwise, it  would be possible to also make the whole system optional during startup/runtime, i.e. via some kind of property, so that people could opt-out until certain issues are addressed.&lt;br /&gt;
Obviously, that would break any conventional radio-navigation equipped aircraft, but also interactive mapping/charting avionics/dialogs, so may not be desirable ...&lt;br /&gt;
Anyway, moving the navdb build into the release process should be possible, and would help address this, until the underlying C++ code has been ironed out&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293203#p293203 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Hooray &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 26th, 2016 &lt;br /&gt;
  |added  =  Aug 26th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unfortunately the cache must be regenerated each time you change scenery paths.  So you cannot pre-build it.  Recent changes to remove dynamic airports from it should help significantly, but it needs to be made more fail-safe.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293224#p293224 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; bugman &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 27th, 2016 &lt;br /&gt;
  |added  =  Aug 27th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
the issue has been around for so long, it would be better to recognie that the system needs to be separated/split up, so that a pre-built database can be provided, or so that a central navdb &amp;quot;service&amp;quot; (server) can be used - that way, it could still be a separate executable that doesn't cripple the fgfs experience for &amp;amp;gt;= ~25% of our newcomers&lt;br /&gt;
The whole thing started out as a navdb after all, there is no reason why we should be adding so many inter-dependencies to it until  some of the key problems have been solved.&lt;br /&gt;
Besides, this isn't the first time that fgfs had a cached navdb layer (anybody here remember the original metakit implementation from the early 2000s?)&lt;br /&gt;
In its current form, this whole feature contributes to the majority of bug reports, and actual crashes, and is causing tons of support threads on the forum.&lt;br /&gt;
Thus, it would definitely make sense to review what's there currently, and see if some things can be changed/re-implemented to make this a less critical feature&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
  |url    =  https://forum.flightgear.org/viewtopic.php?p=293256#p293256 &lt;br /&gt;
  |title  =  &amp;lt;nowiki&amp;gt; Re: takes a long time to open &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |author =  &amp;lt;nowiki&amp;gt; Hooray &amp;lt;/nowiki&amp;gt; &lt;br /&gt;
  |date   =  Aug 27th, 2016 &lt;br /&gt;
  |added  =  Aug 27th, 2016 &lt;br /&gt;
  |script_version = 0.40 &lt;br /&gt;
  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Windows Issues ===&lt;br /&gt;
As as we know, it's a Windows-specific issue related to SQLite and/or the way $FG_HOME works on Windows: http://wiki.flightgear.org/$FG_HOME&lt;br /&gt;
Most core developers, as well as most people who regularly build from source, are using non-Windows OS, i.e. are UNIX-based (MacOS/Linux etc), where the problem usually doesn't show up at all, which makes it hard to reproduce for people able to troubleshoot these things. And unfortunately, we don't really have any Windows-based core developers remaining - the main guy who would handle such compatibility issues on Windows used to be FredB who hasn't been seen in quite a while - and the main guy behind the navcache/navdb is also a Mac user, so not in a good position to reproduce these things, absent some complex VM setup.&lt;br /&gt;
&lt;br /&gt;
Thus, if you are in any position to provide additional feedback/info using development tools (e.g. a debugger) that would indeed be very helpful.&lt;br /&gt;
For now, it is even clear if this is related to the location of $FG_HOME on Windows (which has recently changed AFAIK), or if it's related to SQLite itself.&lt;br /&gt;
Personally, I've been able to reproduce a handful of SQLite related issues - but I found those difficult to troubleshoot due to the way SQLite is used by FlightGear, i.e. without any logging support/options being exposed currently.&lt;br /&gt;
&lt;br /&gt;
In general, the SQLite-navdb is a great idea - but in practice, it's been crippling FlightGear quite severely since the day it's been added for a number of users, especially those on Windows - simply because we're getting very little action-able feedback/community support, and core contributors who regularly build from source are usually not able to reproduce these issues, while also typically not being very familiar with potential Windows-level issues.&lt;br /&gt;
&lt;br /&gt;
Again, it would really help to file an issue for this - or at least add to any existing (open) ones to raise some awareness of this, and hopefully help improve the situation over time.&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I'd sugest to review the atexit() handlers in $FG_SRC/Main to ensure that the SQLite/navcache properly cleans up all resources there, i.e. by closing files etc - as far as I remember, the navcache is not an actual/proper &amp;quot;SGSubsystem&amp;quot; - so maybe the corresponding ctors aren't getting called during segfaults/crashes - IIRC, it's implemented as a singleton:&lt;br /&gt;
{{flightgear url|commit=49ce7cd318d00be44c43cffea028a6556104fe18|path=src/Main/fg_init.cxx|line=570}}&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=228533#p228533&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: FATAL ERROR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Dec 31st, 2014&lt;br /&gt;
  | added   = Dec 31st, 2014&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Read only database ===&lt;br /&gt;
On Windows, versions of Flightgear up to 2017.1.1 can have problems restarting if the simulator did not close normally. This usually results in a message about a readonly database, e.g.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Sqlite error : attempt to write a readonly database received from DELETE FROM groundnet_edge&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Sqlite error : attempt to write a readonly database&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The solution is to delete the &amp;lt;code&amp;gt;fgfs.pid&amp;lt;/code&amp;gt; file from [[$FG_HOME]]. On Windows, this will usually be &amp;lt;code&amp;gt;C:\Users\yourname\Documents\FlightGear&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Note that this was a long-standing bug and the established solution was to delete all the contents of [[$FG_HOME]] or the whole directory. Although this works, it should not be necessary to fix the problem; deleting the &amp;lt;code&amp;gt;fgfs.pid&amp;lt;/code&amp;gt; file should allow Flightgear to start.&lt;br /&gt;
&lt;br /&gt;
The root cause of the problem should be fixed in Flightgear 2017.1.2.&lt;br /&gt;
&lt;br /&gt;
=== Corruption due to crashes ===&lt;br /&gt;
The navcache also seems to get corrupted during segfaults/crashes, especially on Windows, but more recently also on OSX:&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= Sqlite error : attempt to write a readonly database received from DELETE FROM groundnet_edge&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=250389#p250389&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Sqlite error&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;daniel36&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jul 9th, 2015&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |at least on my 10.7 build, I’m seeing an issue with the nav-cache not initialising. This is actually good, because it gives me a way, finally, to trace down the ‘nav-cache never initialises’ bug that some folks have reported. But it will take a little time. Since the same binary works perfectly on my 10.10 box, I assume it’s something /very/ subtle, probably uninitialised memory or some tiny change in zlib’s gzread functions (since we use the system Zlib library which hence could be different between 10.7 and 10.10).&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33457470/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Release 3.4.0 is coming&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2015-02-18&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I'd sugest to review the atexit() handlers in $FG_SRC/Main to ensure that the SQLite/navcache properly cleans up all resources there, i.e. by closing files etc - as far as I remember, the navcache is not an actual/proper &amp;quot;SGSubsystem&amp;quot; - so maybe the corresponding ctors aren't getting called during segfaults/crashes - IIRC, it's implemented as a singleton:&lt;br /&gt;
{{flightgear url|commit=49ce7cd318d00be44c43cffea028a6556104fe18|path=src/Main/fg_init.cxx|line=570}}&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=228533#p228533&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: FATAL ERROR&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Wed Dec 31&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== High Level Architecture ==&lt;br /&gt;
{{Main article|High-Level Architecture}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= we'll need the capability to to have two clients access the NavDB concurrently - I've hit lots of errors trying to do this&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34725710/&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;[Flightgear-devel] HLA Update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Stuart Buchanan&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Dec 29th, 2015&lt;br /&gt;
  | added   = Dec 29th, 2015&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= I'm looking forward to some feedback and Python code from Jean-Paul to start working on a NavDataCache interface, to create a 'nav_data_cache' or 'navdb' Python C/C++ module. I also had the idea of running this subsystem in a thread. This avoids adding more strain to the main loop, making FGPythonSys even more inconspicuous.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34798001/&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] A FGPythonSys implementation: The embedded&lt;br /&gt;
 Python interpreter as a FlightGear subsystem.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Edward d'Auvergne&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jan 26th, 2016&lt;br /&gt;
  | added   = Jan 26th, 2016&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= it would be possibly to deprecate virtually all the custom Nasal APIs in favour of commands, but much harder to do that solely using properties. (Think about searching the NavDB or appending a waypoint to a flightplan). If we started moving in that direction, we don’t need to create separate APIs for multiple languages, they simply work using the properties + commands system, and the command system already has the exact set of property modification operations you proposed.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://sourceforge.net/p/flightgear/mailman/message/34795592/&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: [Flightgear-devel] Designing a thread-safe property tree API&lt;br /&gt;
 (was Re: A FGPythonSys implementation: ...)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jan 26th, 2016&lt;br /&gt;
  | added   = Jan 26th, 2016&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= it would conceptually be the right thing to do to turn the navdb/positioned stuff into a &amp;quot;client/server&amp;quot; subsystem where the navdb acts as a server that can handle client-requests asynchronously. The funny thing is that SQLite itself is obviously based on the whole &amp;quot;server-less&amp;quot; notion. &lt;br /&gt;
&lt;br /&gt;
From a design standpoint, the NavDB is basically an &amp;quot;environmental&amp;quot; subsystem, i.e. heavily reliant on the underlying terrain/scenery because it provides navaids - thus, in a distributed/MP setup it would actually make sense for multi-instance setups to query the same DB to replicate/sync state.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=212346#p212346&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Performance: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Jun 11th, 2014&lt;br /&gt;
  | added   = Jun 11th, 2014&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= There are so many similar programs that need to access this very data, that it is simply inefficient to copy/paste code and adapt that, and in a MP/VA or ATC scenario, you would also want to ensure that all &amp;quot;players&amp;quot; (clients) are using the same underlying database, which is why I believe that it would be better to have a true server/client model, where fgfs would only connect to a locally running database - which in the fg case, could even be running in a backgound thread (e.g. via HLA).&lt;br /&gt;
It is already unfortunate that the navcache is not a true subsystem and that its internal data dependencies are not formalied, so the whole thing could just as well be moved to simgear, so that OpenRadar/ATC-Pie can more easily reuse it (either as a binary library or via  standalone program/networking (IPC)).&lt;br /&gt;
Note that this is not a new discussion/idea, for some background info refer to the atlas project on sourceforge:&lt;br /&gt;
[http://sourceforge.net/p/atlas/feature-requests/10/ http://sourceforge.net/p/atlas/feature-requests/10/]&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/p/atlas/feature-requests/16/ http://sourceforge.net/p/atlas/feature-requests/16/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=264700#p264700&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Improving stability: No-scenery-emergency mode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Nov 16th, 2015&lt;br /&gt;
  | added   = Nov 16th, 2015&lt;br /&gt;
  | script_version = 0.23&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Upcoming developments ==&lt;br /&gt;
we are looking at making the loading of this data asynchronous so startup is not delayed, but we also lack Windows developers who can investigate the issue, since Linux, Mac and some Windows boxes are absolutely fine.&lt;br /&gt;
&lt;br /&gt;
There's future work to move even more data into the cache — for example parking positions — which will further help performance for FMS / map systems since we &lt;br /&gt;
won't need to parse lots of XML data repeatedly. &lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |This makes me think I should do some validation on FG_HOME, i.e that it exists, and is writeable. That would have caught the UTF-8 / windows-local-8-bit encoding screw-up I had for 2.10, too. I think we have all the pieces to do this, will come up with something in the next few days.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192879#p192879&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Wed Oct 30&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I need people to track down *why* the cache rebuild is being triggered. The possibilities are: a scenery path reconfiguration (added / removed / re-ordered scenery paths) or that one of the .dat files we build the cache from has been modified. All the .dat files (Navaids/nav.dat.gz, Airports/apt.dat.gz, and similar .dat.gz files) should have a modification timestamp that corresponds to when the program was installed. If people could confirm that's the case, it would be one useful step.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
The next step after that is for someone with a debug build (compiled from source) to step through the cache startup code and see which conditional is tripping the rebuild.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=191948#p191948&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: Loading forever: &amp;quot;loading navigation data&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Oct 17&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |Having the option would be awesome, because it would greatly simplify troubleshooting, as you say - so having additional startup options that explicitly override/ignore autosave.xml and ~/.fgfsrc would be '''awesome''' as it would be much more straightforward to exclude a plethora of potential problem sources, we could save '''tons''' of time that way - but I wouldn't make it part of the same option. Ideally, being able to ignore autosave/fgfsrc would be different command-line arguments.Preferably, we would have a &amp;quot;soft ignore&amp;quot; mode (retaining data) and a &amp;quot;delete&amp;quot; mode, which resets any local settings that may interfere with FG.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192621#p192621&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I'll add a --rebuild-caches option and it can drop the aircraft and terrasync caches too.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192464#p192464&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Thu Oct 24&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I mean the update cache which stops us spamming the server with update requests every launch - instead we only check the server once per 24-hour period, which greatly cuts down on nuisance update polls to the server.&lt;br /&gt;
The only thing I can't decide if this option should drop is the auto-save file. Then the options becomes a bit more of a 'reset to defaults', which might be more useful since people often end up with old values in their auto-save and again we don't have a UI to drop it.&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192619#p192619&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |So I think only the following is missing:&amp;lt;br/&amp;gt;&lt;br /&gt;
* make --restore-defaults kill the caches (nav-cache, aircraft cache and terrasync update cache)&lt;br /&gt;
* add a --ignore-defaults which stops both read *and* writing of autosave.xml&lt;br /&gt;
* log any XML config file we process&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=192632#p192632&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: NavCache:init failed:Sqlite error:Sqlite API abuse&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;zakalawe&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Sat Oct 26&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
{{Note|Also see [[A NavDB Web Service]].}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |We do not currently have a dedicated interface for exchanging internal data structures like the navdb, terrain data or images/video streams. However, something like that would be generally useful for a whole number of purposes and projects, so please feel free to leave a feature request at the tracker: &amp;lt;br/&amp;gt;&lt;br /&gt;
[http://flightgear-bugs.googlecode.com/ http://flightgear-bugs.googlecode.com/]&lt;br /&gt;
  |{{cite web |url=http://forum.flightgear.org/viewtopic.php?p=186972#p186972&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;Re: How to access navigation data in FlightGear ?&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;Mon Jul 15&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |the navigation databases&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Currently these are gzipped compressed text - they’re not small and currently we change them infrequently but the upstream sources does receive updates relatively often (monthly?). Again there is some code dependency here, since new versions could break things.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33492344/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGData splitting / assembling the base package&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2015-02-25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |My proposed initial solution, but this is where the discussion starts:&lt;br /&gt;
move the category [1] files, and potentially unzipped [2] files, into the main flightgear repository, under, say, ‘flightgear/data’. I don’t think a submodule gains us anything, all the files are tiny so it won’t bloat the repository. (And it avoids the complexity of forgetting to update the submodule - but if that issue can be solved, a submodule also works for me)&lt;br /&gt;
&lt;br /&gt;
(We need to switch to unzipping the category [2] files anyway, for another improvement to startup performance, and once they are text rather than binary, Git will be able to diff them efficiently, hence my thought they can maybe be treated the same way. But I’m not sure. Also there is the option to start getting upstream updates more often, e.g. between FG releases)&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/33492344/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGData splitting / assembling the base package&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2015-02-25&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== FGPositioned ==&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |it will become a base for the following:&lt;br /&gt;
* FGAirport&lt;br /&gt;
* FGRunway&lt;br /&gt;
* FGFix&lt;br /&gt;
* FGNavRecord&lt;br /&gt;
* ATCData&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/20111781/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGPositioned refactoring&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2008-08-16&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |I've been carrying on with my experiments with my FGPositioned idea, and I now have several of my original steps done:&lt;br /&gt;
* Fix, NavRecord, Airport and Runway all inherit the base class&lt;br /&gt;
* they all live on the heap, where previously Runway and Fix were stack based, and hence rather heavy to work with&amp;lt;br/&amp;gt;&lt;br /&gt;
* since the liftetime is now (generally) long, I can use a  persistent spatial index (currently not Matthias', but it's an easy,  internal change)&lt;br /&gt;
* I can query all of the above in a unified fashion, and add more types easily (Jon Stockhill has obstacle data I can add in)&lt;br /&gt;
* I've written a bunch of test cases, all of which pass identically  on the mainline and with my changes applied&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/20257459/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGPositioned update&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2008-09-06&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
  |it's also the starting point for working on improving the airways code and creating a standard FGFlightPlan class - an airway or flightplan is essentially built out of FGPositioned objects, tagged with some extra data.&lt;br /&gt;
  |{{cite web |url=http://sourceforge.net/p/flightgear/mailman/message/20111781/&lt;br /&gt;
     |title=&amp;lt;nowiki&amp;gt;[Flightgear-devel] FGPositioned refactoring&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |author=&amp;lt;nowiki&amp;gt;James Turner&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
     |date=&amp;lt;nowiki&amp;gt;2008-08-16&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
   }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Access ==&lt;br /&gt;
You can use any SQLite editor/browser to access the navcache file and visualize it&lt;br /&gt;
There are basically two ways to access this via Nasal 1) the &amp;quot;proper&amp;quot; way is to use/extend the NasalPositioned(_cpbind).cxx file in $FG_SRC/Scripting - with 2), being direct SQLite access using the sqlite module from the Nasal github repo.&lt;br /&gt;
&lt;br /&gt;
Either way, you would need to modify/patch and rebuild fgfs.&lt;br /&gt;
In general, I would recommend to file a feature request and/or raise this on the devel list.&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= my suggestion would be to use an SQLite browser/editor and go to $FG_HOME to open the navcache there (see the wiki link above), you can then inspect the whole navcache - what you find in it is basically a mix up different sources (including Xplane data) - and most of it is available at run-time via FGPositioned APIs and their corresponding Nasal equivalents.&lt;br /&gt;
So given that we are talking about Python and Java here, you could either turn the FGPositioned C++ stuff into a reusable library for use by OpenRadar/ATC-Pie, or simply read the navcache directly. With the latter having the disadvantage that people need to have fgfs installed locally.&lt;br /&gt;
&lt;br /&gt;
Otherwise, you could also extract the relevant data from the navcache and ship that with both ATC clients.&lt;br /&gt;
However, please see the wiki: the main guy behind the navcache is Zakalawe, and he would prefer if people didn't access/process the navcache directly but only use the FG-specific APIs.&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=264700#p264700&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Improving stability: No-scenery-emergency mode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Nov 16th, 2015&lt;br /&gt;
  | added   = Nov 16th, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FGCquote&lt;br /&gt;
|1= this opens up the question if the navcache should really be an integrated component, or if it might not be better to turn it into a standalone library/program that could be used by multiple processes, regardless of fgfs having to be installed/running, i.e. some form of true database.&lt;br /&gt;
Overall that would seem like the best solution to me, because the navcache is a feature that has severely crippled the fg experience for many new users, so that it would make sense to move this to a dedicated/standalone component and use it like a conventional database.&lt;br /&gt;
There are so many similar programs that need to access this very data, that it is simply inefficient to copy/paste code and adapt that, and in a MP/VA or ATC scenario, you would also want to ensure that all &amp;quot;players&amp;quot; (clients) are using the same underlying database, which is why I believe that it would be better to have a true server/client model, where fgfs would only connect to a locally running database - which in the fg case, could even be running in a backgound thread (e.g. via HLA).&lt;br /&gt;
It is already unfortunate that the navcache is not a true subsystem and that its internal data dependencies are not formalied, so the whole thing could just as well be moved to simgear, so that OpenRadar/ATC-Pie can more easily reuse it (either as a binary library or via  standalone program/networking (IPC)).&lt;br /&gt;
Note that this is not a new discussion/idea, for some background info refer to the atlas project on sourceforge:&lt;br /&gt;
[[A NavDB Web Service]]&lt;br /&gt;
If in doubt, get in touch with Zakalawe on the devel list, the navcache is his baby after all ...&lt;br /&gt;
|2= {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=264700#p264700&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Improving stability: No-scenery-emergency mode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Nov 16th, 2015&lt;br /&gt;
  | added   = Nov 16th, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Accessing via Nasal ===&lt;br /&gt;
{{Move|Nasal library|User talk:Red Leader#Nasal positioned APIs .28navcache.29}}&lt;br /&gt;
&lt;br /&gt;
Several [[Nasal]] functions exist to query the navdata cache of 'positioned' objects, i.e items with a defined location in the simulation world. (These objects all inherit from &amp;lt;tt&amp;gt;FGPositioned&amp;lt;/tt&amp;gt; internally). The functions return either one, or a vector, of wrapped Nasal objects. These are efficient, but unlike a hash they cannot simply be &amp;lt;tt&amp;gt;debug.dump()&amp;lt;/tt&amp;gt; to view all their members and methods, many of which are computed in a lazy fashion (i.e. on demand).&lt;br /&gt;
&lt;br /&gt;
When the query functions take a position, the default value is the current aircraft location. An alternative location can be supplied by passing two number (lat, lon), a Geo.Coord object, or any positioned object or waypoint retrieved from another query.&lt;br /&gt;
&lt;br /&gt;
;findAirportsWithinRange()&lt;br /&gt;
: Find all airports within a specified range (in NM) of the current position or explicit position&lt;br /&gt;
;findAirportsByICAO()&lt;br /&gt;
: Find airports matching a complete or partial ICAO code. In particular this can search for all airports starting with a two or three letter prefix.&lt;br /&gt;
;navinfo()&lt;br /&gt;
: Return a list of navaids near a location by type and ident. Type should be 'fix', 'vor', 'ndb', 'dme'&lt;br /&gt;
;findNavaidsWithinRange()&lt;br /&gt;
: Search for navaids within a particular range (in NM), optionally limited by type. This provides a 'find the closest ILS' function&lt;br /&gt;
;findNavaidByFrequency()&lt;br /&gt;
: find the closest navaid (of a particular type) matching an exact frequency&lt;br /&gt;
;findNavaidsByFrequency()&lt;br /&gt;
: find all the navaids matching a particular frequency and optional type, sorted by distance from the search location.&lt;br /&gt;
&lt;br /&gt;
All positioned objects returned by the above methods have the following members:&lt;br /&gt;
;id&lt;br /&gt;
: Identifier - ICAO code for airports, published ident for navaids and fixes&lt;br /&gt;
;lon&lt;br /&gt;
: degrees longitude&lt;br /&gt;
;lat&lt;br /&gt;
: degrees latitude&lt;br /&gt;
&lt;br /&gt;
Depending on type, the following members are also available:&lt;br /&gt;
;name&lt;br /&gt;
: the full name of the airport or navaid if one is defined&lt;br /&gt;
;elevation&lt;br /&gt;
: the ASL elevation of the object in feet&lt;br /&gt;
&lt;br /&gt;
For navaids, the following members are available:&lt;br /&gt;
;frequency&lt;br /&gt;
: the navaid frequency in kHz&lt;br /&gt;
;type&lt;br /&gt;
: the navaid type as a string: vor, dme, loc, ils, ndb&lt;br /&gt;
;course&lt;br /&gt;
: the degrees course associated with the navaid, for localiser and ILS stations&lt;br /&gt;
&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Core development projects]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_337G_Skymaster&amp;diff=106649</id>
		<title>Cessna 337G Skymaster</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_337G_Skymaster&amp;diff=106649"/>
		<updated>2017-01-14T13:27:53Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Avionics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 337''' is a twin-engine [[aircraft]] built in a push-pull configuration. Instead of the engines being mounted on the wings, one is mounted on the nose and the other at the rear of the pod-style fuselage. The stabilizers are mounted on booms that extend from the wings. The Skymaster has a retractable undercarriage that gives it that little bit of extra speed.&lt;br /&gt;
&lt;br /&gt;
The combination of a tractor and a pusher engine produces a unique sound.&lt;br /&gt;
&lt;br /&gt;
== Aircraft help ==&lt;br /&gt;
&lt;br /&gt;
=== Aircraft keys ===&lt;br /&gt;
{| class=&amp;quot;keytable&amp;quot;&lt;br /&gt;
! Key                                   !! Function&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|d}}                       || Open/close cockpit door&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|c}}                       || Open/close front cowl flaps&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|C}}                       || Open/close rear cowl flaps&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|m}}/{{key press|Shift|M}} || Adjust fuel mixture&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|n}}/{{key press|Shift|N}} || Adjust speed governor (propeller pitch)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Limits ===&lt;br /&gt;
&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;NE&amp;lt;/sub&amp;gt;:''' 198 KIAS ''(Never exceed speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;NO&amp;lt;/sub&amp;gt;:''' 167 KIAS ''(Max. speed for normal operations)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;:''' 140 KIAS ''(Design maneuvering speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;FE&amp;lt;/sub&amp;gt;:''' 109 KIAS ''(Max. full flap extended speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;LE&amp;lt;/sub&amp;gt;:''' 200 KIAS ''(Max. landing gear extended speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;LO&amp;lt;/sub&amp;gt;:''' 140 KIAS ''(Max. landing gear extend/retract speed)''&lt;br /&gt;
* '''Stall''' speed, full flaps: 61 KIAS&lt;br /&gt;
* '''Stall''' speed, zero flaps: 70 KIAS&lt;br /&gt;
* '''Max. weight:''' 4630 lbs. ''(2100 kg)''&lt;br /&gt;
* '''Service ceiling (two engines):''' 18,000 ft&lt;br /&gt;
* '''Ground run for takeoff:''' 1,000 ft&lt;br /&gt;
* '''Ground roll for landing''' 700 ft&lt;br /&gt;
&lt;br /&gt;
== Normal procedures==&lt;br /&gt;
[[File:Cessna337-details.png|thumb|250px|The model is pretty detailed, and users can select between 5 HQ liveries]]&lt;br /&gt;
[[File:Cessna337-night.png|thumb|250px|Nice view of the Skymaster cockpit at night]]&lt;br /&gt;
&lt;br /&gt;
=== Startup ===&lt;br /&gt;
* Turn ON battery and front and rear generators&lt;br /&gt;
* Turn ON master avionics button (left wall panel)&lt;br /&gt;
* Turn ON the avionics (NAV/COMM Radios, DME, ADF...)&lt;br /&gt;
* Turn ON fuel pumps (not implemented yet)&lt;br /&gt;
* Turn ON required lights and pitot heat&lt;br /&gt;
* Open front and rear cowl flaps&lt;br /&gt;
* Turn ON rear magnetos (mouse wheel), continue turning the knob for starter (left button)&lt;br /&gt;
* Turn ON front magnetos, continue turning the knob for starter&lt;br /&gt;
&lt;br /&gt;
=== Takeoff ===&lt;br /&gt;
* Check open front &amp;amp; rear cowl flaps to avoid overheating&lt;br /&gt;
* Check rich mixture and high RPM speed governor (propeller pitch)&lt;br /&gt;
* Full trhottle, release brakes&lt;br /&gt;
* Rotate at 60 KIAS&lt;br /&gt;
* Retract gear&lt;br /&gt;
&lt;br /&gt;
=== Cruise ===&lt;br /&gt;
The Cessna 337 Skymaster has a constant-speed propeller; so, you can increase propeller pitch to get more airspeed, but with a loss of engine RPM and power.&lt;br /&gt;
* Decrease throttle to desired power&lt;br /&gt;
* Decrease RPM with speed governor (propeller pitch)&lt;br /&gt;
* Adjust mixture depending on flight altitude (for 5000ft or more). Check EGT for best mixture.&lt;br /&gt;
* Close cowl flaps&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
* Open cowl flaps&lt;br /&gt;
* Increase RPM with speed governor (propeller pitch) to maximum&lt;br /&gt;
* Reduce power with throttle&lt;br /&gt;
* Open landing gear&lt;br /&gt;
* Deploy flaps gradually under 110 KIAS&lt;br /&gt;
* Touchdown at 75/60 KIAS, depending on aircraft weight&lt;br /&gt;
&lt;br /&gt;
== Systems ==&lt;br /&gt;
[[File:Cessna337-avionics.png|thumb|250px|Detail of the avionics panel]]&lt;br /&gt;
&lt;br /&gt;
The Cessna 337 still in development, but it has some suitable systems. Electrical, vacuum and fuel system are working, but they have no failure system modelled yet. Users can adjust the weight of each seat on the plane and fuel amount. Almost all buttons, knobs and levers are functional and properly animated, and all instruments are labeled for a properly identification.&lt;br /&gt;
&lt;br /&gt;
About knobs, use scroll mouse for gross adjustments, and left-central buttons for fine tunning. When setting radio frequencies, the mouse scroll will adjust integral numbers, and buttons will tune decimals. Try that method with instruments, cowl flap switches, trim levers, magnetos, etc.&lt;br /&gt;
&lt;br /&gt;
=== Avionics ===&lt;br /&gt;
&lt;br /&gt;
The Skymaster release is provided with a working Bendix/King avionics pack, capable of full IFR/night navigation:&lt;br /&gt;
&lt;br /&gt;
* 2 KX-155 COMM/NAV Radios, attached to a pair of KI-206 VOR locators&lt;br /&gt;
* KN-62A DME receiver with internal frequency hold and NAV1 remote operation&lt;br /&gt;
* KR-87 ADF receiver, attached to a KI-227 ADF locator&lt;br /&gt;
* KMA-24 Audio panel&lt;br /&gt;
* KT-76A Transponder, with radar sweep simulation&lt;br /&gt;
* KI-250 Radar altimeter, capable to mark decision height for low-visibility landings&lt;br /&gt;
* Hobbs Meter&lt;br /&gt;
&lt;br /&gt;
{{Note|A full KMA24 audio panel implementation was added in January 2017. The knob on the right of the unit switches the speaker amplifier on and off and also controls the marker beacon receiver. To hear ATIS broadcasts, either switch the comm radio output using the COMM phone switch, or use the COMM speaker switch with the knob in any position other than off. To hear marker beacon idents, the knob must be in any other position than off and one of the MKR switches selected on the panel.}}&lt;br /&gt;
&lt;br /&gt;
Radio stack instruments are modelled according to the Bendix King pilot guides. Refer to those guides for operating instructions. [http://www.bendixking.com/HWL/media/Pilot-Guides/006-18110-0000_5.pdf]&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
&lt;br /&gt;
The [[Cessna 337G Skymaster/Navomatic 400A]] autopilot has a fully working 3D panel and dialog.&lt;br /&gt;
&lt;br /&gt;
=== ELT ===&lt;br /&gt;
&lt;br /&gt;
The [[ELT]] (Emergency Locator Transmitter) is a device which send a message in case of aircraft crash. That message contains info about aircraft model, owner and approximate coordinates of the crashed plane, and it is made to request SAR (Search and Rescue) services. The Cessna Skymaster is the first plane equiped with a functional ELT on FlightGear.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=12733 Cessna 337G official forum post]&lt;br /&gt;
* [http://www.youtube.com/watch?v=-ijJa0G5NgQ Video Cessna 337G MPG HD]&lt;br /&gt;
* [http://www.bendixking.com/HWL/media/Pilot-Guides/006-18110-0000_5.pdf Bendix King Silver Crown Plus Avionics Systems Pilot’s Guide]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;br /&gt;
&lt;br /&gt;
[[de:Cessna 337G Skymaster]]&lt;br /&gt;
[[es:Cessna 337G Skymaster]]&lt;br /&gt;
[[fr:Cessna 337G Skymaster]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_337G_Skymaster&amp;diff=106648</id>
		<title>Cessna 337G Skymaster</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_337G_Skymaster&amp;diff=106648"/>
		<updated>2017-01-14T13:26:38Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Avionics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 337''' is a twin-engine [[aircraft]] built in a push-pull configuration. Instead of the engines being mounted on the wings, one is mounted on the nose and the other at the rear of the pod-style fuselage. The stabilizers are mounted on booms that extend from the wings. The Skymaster has a retractable undercarriage that gives it that little bit of extra speed.&lt;br /&gt;
&lt;br /&gt;
The combination of a tractor and a pusher engine produces a unique sound.&lt;br /&gt;
&lt;br /&gt;
== Aircraft help ==&lt;br /&gt;
&lt;br /&gt;
=== Aircraft keys ===&lt;br /&gt;
{| class=&amp;quot;keytable&amp;quot;&lt;br /&gt;
! Key                                   !! Function&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|d}}                       || Open/close cockpit door&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|c}}                       || Open/close front cowl flaps&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|C}}                       || Open/close rear cowl flaps&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|m}}/{{key press|Shift|M}} || Adjust fuel mixture&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|n}}/{{key press|Shift|N}} || Adjust speed governor (propeller pitch)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Limits ===&lt;br /&gt;
&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;NE&amp;lt;/sub&amp;gt;:''' 198 KIAS ''(Never exceed speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;NO&amp;lt;/sub&amp;gt;:''' 167 KIAS ''(Max. speed for normal operations)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;:''' 140 KIAS ''(Design maneuvering speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;FE&amp;lt;/sub&amp;gt;:''' 109 KIAS ''(Max. full flap extended speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;LE&amp;lt;/sub&amp;gt;:''' 200 KIAS ''(Max. landing gear extended speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;LO&amp;lt;/sub&amp;gt;:''' 140 KIAS ''(Max. landing gear extend/retract speed)''&lt;br /&gt;
* '''Stall''' speed, full flaps: 61 KIAS&lt;br /&gt;
* '''Stall''' speed, zero flaps: 70 KIAS&lt;br /&gt;
* '''Max. weight:''' 4630 lbs. ''(2100 kg)''&lt;br /&gt;
* '''Service ceiling (two engines):''' 18,000 ft&lt;br /&gt;
* '''Ground run for takeoff:''' 1,000 ft&lt;br /&gt;
* '''Ground roll for landing''' 700 ft&lt;br /&gt;
&lt;br /&gt;
== Normal procedures==&lt;br /&gt;
[[File:Cessna337-details.png|thumb|250px|The model is pretty detailed, and users can select between 5 HQ liveries]]&lt;br /&gt;
[[File:Cessna337-night.png|thumb|250px|Nice view of the Skymaster cockpit at night]]&lt;br /&gt;
&lt;br /&gt;
=== Startup ===&lt;br /&gt;
* Turn ON battery and front and rear generators&lt;br /&gt;
* Turn ON master avionics button (left wall panel)&lt;br /&gt;
* Turn ON the avionics (NAV/COMM Radios, DME, ADF...)&lt;br /&gt;
* Turn ON fuel pumps (not implemented yet)&lt;br /&gt;
* Turn ON required lights and pitot heat&lt;br /&gt;
* Open front and rear cowl flaps&lt;br /&gt;
* Turn ON rear magnetos (mouse wheel), continue turning the knob for starter (left button)&lt;br /&gt;
* Turn ON front magnetos, continue turning the knob for starter&lt;br /&gt;
&lt;br /&gt;
=== Takeoff ===&lt;br /&gt;
* Check open front &amp;amp; rear cowl flaps to avoid overheating&lt;br /&gt;
* Check rich mixture and high RPM speed governor (propeller pitch)&lt;br /&gt;
* Full trhottle, release brakes&lt;br /&gt;
* Rotate at 60 KIAS&lt;br /&gt;
* Retract gear&lt;br /&gt;
&lt;br /&gt;
=== Cruise ===&lt;br /&gt;
The Cessna 337 Skymaster has a constant-speed propeller; so, you can increase propeller pitch to get more airspeed, but with a loss of engine RPM and power.&lt;br /&gt;
* Decrease throttle to desired power&lt;br /&gt;
* Decrease RPM with speed governor (propeller pitch)&lt;br /&gt;
* Adjust mixture depending on flight altitude (for 5000ft or more). Check EGT for best mixture.&lt;br /&gt;
* Close cowl flaps&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
* Open cowl flaps&lt;br /&gt;
* Increase RPM with speed governor (propeller pitch) to maximum&lt;br /&gt;
* Reduce power with throttle&lt;br /&gt;
* Open landing gear&lt;br /&gt;
* Deploy flaps gradually under 110 KIAS&lt;br /&gt;
* Touchdown at 75/60 KIAS, depending on aircraft weight&lt;br /&gt;
&lt;br /&gt;
== Systems ==&lt;br /&gt;
[[File:Cessna337-avionics.png|thumb|250px|Detail of the avionics panel]]&lt;br /&gt;
&lt;br /&gt;
The Cessna 337 still in development, but it has some suitable systems. Electrical, vacuum and fuel system are working, but they have no failure system modelled yet. Users can adjust the weight of each seat on the plane and fuel amount. Almost all buttons, knobs and levers are functional and properly animated, and all instruments are labeled for a properly identification.&lt;br /&gt;
&lt;br /&gt;
About knobs, use scroll mouse for gross adjustments, and left-central buttons for fine tunning. When setting radio frequencies, the mouse scroll will adjust integral numbers, and buttons will tune decimals. Try that method with instruments, cowl flap switches, trim levers, magnetos, etc.&lt;br /&gt;
&lt;br /&gt;
=== Avionics ===&lt;br /&gt;
&lt;br /&gt;
The Skymaster release is provided with a working Bendix/King avionics pack, capable of full IFR/night navigation:&lt;br /&gt;
&lt;br /&gt;
* 2 KX-155 COMM/NAV Radios, attached to a pair of KI-206 VOR locators&lt;br /&gt;
* KN-62A DME receiver with internal frequency hold and NAV1 remote operation&lt;br /&gt;
* KR-87 ADF receiver, attached to a KI-227 ADF locator&lt;br /&gt;
* KMA-24 Audio panel&lt;br /&gt;
* KT-76A Transponder, with radar sweep simulation&lt;br /&gt;
* KI-250 Radar altimeter, capable to mark decision height for low-visibility landings&lt;br /&gt;
* Hobbs Meter&lt;br /&gt;
&lt;br /&gt;
{{Note|A full KMA24 audio panel implementation was added in January 2017. The knob on the right of the unit switches the speaker amplifier on and off and also controls the marker beacon receiver. To hear ATIS broadcasts, either switch the comm radio output using the COMM phone switch, or use the COMM speaker switch with the knob in any position other than off. To hear marker beacon idents, the knob must be in any other position than off and one of the MKR switches selected on the panel.}}&lt;br /&gt;
&lt;br /&gt;
Radio stack instruments are modelled according to the Bendix King pilot guides. Refer to those guides for operating instructions.&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
&lt;br /&gt;
The [[Cessna 337G Skymaster/Navomatic 400A]] autopilot has a fully working 3D panel and dialog.&lt;br /&gt;
&lt;br /&gt;
=== ELT ===&lt;br /&gt;
&lt;br /&gt;
The [[ELT]] (Emergency Locator Transmitter) is a device which send a message in case of aircraft crash. That message contains info about aircraft model, owner and approximate coordinates of the crashed plane, and it is made to request SAR (Search and Rescue) services. The Cessna Skymaster is the first plane equiped with a functional ELT on FlightGear.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=12733 Cessna 337G official forum post]&lt;br /&gt;
* [http://www.youtube.com/watch?v=-ijJa0G5NgQ Video Cessna 337G MPG HD]&lt;br /&gt;
* [http://www.bendixking.com/HWL/media/Pilot-Guides/006-18110-0000_5.pdf Bendix King Silver Crown Plus Avionics Systems Pilot’s Guide]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;br /&gt;
&lt;br /&gt;
[[de:Cessna 337G Skymaster]]&lt;br /&gt;
[[es:Cessna 337G Skymaster]]&lt;br /&gt;
[[fr:Cessna 337G Skymaster]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_337G_Skymaster&amp;diff=106646</id>
		<title>Cessna 337G Skymaster</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_337G_Skymaster&amp;diff=106646"/>
		<updated>2017-01-14T13:20:30Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* External links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 337''' is a twin-engine [[aircraft]] built in a push-pull configuration. Instead of the engines being mounted on the wings, one is mounted on the nose and the other at the rear of the pod-style fuselage. The stabilizers are mounted on booms that extend from the wings. The Skymaster has a retractable undercarriage that gives it that little bit of extra speed.&lt;br /&gt;
&lt;br /&gt;
The combination of a tractor and a pusher engine produces a unique sound.&lt;br /&gt;
&lt;br /&gt;
== Aircraft help ==&lt;br /&gt;
&lt;br /&gt;
=== Aircraft keys ===&lt;br /&gt;
{| class=&amp;quot;keytable&amp;quot;&lt;br /&gt;
! Key                                   !! Function&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|d}}                       || Open/close cockpit door&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|c}}                       || Open/close front cowl flaps&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|C}}                       || Open/close rear cowl flaps&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|m}}/{{key press|Shift|M}} || Adjust fuel mixture&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|n}}/{{key press|Shift|N}} || Adjust speed governor (propeller pitch)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Limits ===&lt;br /&gt;
&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;NE&amp;lt;/sub&amp;gt;:''' 198 KIAS ''(Never exceed speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;NO&amp;lt;/sub&amp;gt;:''' 167 KIAS ''(Max. speed for normal operations)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;:''' 140 KIAS ''(Design maneuvering speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;FE&amp;lt;/sub&amp;gt;:''' 109 KIAS ''(Max. full flap extended speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;LE&amp;lt;/sub&amp;gt;:''' 200 KIAS ''(Max. landing gear extended speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;LO&amp;lt;/sub&amp;gt;:''' 140 KIAS ''(Max. landing gear extend/retract speed)''&lt;br /&gt;
* '''Stall''' speed, full flaps: 61 KIAS&lt;br /&gt;
* '''Stall''' speed, zero flaps: 70 KIAS&lt;br /&gt;
* '''Max. weight:''' 4630 lbs. ''(2100 kg)''&lt;br /&gt;
* '''Service ceiling (two engines):''' 18,000 ft&lt;br /&gt;
* '''Ground run for takeoff:''' 1,000 ft&lt;br /&gt;
* '''Ground roll for landing''' 700 ft&lt;br /&gt;
&lt;br /&gt;
== Normal procedures==&lt;br /&gt;
[[File:Cessna337-details.png|thumb|250px|The model is pretty detailed, and users can select between 5 HQ liveries]]&lt;br /&gt;
[[File:Cessna337-night.png|thumb|250px|Nice view of the Skymaster cockpit at night]]&lt;br /&gt;
&lt;br /&gt;
=== Startup ===&lt;br /&gt;
* Turn ON battery and front and rear generators&lt;br /&gt;
* Turn ON master avionics button (left wall panel)&lt;br /&gt;
* Turn ON the avionics (NAV/COMM Radios, DME, ADF...)&lt;br /&gt;
* Turn ON fuel pumps (not implemented yet)&lt;br /&gt;
* Turn ON required lights and pitot heat&lt;br /&gt;
* Open front and rear cowl flaps&lt;br /&gt;
* Turn ON rear magnetos (mouse wheel), continue turning the knob for starter (left button)&lt;br /&gt;
* Turn ON front magnetos, continue turning the knob for starter&lt;br /&gt;
&lt;br /&gt;
=== Takeoff ===&lt;br /&gt;
* Check open front &amp;amp; rear cowl flaps to avoid overheating&lt;br /&gt;
* Check rich mixture and high RPM speed governor (propeller pitch)&lt;br /&gt;
* Full trhottle, release brakes&lt;br /&gt;
* Rotate at 60 KIAS&lt;br /&gt;
* Retract gear&lt;br /&gt;
&lt;br /&gt;
=== Cruise ===&lt;br /&gt;
The Cessna 337 Skymaster has a constant-speed propeller; so, you can increase propeller pitch to get more airspeed, but with a loss of engine RPM and power.&lt;br /&gt;
* Decrease throttle to desired power&lt;br /&gt;
* Decrease RPM with speed governor (propeller pitch)&lt;br /&gt;
* Adjust mixture depending on flight altitude (for 5000ft or more). Check EGT for best mixture.&lt;br /&gt;
* Close cowl flaps&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
* Open cowl flaps&lt;br /&gt;
* Increase RPM with speed governor (propeller pitch) to maximum&lt;br /&gt;
* Reduce power with throttle&lt;br /&gt;
* Open landing gear&lt;br /&gt;
* Deploy flaps gradually under 110 KIAS&lt;br /&gt;
* Touchdown at 75/60 KIAS, depending on aircraft weight&lt;br /&gt;
&lt;br /&gt;
== Systems ==&lt;br /&gt;
[[File:Cessna337-avionics.png|thumb|250px|Detail of the avionics panel]]&lt;br /&gt;
&lt;br /&gt;
The Cessna 337 still in development, but it has some suitable systems. Electrical, vacuum and fuel system are working, but they have no failure system modelled yet. Users can adjust the weight of each seat on the plane and fuel amount. Almost all buttons, knobs and levers are functional and properly animated, and all instruments are labeled for a properly identification.&lt;br /&gt;
&lt;br /&gt;
About knobs, use scroll mouse for gross adjustments, and left-central buttons for fine tunning. When setting radio frequencies, the mouse scroll will adjust integral numbers, and buttons will tune decimals. Try that method with instruments, cowl flap switches, trim levers, magnetos, etc.&lt;br /&gt;
&lt;br /&gt;
=== Avionics ===&lt;br /&gt;
&lt;br /&gt;
The Skymaster release is provided with a working Bendix/King avionics pack, capable of full IFR/night navigation:&lt;br /&gt;
&lt;br /&gt;
* 2 KX-155 COMM/NAV Radios, attached to a pair of KI-206 VOR locators&lt;br /&gt;
* KN-62A DME receiver with internal frequency hold and NAV1 remote operation&lt;br /&gt;
* KR-87 ADF receiver, attached to a KI-227 ADF locator&lt;br /&gt;
* KMA-24 Audio panel&lt;br /&gt;
* KT-76A Transponder, with radar sweep simulation&lt;br /&gt;
* KI-250 Radar altimeter, capable to mark decision height for low-visibility landings&lt;br /&gt;
* Hobbs Meter&lt;br /&gt;
&lt;br /&gt;
Radio stack instruments are modelled according to the Bendix King pilot guides. Refer to those guides for operating instructions.&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
&lt;br /&gt;
The [[Cessna 337G Skymaster/Navomatic 400A]] autopilot has a fully working 3D panel and dialog.&lt;br /&gt;
&lt;br /&gt;
=== ELT ===&lt;br /&gt;
&lt;br /&gt;
The [[ELT]] (Emergency Locator Transmitter) is a device which send a message in case of aircraft crash. That message contains info about aircraft model, owner and approximate coordinates of the crashed plane, and it is made to request SAR (Search and Rescue) services. The Cessna Skymaster is the first plane equiped with a functional ELT on FlightGear.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=12733 Cessna 337G official forum post]&lt;br /&gt;
* [http://www.youtube.com/watch?v=-ijJa0G5NgQ Video Cessna 337G MPG HD]&lt;br /&gt;
* [http://www.bendixking.com/HWL/media/Pilot-Guides/006-18110-0000_5.pdf Bendix King Silver Crown Plus Avionics Systems Pilot’s Guide]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;br /&gt;
&lt;br /&gt;
[[de:Cessna 337G Skymaster]]&lt;br /&gt;
[[es:Cessna 337G Skymaster]]&lt;br /&gt;
[[fr:Cessna 337G Skymaster]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Cessna_337G_Skymaster&amp;diff=106645</id>
		<title>Cessna 337G Skymaster</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Cessna_337G_Skymaster&amp;diff=106645"/>
		<updated>2017-01-14T13:19:27Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Avionics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The '''Cessna 337''' is a twin-engine [[aircraft]] built in a push-pull configuration. Instead of the engines being mounted on the wings, one is mounted on the nose and the other at the rear of the pod-style fuselage. The stabilizers are mounted on booms that extend from the wings. The Skymaster has a retractable undercarriage that gives it that little bit of extra speed.&lt;br /&gt;
&lt;br /&gt;
The combination of a tractor and a pusher engine produces a unique sound.&lt;br /&gt;
&lt;br /&gt;
== Aircraft help ==&lt;br /&gt;
&lt;br /&gt;
=== Aircraft keys ===&lt;br /&gt;
{| class=&amp;quot;keytable&amp;quot;&lt;br /&gt;
! Key                                   !! Function&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|d}}                       || Open/close cockpit door&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|c}}                       || Open/close front cowl flaps&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|C}}                       || Open/close rear cowl flaps&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|m}}/{{key press|Shift|M}} || Adjust fuel mixture&lt;br /&gt;
|-&lt;br /&gt;
| {{key press|n}}/{{key press|Shift|N}} || Adjust speed governor (propeller pitch)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Limits ===&lt;br /&gt;
&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;NE&amp;lt;/sub&amp;gt;:''' 198 KIAS ''(Never exceed speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;NO&amp;lt;/sub&amp;gt;:''' 167 KIAS ''(Max. speed for normal operations)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;A&amp;lt;/sub&amp;gt;:''' 140 KIAS ''(Design maneuvering speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;FE&amp;lt;/sub&amp;gt;:''' 109 KIAS ''(Max. full flap extended speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;LE&amp;lt;/sub&amp;gt;:''' 200 KIAS ''(Max. landing gear extended speed)''&lt;br /&gt;
* '''V&amp;lt;sub&amp;gt;LO&amp;lt;/sub&amp;gt;:''' 140 KIAS ''(Max. landing gear extend/retract speed)''&lt;br /&gt;
* '''Stall''' speed, full flaps: 61 KIAS&lt;br /&gt;
* '''Stall''' speed, zero flaps: 70 KIAS&lt;br /&gt;
* '''Max. weight:''' 4630 lbs. ''(2100 kg)''&lt;br /&gt;
* '''Service ceiling (two engines):''' 18,000 ft&lt;br /&gt;
* '''Ground run for takeoff:''' 1,000 ft&lt;br /&gt;
* '''Ground roll for landing''' 700 ft&lt;br /&gt;
&lt;br /&gt;
== Normal procedures==&lt;br /&gt;
[[File:Cessna337-details.png|thumb|250px|The model is pretty detailed, and users can select between 5 HQ liveries]]&lt;br /&gt;
[[File:Cessna337-night.png|thumb|250px|Nice view of the Skymaster cockpit at night]]&lt;br /&gt;
&lt;br /&gt;
=== Startup ===&lt;br /&gt;
* Turn ON battery and front and rear generators&lt;br /&gt;
* Turn ON master avionics button (left wall panel)&lt;br /&gt;
* Turn ON the avionics (NAV/COMM Radios, DME, ADF...)&lt;br /&gt;
* Turn ON fuel pumps (not implemented yet)&lt;br /&gt;
* Turn ON required lights and pitot heat&lt;br /&gt;
* Open front and rear cowl flaps&lt;br /&gt;
* Turn ON rear magnetos (mouse wheel), continue turning the knob for starter (left button)&lt;br /&gt;
* Turn ON front magnetos, continue turning the knob for starter&lt;br /&gt;
&lt;br /&gt;
=== Takeoff ===&lt;br /&gt;
* Check open front &amp;amp; rear cowl flaps to avoid overheating&lt;br /&gt;
* Check rich mixture and high RPM speed governor (propeller pitch)&lt;br /&gt;
* Full trhottle, release brakes&lt;br /&gt;
* Rotate at 60 KIAS&lt;br /&gt;
* Retract gear&lt;br /&gt;
&lt;br /&gt;
=== Cruise ===&lt;br /&gt;
The Cessna 337 Skymaster has a constant-speed propeller; so, you can increase propeller pitch to get more airspeed, but with a loss of engine RPM and power.&lt;br /&gt;
* Decrease throttle to desired power&lt;br /&gt;
* Decrease RPM with speed governor (propeller pitch)&lt;br /&gt;
* Adjust mixture depending on flight altitude (for 5000ft or more). Check EGT for best mixture.&lt;br /&gt;
* Close cowl flaps&lt;br /&gt;
&lt;br /&gt;
=== Landing ===&lt;br /&gt;
* Open cowl flaps&lt;br /&gt;
* Increase RPM with speed governor (propeller pitch) to maximum&lt;br /&gt;
* Reduce power with throttle&lt;br /&gt;
* Open landing gear&lt;br /&gt;
* Deploy flaps gradually under 110 KIAS&lt;br /&gt;
* Touchdown at 75/60 KIAS, depending on aircraft weight&lt;br /&gt;
&lt;br /&gt;
== Systems ==&lt;br /&gt;
[[File:Cessna337-avionics.png|thumb|250px|Detail of the avionics panel]]&lt;br /&gt;
&lt;br /&gt;
The Cessna 337 still in development, but it has some suitable systems. Electrical, vacuum and fuel system are working, but they have no failure system modelled yet. Users can adjust the weight of each seat on the plane and fuel amount. Almost all buttons, knobs and levers are functional and properly animated, and all instruments are labeled for a properly identification.&lt;br /&gt;
&lt;br /&gt;
About knobs, use scroll mouse for gross adjustments, and left-central buttons for fine tunning. When setting radio frequencies, the mouse scroll will adjust integral numbers, and buttons will tune decimals. Try that method with instruments, cowl flap switches, trim levers, magnetos, etc.&lt;br /&gt;
&lt;br /&gt;
=== Avionics ===&lt;br /&gt;
&lt;br /&gt;
The Skymaster release is provided with a working Bendix/King avionics pack, capable of full IFR/night navigation:&lt;br /&gt;
&lt;br /&gt;
* 2 KX-155 COMM/NAV Radios, attached to a pair of KI-206 VOR locators&lt;br /&gt;
* KN-62A DME receiver with internal frequency hold and NAV1 remote operation&lt;br /&gt;
* KR-87 ADF receiver, attached to a KI-227 ADF locator&lt;br /&gt;
* KMA-24 Audio panel&lt;br /&gt;
* KT-76A Transponder, with radar sweep simulation&lt;br /&gt;
* KI-250 Radar altimeter, capable to mark decision height for low-visibility landings&lt;br /&gt;
* Hobbs Meter&lt;br /&gt;
&lt;br /&gt;
Radio stack instruments are modelled according to the Bendix King pilot guides. Refer to those guides for operating instructions.&lt;br /&gt;
&lt;br /&gt;
=== Autopilot ===&lt;br /&gt;
&lt;br /&gt;
The [[Cessna 337G Skymaster/Navomatic 400A]] autopilot has a fully working 3D panel and dialog.&lt;br /&gt;
&lt;br /&gt;
=== ELT ===&lt;br /&gt;
&lt;br /&gt;
The [[ELT]] (Emergency Locator Transmitter) is a device which send a message in case of aircraft crash. That message contains info about aircraft model, owner and approximate coordinates of the crashed plane, and it is made to request SAR (Search and Rescue) services. The Cessna Skymaster is the first plane equiped with a functional ELT on FlightGear.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=12733 Cessna 337G official forum post]&lt;br /&gt;
* [http://www.youtube.com/watch?v=-ijJa0G5NgQ Video Cessna 337G MPG HD]&lt;br /&gt;
&lt;br /&gt;
{{Cessna}}&lt;br /&gt;
&lt;br /&gt;
[[de:Cessna 337G Skymaster]]&lt;br /&gt;
[[es:Cessna 337G Skymaster]]&lt;br /&gt;
[[fr:Cessna 337G Skymaster]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Autopilot_configuration_reference&amp;diff=106400</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=106400"/>
		<updated>2016-12-18T12:34:39Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* State Machine &amp;amp;lt;state-machine&amp;amp;gt; */&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&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&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;
=== 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>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106247</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106247"/>
		<updated>2016-12-06T15:50:34Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Icing Simulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots (TAS). Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants and the 3D cockpit, while having many of the correct instruments, has a temporary layout.&lt;br /&gt;
&lt;br /&gt;
Systems are relatively mature, including fuel and electrical systems. Autostart executes the startup checklists and puts the aircraft in a ready for taxi or takeoff state, depending on starting location. Some basic cockpit lighting is provided for night flying.&lt;br /&gt;
&lt;br /&gt;
Takeoff with the first step of flaps, full power and rotate at around 60 knots. Raise flaps around 300ft AGL and trim for steady climb rates of around 500fpm for the Pup 100 and 800fpm for the Pup 150 and 160. Adjust mixture for maximum RPM to maximize rate of climb. When approaching cruise altitude, lean mixture to 50*F rich of peak (which should be where the asterisk is on the EGT gauge), level off and adjust throttle for 2500rpm.&lt;br /&gt;
&lt;br /&gt;
Approach at around 80 knots, with power reduction to around 1800rpm and the first step of flaps lowered prior to the base turn. Mixture full rich and carb heat hot. Landing speed is around 70 knots with landing flaps lowered on final to bring the nose down for a better view of the runway.&lt;br /&gt;
&lt;br /&gt;
The checklists are 95% accurate with respect to normal operating procedures. Performance, including fuel consumption, is within 10% of quoted at level speeds at various altitudes and RPMs. The FDM is a stock Aeromatic++ FDM tuned to performance specifications.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Table of V Speeds ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Designator !! Description !! IAS (knots)&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;S0&amp;lt;/sub&amp;gt; || Stall speed in landing configuration (landing flaps) || style=&amp;quot;text-align:right;&amp;quot; | 54&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; || Stall speed in cruise configuration (no flaps) || style=&amp;quot;text-align:right;&amp;quot; | 63&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;Ref&amp;lt;/sub&amp;gt; || Landing reference speed (1.3 x V&amp;lt;sub&amp;gt;S0&amp;lt;/sub&amp;gt;) || style=&amp;quot;text-align:right;&amp;quot; | 70&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;FE&amp;lt;/sub&amp;gt; || Maximum flap extension speed || style=&amp;quot;text-align:right;&amp;quot; | 100&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;NO&amp;lt;/sub&amp;gt; || Maximum speed for normal operations || style=&amp;quot;text-align:right;&amp;quot; | 120&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;NE&amp;lt;/sub&amp;gt; || Never exceed speed || style=&amp;quot;text-align:right;&amp;quot; | 150&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Icing Simulation ==&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature  ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
=== Pitot Temperature  ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.28.0 onwards''&lt;br /&gt;
&lt;br /&gt;
As per the carburettor icing, this feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. The same comments apply regarding turning off the simulation when the tube is iced.&lt;br /&gt;
&lt;br /&gt;
Pitot heat should be applied when flying in freezing conditions with high levels of moisture present. Icing is most likely to occur when descending from freezing temperatures through warmer moist air, so remember to apply pitot heat before descent. The pitot heater is switched on using the rightmost circuit breaker on the electrical panel.&lt;br /&gt;
&lt;br /&gt;
The symptom of pitot ice is a steady reduction in indicated airspeed. The simulation reduces the pressure reported by the pitot system which in turn affects the airspeed indicator. When icing reaches its maximum level, the tube is simulated as blocked, i.e. the water drain hole is plugged as well as the tube. This causes the pressure reported by the pitot system to remain constant and the airspeed indicator, driven only by the static system, behaves like an altimeter. Applying pitot heat clears the ice in a couple of minutes and the airspeed indicator should return to normal. Pitot heat should be turned off when moving slowly, i.e. when taxiing, to avoid overheating the pitot tube, but this is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Ctrl-z toggles the main autopilot on/off switch and Ctrl-a toggles the altitude hold button, which will only work iff the pitch wheel is at its center detent position. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
There are some issues with keyboard control and flight characteristics outside of the normal flight envelope. Stalls near the ground are lethal. Behaviour in moderate to fresh crosswinds and above (&amp;gt; 15kts) is troublesome on the ground.&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1968/1968%20-%200659.PDF Beagle Pup Performance]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106246</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106246"/>
		<updated>2016-12-06T13:58:33Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots (TAS). Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants and the 3D cockpit, while having many of the correct instruments, has a temporary layout.&lt;br /&gt;
&lt;br /&gt;
Systems are relatively mature, including fuel and electrical systems. Autostart executes the startup checklists and puts the aircraft in a ready for taxi or takeoff state, depending on starting location. Some basic cockpit lighting is provided for night flying.&lt;br /&gt;
&lt;br /&gt;
Takeoff with the first step of flaps, full power and rotate at around 60 knots. Raise flaps around 300ft AGL and trim for steady climb rates of around 500fpm for the Pup 100 and 800fpm for the Pup 150 and 160. Adjust mixture for maximum RPM to maximize rate of climb. When approaching cruise altitude, lean mixture to 50*F rich of peak (which should be where the asterisk is on the EGT gauge), level off and adjust throttle for 2500rpm.&lt;br /&gt;
&lt;br /&gt;
Approach at around 80 knots, with power reduction to around 1800rpm and the first step of flaps lowered prior to the base turn. Mixture full rich and carb heat hot. Landing speed is around 70 knots with landing flaps lowered on final to bring the nose down for a better view of the runway.&lt;br /&gt;
&lt;br /&gt;
The checklists are 95% accurate with respect to normal operating procedures. Performance, including fuel consumption, is within 10% of quoted at level speeds at various altitudes and RPMs. The FDM is a stock Aeromatic++ FDM tuned to performance specifications.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Table of V Speeds ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Designator !! Description !! IAS (knots)&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;S0&amp;lt;/sub&amp;gt; || Stall speed in landing configuration (landing flaps) || style=&amp;quot;text-align:right;&amp;quot; | 54&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; || Stall speed in cruise configuration (no flaps) || style=&amp;quot;text-align:right;&amp;quot; | 63&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;Ref&amp;lt;/sub&amp;gt; || Landing reference speed (1.3 x V&amp;lt;sub&amp;gt;S0&amp;lt;/sub&amp;gt;) || style=&amp;quot;text-align:right;&amp;quot; | 70&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;FE&amp;lt;/sub&amp;gt; || Maximum flap extension speed || style=&amp;quot;text-align:right;&amp;quot; | 100&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;NO&amp;lt;/sub&amp;gt; || Maximum speed for normal operations || style=&amp;quot;text-align:right;&amp;quot; | 120&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;NE&amp;lt;/sub&amp;gt; || Never exceed speed || style=&amp;quot;text-align:right;&amp;quot; | 150&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Icing Simulation ==&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature  ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Ctrl-z toggles the main autopilot on/off switch and Ctrl-a toggles the altitude hold button, which will only work iff the pitch wheel is at its center detent position. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
There are some issues with keyboard control and flight characteristics outside of the normal flight envelope. Stalls near the ground are lethal. Behaviour in moderate to fresh crosswinds and above (&amp;gt; 15kts) is troublesome on the ground.&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1968/1968%20-%200659.PDF Beagle Pup Performance]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106210</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106210"/>
		<updated>2016-12-04T11:08:23Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Flight Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots (TAS). Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants and the 3D cockpit, while having many of the correct instruments, has a temporary layout.&lt;br /&gt;
&lt;br /&gt;
Systems are relatively mature, including fuel and electrical systems. Autostart executes the startup checklists and puts the aircraft in a ready for taxi or takeoff state, depending on starting location. Some basic cockpit lighting is provided for night flying.&lt;br /&gt;
&lt;br /&gt;
Takeoff with the first step of flaps, full power and rotate at around 60 knots. Raise flaps around 300ft AGL and trim for steady climb rates of around 500fpm for the Pup 100 and 800fpm for the Pup 150 and 160. Adjust mixture for maximum RPM to maximize rate of climb. When approaching cruise altitude, lean mixture to 50*F rich of peak (which should be where the asterisk is on the EGT gauge), level off and adjust throttle for 2500rpm.&lt;br /&gt;
&lt;br /&gt;
Approach at around 80 knots, with power reduction to around 1800rpm and the first step of flaps lowered prior to the base turn. Mixture full rich and carb heat hot. Landing speed is around 70 knots with landing flaps lowered on final to bring the nose down for a better view of the runway.&lt;br /&gt;
&lt;br /&gt;
The checklists are 95% accurate with respect to normal operating procedures. Performance, including fuel consumption, is within 10% of quoted at level speeds at various altitudes and RPMs. The FDM is a stock Aeromatic++ FDM tuned to performance specifications.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Table of V Speeds ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Designator !! Description !! IAS (knots)&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;S0&amp;lt;/sub&amp;gt; || Stall speed in landing configuration (landing flaps) || style=&amp;quot;text-align:right;&amp;quot; | 54&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; || Stall speed in cruise configuration (no flaps) || style=&amp;quot;text-align:right;&amp;quot; | 63&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;Ref&amp;lt;/sub&amp;gt; || Landing reference speed (1.3 x V&amp;lt;sub&amp;gt;S0&amp;lt;/sub&amp;gt;) || style=&amp;quot;text-align:right;&amp;quot; | 70&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;FE&amp;lt;/sub&amp;gt; || Maximum flap extension speed || style=&amp;quot;text-align:right;&amp;quot; | 100&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;NO&amp;lt;/sub&amp;gt; || Maximum speed for normal operations || style=&amp;quot;text-align:right;&amp;quot; | 120&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;NE&amp;lt;/sub&amp;gt; || Never exceed speed || style=&amp;quot;text-align:right;&amp;quot; | 150&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Ctrl-z toggles the main autopilot on/off switch and Ctrl-a toggles the altitude hold button, which will only work iff the pitch wheel is at its center detent position. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
There are some issues with keyboard control and flight characteristics outside of the normal flight envelope. Stalls near the ground are lethal. Behaviour in moderate to fresh crosswinds and above (&amp;gt; 15kts) is troublesome on the ground.&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1968/1968%20-%200659.PDF Beagle Pup Performance]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106209</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106209"/>
		<updated>2016-12-04T11:07:28Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Table of V Speeds */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots (TAS). Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants and the 3D cockpit, while having many of the correct instruments, has a temporary layout.&lt;br /&gt;
&lt;br /&gt;
Systems are relatively mature, including fuel and electrical systems. Autostart executes the startup checklists and puts the aircraft in a ready for taxi or takeoff state, depending on starting location. Some basic cockpit lighting is provided for night flying.&lt;br /&gt;
&lt;br /&gt;
Takeoff with the first step of flaps, full power and rotate at around 60 knots. Raise flaps around 300ft AGL and trim for steady climb rates of around 500fpm for the Pup 100 and 800fpm for the Pup 150 and 160. Adjust mixture for maximum RPM to maximize rate of climb. When approaching cruise altitude, lean mixture to 50*F rich of peak (which should be where the asterisk is on the EGT gauge), level off and adjust throttle for 2500rpm.&lt;br /&gt;
&lt;br /&gt;
Approach at around 80 knots, with power reduction to around 1800rpm and the first step of flaps lowered prior to the base turn. Mixture full rich and carb heat hot. Landing speed is around 70 knots with landing flaps lowered on final to bring the nose down for a better view of the runway.&lt;br /&gt;
&lt;br /&gt;
The checklists are 95% accurate with respect to normal operating procedures. Performance, including fuel consumption, is within 10% of quoted at level speeds at various altitudes and RPMs. The FDM is a stock Aeromatic++ FDM tuned to performance specifications.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Table of V Speeds ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Designator !! Description !! IAS (knots)&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;S0&amp;lt;/sub&amp;gt; || Stall speed in landing configuration (landing flaps) || style=&amp;quot;text-align:right;&amp;quot; | 54&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;S&amp;lt;/sub&amp;gt; || Stall speed in cruise configuration (no flaps) || style=&amp;quot;text-align:right;&amp;quot; | 63&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;Ref&amp;lt;/sub&amp;gt; || Landing reference speed (1.3 x V&amp;lt;sub&amp;gt;S0&amp;lt;/sub&amp;gt;) || style=&amp;quot;text-align:right;&amp;quot; | 70&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;FE&amp;lt;/sub&amp;gt; || Maximum flap extension speed || style=&amp;quot;text-align:right;&amp;quot; | 100&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;NO&amp;lt;/sub&amp;gt; || Maximum speed for normal operations || style=&amp;quot;text-align:right;&amp;quot; | 120&lt;br /&gt;
|- &lt;br /&gt;
| V&amp;lt;sub&amp;gt;NE&amp;lt;/sub&amp;gt; || Never exceed speed || style=&amp;quot;text-align:right;&amp;quot; | 150&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Ctrl-z toggles the main autopilot on/off switch and Ctrl-a toggles the altitude hold button, which will only work iff the pitch wheel is at its center detent position. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
There are some issues with keyboard control and flight characteristics outside of the normal flight envelope. Stalls near the ground are lethal. Behaviour in moderate to fresh crosswinds and above (&amp;gt; 15kts) is troublesome on the ground.&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1968/1968%20-%200659.PDF Beagle Pup Performance]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106097</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106097"/>
		<updated>2016-11-26T18:10:01Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* External links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots (TAS). Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants and the 3D cockpit, while having many of the correct instruments, has a temporary layout.&lt;br /&gt;
&lt;br /&gt;
Systems are relatively mature, including fuel and electrical systems. Autostart executes the startup checklists and puts the aircraft in a ready for taxi or takeoff state, depending on starting location. Some basic cockpit lighting is provided for night flying.&lt;br /&gt;
&lt;br /&gt;
Takeoff with the first step of flaps, full power and rotate at around 65 knots. Raise flaps on positive climb and trim for climb rates of around 500fpm for the Pup 100 and 800fpm for the Pup 150 and 160. Adjust mixture for maximum RPM to maximize rate of climb. When approaching cruise altitude, lean mixture to 50*F rich of peak (which should be where the asterisk is on the EGT gauge), level off and adjust throttle for 2500rpm.&lt;br /&gt;
&lt;br /&gt;
Approach at around 70-80 knots, with the first step of flaps lowered during the downwind leg. Mixture full rich and carb heat full. Landing speed is around 60-65 knots and landing flaps can be lowered to bring the nose down for a better view of the runway. Stall speed with flaps is around 50 knots.&lt;br /&gt;
&lt;br /&gt;
The checklists are 95% accurate with respect to normal operating procedures. Performance, including fuel consumption, is within 10% of quoted at level speeds at various altitudes and RPMs. The FDM is a stock Aeromatic++ FDM tuned to performance specifications.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Ctrl-z toggles the main autopilot on/off switch and Ctrl-a toggles the altitude hold button, which will only work iff the pitch wheel is at its center detent position. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
There are some issues with keyboard control and flight characteristics outside of the normal flight envelope. Stalls near the ground are lethal. Behaviour in moderate to fresh crosswinds and above (&amp;gt; 15kts) is troublesome on the ground.&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1968/1968%20-%200659.PDF Beagle Pup Performance]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106096</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106096"/>
		<updated>2016-11-26T18:07:51Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Development Status/Issues/Todo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots (TAS). Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants and the 3D cockpit, while having many of the correct instruments, has a temporary layout.&lt;br /&gt;
&lt;br /&gt;
Systems are relatively mature, including fuel and electrical systems. Autostart executes the startup checklists and puts the aircraft in a ready for taxi or takeoff state, depending on starting location. Some basic cockpit lighting is provided for night flying.&lt;br /&gt;
&lt;br /&gt;
Takeoff with the first step of flaps, full power and rotate at around 65 knots. Raise flaps on positive climb and trim for climb rates of around 500fpm for the Pup 100 and 800fpm for the Pup 150 and 160. Adjust mixture for maximum RPM to maximize rate of climb. When approaching cruise altitude, lean mixture to 50*F rich of peak (which should be where the asterisk is on the EGT gauge), level off and adjust throttle for 2500rpm.&lt;br /&gt;
&lt;br /&gt;
Approach at around 70-80 knots, with the first step of flaps lowered during the downwind leg. Mixture full rich and carb heat full. Landing speed is around 60-65 knots and landing flaps can be lowered to bring the nose down for a better view of the runway. Stall speed with flaps is around 50 knots.&lt;br /&gt;
&lt;br /&gt;
The checklists are 95% accurate with respect to normal operating procedures. Performance, including fuel consumption, is within 10% of quoted at level speeds at various altitudes and RPMs. The FDM is a stock Aeromatic++ FDM tuned to performance specifications.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Ctrl-z toggles the main autopilot on/off switch and Ctrl-a toggles the altitude hold button, which will only work iff the pitch wheel is at its center detent position. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
There are some issues with keyboard control and flight characteristics outside of the normal flight envelope. Stalls near the ground are lethal. Behaviour in moderate to fresh crosswinds and above (&amp;gt; 15kts) is troublesome on the ground.&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106094</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106094"/>
		<updated>2016-11-26T17:59:31Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Sperry SP3 in the Beagle Pup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots (TAS). Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants and the 3D cockpit, while having many of the correct instruments, has a temporary layout.&lt;br /&gt;
&lt;br /&gt;
Systems are relatively mature, including fuel and electrical systems. Autostart executes the startup checklists and puts the aircraft in a ready for taxi or takeoff state, depending on starting location. Some basic cockpit lighting is provided for night flying.&lt;br /&gt;
&lt;br /&gt;
Takeoff with the first step of flaps, full power and rotate at around 65 knots. Raise flaps on positive climb and trim for climb rates of around 500fpm for the Pup 100 and 800fpm for the Pup 150 and 160. Adjust mixture for maximum RPM to maximize rate of climb. When approaching cruise altitude, lean mixture to 50*F rich of peak (which should be where the asterisk is on the EGT gauge), level off and adjust throttle for 2500rpm.&lt;br /&gt;
&lt;br /&gt;
Approach at around 70-80 knots, with the first step of flaps lowered during the downwind leg. Mixture full rich and carb heat full. Landing speed is around 60-65 knots and landing flaps can be lowered to bring the nose down for a better view of the runway. Stall speed with flaps is around 50 knots.&lt;br /&gt;
&lt;br /&gt;
The checklists are 95% accurate with respect to normal operating procedures. Performance, including fuel consumption, is within 10% of quoted at level speeds at various altitudes and RPMs. The FDM is a stock Aeromatic++ FDM tuned to performance specifications.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Ctrl-z toggles the main autopilot on/off switch and Ctrl-a toggles the altitude hold button, which will only work iff the pitch wheel is at its center detent position. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106093</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106093"/>
		<updated>2016-11-26T17:57:48Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Flight Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots (TAS). Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants and the 3D cockpit, while having many of the correct instruments, has a temporary layout.&lt;br /&gt;
&lt;br /&gt;
Systems are relatively mature, including fuel and electrical systems. Autostart executes the startup checklists and puts the aircraft in a ready for taxi or takeoff state, depending on starting location. Some basic cockpit lighting is provided for night flying.&lt;br /&gt;
&lt;br /&gt;
Takeoff with the first step of flaps, full power and rotate at around 65 knots. Raise flaps on positive climb and trim for climb rates of around 500fpm for the Pup 100 and 800fpm for the Pup 150 and 160. Adjust mixture for maximum RPM to maximize rate of climb. When approaching cruise altitude, lean mixture to 50*F rich of peak (which should be where the asterisk is on the EGT gauge), level off and adjust throttle for 2500rpm.&lt;br /&gt;
&lt;br /&gt;
Approach at around 70-80 knots, with the first step of flaps lowered during the downwind leg. Mixture full rich and carb heat full. Landing speed is around 60-65 knots and landing flaps can be lowered to bring the nose down for a better view of the runway. Stall speed with flaps is around 50 knots.&lt;br /&gt;
&lt;br /&gt;
The checklists are 95% accurate with respect to normal operating procedures. Performance, including fuel consumption, is within 10% of quoted at level speeds at various altitudes and RPMs. The FDM is a stock Aeromatic++ FDM tuned to performance specifications.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106092</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106092"/>
		<updated>2016-11-26T17:41:26Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Series 2 (Beagle Pup 150) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots (TAS). Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106091</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106091"/>
		<updated>2016-11-26T17:40:23Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Series 1 (Beagle Pup 100) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of 90-95 knots (TAS). Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106038</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=106038"/>
		<updated>2016-11-22T13:19:08Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Flight Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:{{PAGENAME}}/info}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
{{Note|A bug introduced in v0.22.2 caused incorrect adjustment of payload weights. This is fixed in 0.23.1 but it is recommended to delete the saved state in FG_HOME/aircraft-data/pup*.xml to avoid unexpected changes to center of gravity and aircraft stability.}}&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97962</id>
		<title>Changelog 2016.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97962"/>
		<updated>2016-05-08T09:03:18Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Highlighted new and improved aircraft */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|changelog|This changelog is currently being written for the FlightGear v2016.2 release. Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The FlightGear development team is delighted to announce the v2016.2 &amp;quot;Barcelona&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 ...  &lt;br /&gt;
&lt;br /&gt;
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.&lt;br /&gt;
&lt;br /&gt;
FlightGear features more than 400 aircraft, a worldwide scenery database, a multiplayer environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute. &lt;br /&gt;
&lt;br /&gt;
Download FlightGear v2016.1 for free from [http://www.flightgear.org/ FlightGear.org]&lt;br /&gt;
&lt;br /&gt;
FlightGear - Fly Free!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Another source of stuff for the changelog: http://thread.gmane.org/gmane.games.flightgear.devel/81296 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Changed default location ===&lt;br /&gt;
In line with the release adopted in FlightGear v2016.1, this release has been named after its default airport, [[Barcelona–El Prat Airport|Barcelona Airport]] (LEBL).&lt;br /&gt;
&lt;br /&gt;
=== Major enhancements in this release ===&lt;br /&gt;
==== Core ====&lt;br /&gt;
* Video configuration can be saved.&amp;lt;ref&amp;gt;http://forum.flightgear.org/viewtopic.php?f=37&amp;amp;t=29122&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://sourceforge.net/p/flightgear/fgdata/ci/0d623d/&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The [[TerraSync]] server has been switched to using HTTP instead of SVN.&lt;br /&gt;
* All scenery models have been cleaned up and moved to TerraSync.&lt;br /&gt;
&lt;br /&gt;
==== Aircraft Modeling ====&lt;br /&gt;
&lt;br /&gt;
==== ATIS and METAR ====&lt;br /&gt;
* Various improvements in the reporting of wind, atmospheric pressure, and sky cover.&lt;br /&gt;
* Custom ATIS formats for the US/Canada/Pacific region and the UK based on real recordings.&lt;br /&gt;
* Bug fixes and data updates to reduce occurrence of NIL weather.&lt;br /&gt;
&lt;br /&gt;
==== JSBSim ====&lt;br /&gt;
&lt;br /&gt;
==== Atmospheric Light Scattering ====&lt;br /&gt;
* Filters have been added, enabling infrared and night-vision views&lt;br /&gt;
* [[ALS technical notes#ALS procedural lights|ALS procedural lights]]&lt;br /&gt;
&lt;br /&gt;
==== Environment Rendering ====&lt;br /&gt;
&lt;br /&gt;
* A bug that prevented precipitation from appearing has been fixed.&lt;br /&gt;
&lt;br /&gt;
==== Performance ====&lt;br /&gt;
&lt;br /&gt;
==== Multiplayer ====&lt;br /&gt;
* A bug in the multiplayer protocol has been {{flightgear commit|4f8cbb|t=fixed}}.&lt;br /&gt;
&lt;br /&gt;
==== Misc/Uncategorized ====&lt;br /&gt;
&lt;br /&gt;
==== Usability ====&lt;br /&gt;
&lt;br /&gt;
* Route manager now allows entry of a space separated list of waypoints.&lt;br /&gt;
&lt;br /&gt;
==== Internationalization ====&lt;br /&gt;
* The Italian translation for menus, loading messages and help for command line switches has been updated.&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
* Further improvements to regional textures.&lt;br /&gt;
* New buildings for London Heathrow&lt;br /&gt;
&lt;br /&gt;
==== Canvas System ====&lt;br /&gt;
&lt;br /&gt;
==== Nasal Scripting ====&lt;br /&gt;
* A bug in {{func link|math.clamp()|page=Nasal library/math}} has been {{fgdata commit|bba11c|t=fixed}}.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
==== Highlighted new and improved aircraft ====&lt;br /&gt;
* [[Parachutist]]&lt;br /&gt;
* [[Piper J3 Cub]]&lt;br /&gt;
* [[Boeing 757]]&lt;br /&gt;
* [[Extra EA-500]]&lt;br /&gt;
* [[Saab JA-37 Viggen]]&lt;br /&gt;
* [https://forum.flightgear.org/viewtopic.php?f=4&amp;amp;t=28475 Cessna 182S Skylane]&lt;br /&gt;
* [[Space Shuttle]]&lt;br /&gt;
* Boeing 757&lt;br /&gt;
* [[Beagle Pup]]&lt;br /&gt;
&lt;br /&gt;
==== Other ====&lt;br /&gt;
===== FGPromo: A FlightGear Promotional Video =====&lt;br /&gt;
After more than 5 months of hard work, FGPromo, a video showing off FlightGear at its finest, has been released!&lt;br /&gt;
{{#ev:youtube|yPBdJT2Pkdc||center}}&lt;br /&gt;
&lt;br /&gt;
==== Bug fixes ====&lt;br /&gt;
* See [https://sourceforge.net/p/flightgear/codetickets/search/?q=%21ticket_num%3A437+AND+status%3AFixed+AND+mod_date%3A%5B2016-02-17T00%3A00%3A00Z+TO+*%5D our bugtracker] for a list, albeit incomplete, of the bugs fixed in this release.&lt;br /&gt;
&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear changelogs]]&lt;br /&gt;
[[Category:New Versioning Scheme]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97893</id>
		<title>Changelog 2016.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97893"/>
		<updated>2016-05-06T07:06:27Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Usability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|changelog|This changelog is currently being written for the FlightGear v2016.2 release. Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The FlightGear development team is delighted to announce the v2016.2 &amp;quot;Barcelona&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 ...  &lt;br /&gt;
&lt;br /&gt;
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.&lt;br /&gt;
&lt;br /&gt;
FlightGear features more than 400 aircraft, a worldwide scenery database, a multiplayer environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute. &lt;br /&gt;
&lt;br /&gt;
Download FlightGear v2016.1 for free from [http://www.flightgear.org/ FlightGear.org]&lt;br /&gt;
&lt;br /&gt;
FlightGear - Fly Free!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Another source of stuff for the changelog: http://thread.gmane.org/gmane.games.flightgear.devel/81296 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Changed default location ===&lt;br /&gt;
In line with the release adopted in FlightGear v2016.1, this release has been named after its default airport, [[Barcelona–El Prat Airport|Barcelona Airport]] (LEBL).&lt;br /&gt;
&lt;br /&gt;
=== Major enhancements in this release ===&lt;br /&gt;
==== Core ====&lt;br /&gt;
* Video configuration can be saved.&amp;lt;ref&amp;gt;http://forum.flightgear.org/viewtopic.php?f=37&amp;amp;t=29122&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://sourceforge.net/p/flightgear/fgdata/ci/0d623d/&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The [[TerraSync]] server has been switched to using HTTP instead of SVN.&lt;br /&gt;
* All scenery models have been cleaned up and moved to TerraSync.&lt;br /&gt;
&lt;br /&gt;
==== Aircraft Modeling ====&lt;br /&gt;
&lt;br /&gt;
==== ATIS and METAR ====&lt;br /&gt;
* Various improvements in the reporting of wind, atmospheric pressure, and sky cover.&lt;br /&gt;
* Custom ATIS formats for the US/Canada/Pacific region and the UK based on real recordings.&lt;br /&gt;
* Bug fixes and data updates to reduce occurrence of NIL weather.&lt;br /&gt;
&lt;br /&gt;
==== JSBSim ====&lt;br /&gt;
&lt;br /&gt;
==== Atmospheric Light Scattering ====&lt;br /&gt;
* Filters have been added, enabling infrared and night-vision views&lt;br /&gt;
&lt;br /&gt;
==== Environment Rendering ====&lt;br /&gt;
&lt;br /&gt;
* A bug that prevented precipitation from appearing has been fixed.&lt;br /&gt;
&lt;br /&gt;
==== Performance ====&lt;br /&gt;
&lt;br /&gt;
==== Multiplayer ====&lt;br /&gt;
* A bug in the multiplayer protocol has been {{flightgear commit|4f8cbb|t=fixed}}.&lt;br /&gt;
&lt;br /&gt;
==== Misc/Uncategorized ====&lt;br /&gt;
&lt;br /&gt;
==== Usability ====&lt;br /&gt;
&lt;br /&gt;
* Route manager now allows entry of a space separated list of waypoints.&lt;br /&gt;
&lt;br /&gt;
==== Internationalization ====&lt;br /&gt;
* The Italian translation for menus, loading messages and help for command line switches has been updated.&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
&lt;br /&gt;
==== Canvas System ====&lt;br /&gt;
&lt;br /&gt;
==== Nasal Scripting ====&lt;br /&gt;
* A bug in {{func link|math.clamp()|page=Nasal library/math}} has been {{fgdata commit|bba11c|t=fixed}}.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
==== Highlighted new and improved aircraft ====&lt;br /&gt;
* [[Parachutist]]&lt;br /&gt;
* [[Piper J3 Cub]]&lt;br /&gt;
* [[Boeing 757]]&lt;br /&gt;
* [[Extra EA-500]]&lt;br /&gt;
&lt;br /&gt;
==== Other ====&lt;br /&gt;
&lt;br /&gt;
==== Bug fixes ====&lt;br /&gt;
* See [https://sourceforge.net/p/flightgear/codetickets/search/?q=ticket_num%3A%5B1000+TO+*%5D+AND+%21ticket_num%3A437+AND+status%3AFixed+AND+mod_date%3A%5B2016-02-17T00%3A00%3A00Z+TO+*%5D our bugtracker] for a list, albeit incomplete, of the bugs fixed in this release.&lt;br /&gt;
&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear changelogs]]&lt;br /&gt;
[[Category:New Versioning Scheme]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97892</id>
		<title>Changelog 2016.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97892"/>
		<updated>2016-05-06T07:05:54Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Usability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|changelog|This changelog is currently being written for the FlightGear v2016.2 release. Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The FlightGear development team is delighted to announce the v2016.2 &amp;quot;Barcelona&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 ...  &lt;br /&gt;
&lt;br /&gt;
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.&lt;br /&gt;
&lt;br /&gt;
FlightGear features more than 400 aircraft, a worldwide scenery database, a multiplayer environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute. &lt;br /&gt;
&lt;br /&gt;
Download FlightGear v2016.1 for free from [http://www.flightgear.org/ FlightGear.org]&lt;br /&gt;
&lt;br /&gt;
FlightGear - Fly Free!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Another source of stuff for the changelog: http://thread.gmane.org/gmane.games.flightgear.devel/81296 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Changed default location ===&lt;br /&gt;
In line with the release adopted in FlightGear v2016.1, this release has been named after its default airport, [[Barcelona–El Prat Airport|Barcelona Airport]] (LEBL).&lt;br /&gt;
&lt;br /&gt;
=== Major enhancements in this release ===&lt;br /&gt;
==== Core ====&lt;br /&gt;
* Video configuration can be saved.&amp;lt;ref&amp;gt;http://forum.flightgear.org/viewtopic.php?f=37&amp;amp;t=29122&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://sourceforge.net/p/flightgear/fgdata/ci/0d623d/&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The [[TerraSync]] server has been switched to using HTTP instead of SVN.&lt;br /&gt;
* All scenery models have been cleaned up and moved to TerraSync.&lt;br /&gt;
&lt;br /&gt;
==== Aircraft Modeling ====&lt;br /&gt;
&lt;br /&gt;
==== ATIS and METAR ====&lt;br /&gt;
* Various improvements in the reporting of wind, atmospheric pressure, and sky cover.&lt;br /&gt;
* Custom ATIS formats for the US/Canada/Pacific region and the UK based on real recordings.&lt;br /&gt;
* Bug fixes and data updates to reduce occurrence of NIL weather.&lt;br /&gt;
&lt;br /&gt;
==== JSBSim ====&lt;br /&gt;
&lt;br /&gt;
==== Atmospheric Light Scattering ====&lt;br /&gt;
* Filters have been added, enabling infrared and night-vision views&lt;br /&gt;
&lt;br /&gt;
==== Environment Rendering ====&lt;br /&gt;
&lt;br /&gt;
* A bug that prevented precipitation from appearing has been fixed.&lt;br /&gt;
&lt;br /&gt;
==== Performance ====&lt;br /&gt;
&lt;br /&gt;
==== Multiplayer ====&lt;br /&gt;
* A bug in the multiplayer protocol has been {{flightgear commit|4f8cbb|t=fixed}}.&lt;br /&gt;
&lt;br /&gt;
==== Misc/Uncategorized ====&lt;br /&gt;
&lt;br /&gt;
==== Usability ====&lt;br /&gt;
&lt;br /&gt;
* Route manager allows entry of a space separated list of waypoints&lt;br /&gt;
&lt;br /&gt;
==== Internationalization ====&lt;br /&gt;
* The Italian translation for menus, loading messages and help for command line switches has been updated.&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
&lt;br /&gt;
==== Canvas System ====&lt;br /&gt;
&lt;br /&gt;
==== Nasal Scripting ====&lt;br /&gt;
* A bug in {{func link|math.clamp()|page=Nasal library/math}} has been {{fgdata commit|bba11c|t=fixed}}.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
==== Highlighted new and improved aircraft ====&lt;br /&gt;
* [[Parachutist]]&lt;br /&gt;
* [[Piper J3 Cub]]&lt;br /&gt;
* [[Boeing 757]]&lt;br /&gt;
* [[Extra EA-500]]&lt;br /&gt;
&lt;br /&gt;
==== Other ====&lt;br /&gt;
&lt;br /&gt;
==== Bug fixes ====&lt;br /&gt;
* See [https://sourceforge.net/p/flightgear/codetickets/search/?q=ticket_num%3A%5B1000+TO+*%5D+AND+%21ticket_num%3A437+AND+status%3AFixed+AND+mod_date%3A%5B2016-02-17T00%3A00%3A00Z+TO+*%5D our bugtracker] for a list, albeit incomplete, of the bugs fixed in this release.&lt;br /&gt;
&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear changelogs]]&lt;br /&gt;
[[Category:New Versioning Scheme]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97864</id>
		<title>Changelog 2016.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97864"/>
		<updated>2016-05-05T08:14:59Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Environment Rendering */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|changelog|This changelog is currently being written for the FlightGear v2016.2 release. Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The FlightGear development team is delighted to announce the v2016.2 &amp;quot;Barcelona&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 ...  &lt;br /&gt;
&lt;br /&gt;
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.&lt;br /&gt;
&lt;br /&gt;
FlightGear features more than 400 aircraft, a worldwide scenery database, a multiplayer environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute. &lt;br /&gt;
&lt;br /&gt;
Download FlightGear v2016.1 for free from [http://www.flightgear.org/ FlightGear.org]&lt;br /&gt;
&lt;br /&gt;
FlightGear - Fly Free!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!-- Another source of stuff for the changelog: http://thread.gmane.org/gmane.games.flightgear.devel/81296 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Changed default location ===&lt;br /&gt;
In line with the release adopted in FlightGear v2016.1, this release has been named after its default airport, [[Barcelona–El Prat Airport|Barcelona Airport]] (LEBL).&lt;br /&gt;
&lt;br /&gt;
=== Major enhancements in this release ===&lt;br /&gt;
==== Core ====&lt;br /&gt;
* Video configuration can be saved.&amp;lt;ref&amp;gt;http://forum.flightgear.org/viewtopic.php?f=37&amp;amp;t=29122&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://sourceforge.net/p/flightgear/fgdata/ci/0d623d/&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The [[TerraSync]] server has been switched to using HTTP instead of SVN.&lt;br /&gt;
* All scenery models have been cleaned up and moved to TerraSync.&lt;br /&gt;
&lt;br /&gt;
==== Aircraft Modeling ====&lt;br /&gt;
&lt;br /&gt;
==== ATIS and METAR ====&lt;br /&gt;
* Various improvements in the reporting of wind, atmospheric pressure, and sky cover.&lt;br /&gt;
* Custom ATIS formats for the US/Canada/Pacific region and the UK based on real recordings.&lt;br /&gt;
* Bug fixes and data updates to reduce occurrence of NIL weather.&lt;br /&gt;
&lt;br /&gt;
==== JSBSim ====&lt;br /&gt;
&lt;br /&gt;
==== Atmospheric Light Scattering ====&lt;br /&gt;
* Filters have been added, enabling infrared and night-vision views&lt;br /&gt;
&lt;br /&gt;
==== Environment Rendering ====&lt;br /&gt;
&lt;br /&gt;
* A bug that prevented precipitation from appearing has been fixed.&lt;br /&gt;
&lt;br /&gt;
==== Performance ====&lt;br /&gt;
&lt;br /&gt;
==== Multiplayer ====&lt;br /&gt;
* A bug in the multiplayer protocol has been {{flightgear commit|4f8cbb|t=fixed}}.&lt;br /&gt;
&lt;br /&gt;
==== Misc/Uncategorized ====&lt;br /&gt;
&lt;br /&gt;
==== Usability ====&lt;br /&gt;
&lt;br /&gt;
==== Internationalization ====&lt;br /&gt;
* The Italian translation for menus, loading messages and help for command line switches has been updated.&lt;br /&gt;
&lt;br /&gt;
==== Scenery ====&lt;br /&gt;
&lt;br /&gt;
==== Canvas System ====&lt;br /&gt;
&lt;br /&gt;
==== Nasal Scripting ====&lt;br /&gt;
* A bug in {{func link|math.clamp()|page=Nasal library/math}} has been {{fgdata commit|bba11c|t=fixed}}.&lt;br /&gt;
&lt;br /&gt;
==== Documentation ====&lt;br /&gt;
&lt;br /&gt;
==== Highlighted new and improved aircraft ====&lt;br /&gt;
* [[Parachutist]]&lt;br /&gt;
* [[Piper J3 Cub]]&lt;br /&gt;
* [[Boeing 757]]&lt;br /&gt;
* [[Extra EA-500]]&lt;br /&gt;
&lt;br /&gt;
==== Other ====&lt;br /&gt;
&lt;br /&gt;
==== Bug fixes ====&lt;br /&gt;
* See [https://sourceforge.net/p/flightgear/codetickets/search/?q=ticket_num%3A%5B1000+TO+*%5D+AND+%21ticket_num%3A437+AND+status%3AFixed+AND+mod_date%3A%5B2016-02-17T00%3A00%3A00Z+TO+*%5D our bugtracker] for a list, albeit incomplete, of the bugs fixed in this release.&lt;br /&gt;
&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear changelogs]]&lt;br /&gt;
[[Category:New Versioning Scheme]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97751</id>
		<title>Changelog 2016.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Changelog_2016.2&amp;diff=97751"/>
		<updated>2016-05-03T14:42:38Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: ATIS / METAR&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{draft|changelog|This changelog is currently being written for the FlightGear v2016.2 release. Feel free to help! If you are aware of any FlightGear related changes, please add them to the changelog.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
The FlightGear development team is delighted to announce the v2016.2 &amp;quot;Barcelona&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 ...  &lt;br /&gt;
&lt;br /&gt;
Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world by desktop flight simulator enthusiasts, for research in universities and for interactive exhibits in museums.&lt;br /&gt;
&lt;br /&gt;
FlightGear features more than 400 aircraft, a worldwide scenery database, a multiplayer environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute. &lt;br /&gt;
&lt;br /&gt;
Download FlightGear v2016.1 for free from [http://www.flightgear.org/ FlightGear.org]&lt;br /&gt;
&lt;br /&gt;
FlightGear - Fly Free!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Changed default location ===&lt;br /&gt;
In line with the release adopted in FlightGear v2016.1, this release has been named after the default airport, [[Barcelona–El Prat Airport|Barcelona Airport]] (LEBL).&lt;br /&gt;
&lt;br /&gt;
=== Major enhancements in this release ===&lt;br /&gt;
'''Core'''&lt;br /&gt;
* Support for [[Graphics Card Profiles|GPU Profiles]]&amp;lt;ref&amp;gt;http://forum.flightgear.org/viewtopic.php?f=37&amp;amp;t=29122&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Aircraft Modeling'''&lt;br /&gt;
[[File:Parachutist.png|thumb|right]]&lt;br /&gt;
[[File:Pose01-skydiving-by-curt.jpg|thumb|right]]&lt;br /&gt;
* A new parachutist &amp;quot;aircraft&amp;quot; has been added. See [[Skydiving]] for more information.&lt;br /&gt;
&lt;br /&gt;
'''ATIS and METAR'''&lt;br /&gt;
&lt;br /&gt;
* Various improvements in reporting; specifically wind, QNH and sky cover.&lt;br /&gt;
* Custom ATIS formats for the US/Canada/Pacific region and the UK based on real recordings.&lt;br /&gt;
* Bug fixes and data updates to reduce occurrence of NIL weather.&lt;br /&gt;
&lt;br /&gt;
'''JSBSim'''&lt;br /&gt;
&lt;br /&gt;
'''Atmospheric Light Scattering'''&lt;br /&gt;
&lt;br /&gt;
'''Environment Rendering'''&lt;br /&gt;
&lt;br /&gt;
'''Performance'''&lt;br /&gt;
&lt;br /&gt;
'''Multiplayer'''&lt;br /&gt;
* A bug in the multiplayer protocol has been fixed.&amp;lt;ref&amp;gt;https://sourceforge.net/p/flightgear/codetickets/1851/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Misc/Uncategorized'''&lt;br /&gt;
&lt;br /&gt;
'''Usability'''&lt;br /&gt;
&lt;br /&gt;
'''Internationalization'''&lt;br /&gt;
* The Italian translation for menus, loading messages and help for command line switches has been updated.&lt;br /&gt;
&lt;br /&gt;
'''Scenery'''&lt;br /&gt;
&lt;br /&gt;
'''Canvas System'''&lt;br /&gt;
&lt;br /&gt;
'''Nasal Scripting'''&lt;br /&gt;
&lt;br /&gt;
'''Documentation'''&lt;br /&gt;
&lt;br /&gt;
'''Highlighted new and improved aircraft'''&lt;br /&gt;
&lt;br /&gt;
'''Other'''&lt;br /&gt;
&lt;br /&gt;
'''Bug fixes'''&lt;br /&gt;
* See [https://sourceforge.net/p/flightgear/codetickets/search/?q=status%3AFixed+AND+created_date%3A%5B2016-02-17T23%3A31%3A35Z+TO+*%5D our bugtracker] for a list, albeit incomplete, of the bugs fixed in this release.&lt;br /&gt;
&lt;br /&gt;
{{Appendix}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FlightGear changelogs]]&lt;br /&gt;
[[Category:New Versioning Scheme]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96733</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96733"/>
		<updated>2016-04-06T11:22:19Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: Autopilot notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes less than 2 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot, and particularly before attempting roll trim. Currently the only way to do centre the rudder is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96732</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96732"/>
		<updated>2016-04-06T11:13:25Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: Note on power reduction from application of carb heat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply just enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Applying carb heat reduces engine power so only apply as much as is required to prevent icing.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96728</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96728"/>
		<updated>2016-04-05T16:55:42Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Development Status/Issues/Todo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== Liveries ===&lt;br /&gt;
&lt;br /&gt;
Each variant has a handful of liveries for testing purposes. If you want to make your own liveries for this aircraft, be aware that the exterior model is unfinished and likely to be remapped. Any existing liveries will become invalid at that point.&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96727</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96727"/>
		<updated>2016-04-05T16:48:05Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Sperry SP Series Autopilot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96726</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96726"/>
		<updated>2016-04-05T16:38:02Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Carburettor Temperature and Icing Simulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Note that if you use autostart for a runway start, the carb heat control will be in the off position ready for immediate takeoff. If you sit on the runway with idle throttle for a more than a few seconds, the carburettor is likely to ice up and reduce your takeoff power.&lt;br /&gt;
&lt;br /&gt;
Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity. Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96713</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96713"/>
		<updated>2016-04-05T13:17:40Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Sperry SP3 in the Beagle Pup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity.&lt;br /&gt;
&lt;br /&gt;
Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-g do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96712</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96712"/>
		<updated>2016-04-05T13:17:14Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* External Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity.&lt;br /&gt;
&lt;br /&gt;
Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exterior lights (taxi and landing) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Temperature probe || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96711</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96711"/>
		<updated>2016-04-05T13:15:59Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity.&lt;br /&gt;
&lt;br /&gt;
Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Support serviceable and failures || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96710</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96710"/>
		<updated>2016-04-05T13:15:02Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* External Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity.&lt;br /&gt;
&lt;br /&gt;
Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|50}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96709</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96709"/>
		<updated>2016-04-05T13:13:52Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Cockpit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity.&lt;br /&gt;
&lt;br /&gt;
Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add fuselage cowls (main gear strut housings) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate main gear compression || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate wheel rotation || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model oleo strut and animate (review compression and length) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Lights || Add navigation, strobe and beacon lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add ALS landing and taxi lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and texture transparent window glass || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|70}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model pitot tube || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add livery support || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add reflection and chrome shaders || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify multiplayer properties || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify replay || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Fix livery over MP || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|40}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96708</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96708"/>
		<updated>2016-04-05T13:12:46Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity.&lt;br /&gt;
&lt;br /&gt;
Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Reinstate missing window sills || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model and drive Sperry SP3 Autopilot || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Switch clicks || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Environment sounds (rain, thunder) || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add fuselage cowls (main gear strut housings) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate main gear compression || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate wheel rotation || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model oleo strut and animate (review compression and length) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Lights || Add navigation, strobe and beacon lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add ALS landing and taxi lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and texture transparent window glass || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|70}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model pitot tube || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add livery support || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add reflection and chrome shaders || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify multiplayer properties || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify replay || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Fix livery over MP || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|40}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96707</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96707"/>
		<updated>2016-04-05T13:12:06Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* FDM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity.&lt;br /&gt;
&lt;br /&gt;
Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|20}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Filter EGT for instrument display || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Autopilot || Heading hold doesn't properly respect gyro precession || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Reinstate missing window sills || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model and drive Sperry SP3 Autopilot || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Switch clicks || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Environment sounds (rain, thunder) || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add fuselage cowls (main gear strut housings) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate main gear compression || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate wheel rotation || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model oleo strut and animate (review compression and length) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Lights || Add navigation, strobe and beacon lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add ALS landing and taxi lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and texture transparent window glass || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|70}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model pitot tube || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add livery support || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add reflection and chrome shaders || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify multiplayer properties || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify replay || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Fix livery over MP || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|40}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96706</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96706"/>
		<updated>2016-04-05T13:08:32Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: Carb icing notes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
=== Performance ===&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70kts and aim to land at 60kts with full flaps.&lt;br /&gt;
&lt;br /&gt;
=== Carburettor Temperature and Icing Simulation ===&lt;br /&gt;
&lt;br /&gt;
''Available from aircraft version 0.17.0 onwards''&lt;br /&gt;
&lt;br /&gt;
This feature is off by default and enabled through the ''Beagle Pup | Preferences'' menu. Without the checkbox checked, carburettor temperature is simulated and displayed on the cockpit gauge but no icing will occur. Checking the checkbox turns the icing simulation on. Note that ice is not cleared by unchecking the box; if you turn the icing simulation off while you have carb ice, it will not thaw! The setting is saved on exit, but note that the Pup 100, 150 and 160 are different aircraft and each have their own setting.&lt;br /&gt;
&lt;br /&gt;
The checklists guide you through the process of introducing carb heat to prevent icing. In short, this means applying carb heat when idling on the ground and during taxi, turning off when full power is applied prior to takeoff, and re-applying when power is reduced for descent. Carb icing may occur during cruise if weather is cool and damp, so watch the carb temperature gauge and apply enough carb heat to keep the temperature above the yellow zone. The outside air temperature gauge gives an indication of the likelihood of icing conditions and you should pay attention to the dewpoint from enroute weather observations as an indication of humidity.&lt;br /&gt;
&lt;br /&gt;
Reduced performance from excess carb heat is not yet simulated.&lt;br /&gt;
&lt;br /&gt;
Continental engines, as fitted to the Pup 100, are more prone to carb icing than the Lycoming engines fitted to the Pup 150 and 160. This is because of the mounting position of the carburettor relative to the engine. With the Pup 100, you are more likely to need carb heat during cruise. For both engines, once the engine is warm, the likelihood of carb ice is reduced, but less so with the Continental engine.&lt;br /&gt;
&lt;br /&gt;
The symptom of carb icing is reduced power as the ice buildup constricts the air intake of the carburettor. It has the same effect as closing the throttle. To clear the ice, you need to increase the temperature of the carburettor above freezing, usually by applying carb heat. This diverts hot exhaust gases to heat the carburettor. You can also prevent or clear carb ice to some extent by warming the carburettor in other ways; increased throttle to reduce the venturi effect that causes carb cooling, or proper leaning of the mixture.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Weights || Refine limits from type certificate || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Position fuel tanks more accurately || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Develop a more accurate estimate of COG || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Add contact points and crash detect || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|20}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Filter EGT for instrument display || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Autopilot || Heading hold doesn't properly respect gyro precession || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Reinstate missing window sills || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model and drive Sperry SP3 Autopilot || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Switch clicks || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Environment sounds (rain, thunder) || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add fuselage cowls (main gear strut housings) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate main gear compression || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate wheel rotation || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model oleo strut and animate (review compression and length) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Lights || Add navigation, strobe and beacon lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add ALS landing and taxi lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and texture transparent window glass || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|70}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model pitot tube || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add livery support || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add reflection and chrome shaders || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify multiplayer properties || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify replay || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Fix livery over MP || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|40}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Aircraft_checklists&amp;diff=96624</id>
		<title>Aircraft checklists</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Aircraft_checklists&amp;diff=96624"/>
		<updated>2016-04-03T20:11:39Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: Remove automated quoting because it makes no sense in the context of the paragraph. Please don't add it back.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{infobox subsystem&lt;br /&gt;
|image =Aircraft Checklists dialog.jpg&lt;br /&gt;
|name = Generic Aircraft Checklists&lt;br /&gt;
|started= 03/2010 &lt;br /&gt;
|description = Centralized checklist management&lt;br /&gt;
|status = Under active development as of 05/2015&lt;br /&gt;
|maintainers = {{usr|Stuart}}&lt;br /&gt;
|developers =  * {{usr|Stuart}}&lt;br /&gt;
* {{usr|Sanhozay}}&lt;br /&gt;
|changelog = * {{Git File History|project=flightgear|sub-project=fgdata|path=/Nasal/checklist.nas}}&lt;br /&gt;
* {{Git File History|project=flightgear|sub-project=fgdata|path=/gui/dialogs/checklist.xml}}&lt;br /&gt;
* {{Git File History|project=flightgear|sub-project=fgdata|path=/Aircraft/Generic/autochecklist.nas}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Startup}}&lt;br /&gt;
{{Checklists}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of version 2.9, [[FlightGear]] can display '''aircraft checklists''' in a standardized way, under Help &amp;gt; Aircraft Checklists. &lt;br /&gt;
&lt;br /&gt;
== Adding checklists ==&lt;br /&gt;
To learn more about creating custom checklists, see {{readme file|checklists}} and the [[Cessna 172P]] as the reference implementation. Increasingly, the [[tutorials]] system is also extended such that it may make use of aircraft checklists.&lt;br /&gt;
&lt;br /&gt;
Checklists are situated under &amp;lt;tt&amp;gt;/sim/checklists&amp;lt;/tt&amp;gt;. As the checklists may be quite long, it is recommended that they are put in a separate file using the following entry in the &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file of the aircraft:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;checklists include=&amp;quot;c172-checklists.xml&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each individual checklist is created under a &amp;lt;checklist&amp;gt; XML tag, with the following sub-properties:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;title&amp;gt;&amp;lt;/code&amp;gt; The name of the checklist&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;&amp;lt;/code&amp;gt; One or more pages from the checklist, containing one or more of the following:&lt;br /&gt;
** &amp;lt;code&amp;gt;&amp;lt;item&amp;gt;&amp;lt;/code&amp;gt; A checklist item, containing&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;name&amp;gt;&amp;lt;/code&amp;gt; The item name, to appear on the left hand side of the checklist&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;value&amp;gt;&amp;lt;/code&amp;gt; One or more values, to appear on the right hand side of the checklist. Second and and subsequent &amp;lt;value&amp;gt; tags are displayed underneath each other.  It is recommended that the &amp;lt;value&amp;gt; tags are kept short, to minimize the size of the displayed checklist.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;condition&amp;gt;&amp;lt;/code&amp;gt; An optional [[Howto:Animate models#Conditions|condition node]] that evaluates when the checklist item is complete. Incomplete checklist items are shown in yellow, while completed items are shown in green.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;marker&amp;gt;&amp;lt;/code&amp;gt; An optional marker node that is used to display a circle around a control when the user clicks a &amp;quot;?&amp;quot; button next to the item.  This contains &amp;lt;x-m&amp;gt;, &amp;lt;y-m&amp;gt;, &amp;lt;z-m&amp;gt; and &amp;lt;scale&amp;gt; sub-elements and uses the [[Tutorials#Marker|tutorial marker]]. Note that this requires the marker model to be included in the aircraft model, as explained in the aforementioned article.&lt;br /&gt;
*** &amp;lt;code&amp;gt;&amp;lt;binding&amp;gt;&amp;lt;/code&amp;gt; Zero or more XML bindings that are used by the simulator to execute the checklist item if the user clicks on a &amp;quot;&amp;gt;&amp;quot; button next to the item.&lt;br /&gt;
&lt;br /&gt;
For simple checklists the &amp;lt;page&amp;gt; element can be omitted and &amp;lt;item&amp;gt; entries placed directly under the &amp;lt;checklist&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The following example shows a simple checklists XML file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;PropertyList&amp;gt;&lt;br /&gt;
  &amp;lt;checklist&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;After Landing&amp;lt;/title&amp;gt;  &lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Carburetor Heat&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;COLD&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;condition&amp;gt;&lt;br /&gt;
        &amp;lt;equals&amp;gt;&lt;br /&gt;
          &amp;lt;property&amp;gt;/controls/anti-ice/engine[0]/carb-heat&amp;lt;/property&amp;gt;&lt;br /&gt;
          &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&lt;br /&gt;
        &amp;lt;/equals&amp;gt;&lt;br /&gt;
      &amp;lt;/condition&amp;gt;&lt;br /&gt;
      &amp;lt;marker&amp;gt;&lt;br /&gt;
        &amp;lt;x-m&amp;gt;-0.3225&amp;lt;/x-m&amp;gt;&lt;br /&gt;
        &amp;lt;y-m&amp;gt;-0.0850&amp;lt;/y-m&amp;gt;&lt;br /&gt;
        &amp;lt;z-m&amp;gt;-0.2117&amp;lt;/z-m&amp;gt;&lt;br /&gt;
        &amp;lt;scale&amp;gt;2.0500&amp;lt;/scale&amp;gt;&lt;br /&gt;
      &amp;lt;/marker&amp;gt;      &lt;br /&gt;
      &amp;lt;binding&amp;gt;&lt;br /&gt;
        &amp;lt;command&amp;gt;property-assign&amp;lt;/command&amp;gt;&lt;br /&gt;
        &amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&lt;br /&gt;
      &amp;lt;/binding&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
      &amp;lt;name&amp;gt;Wing Flaps&amp;lt;/name&amp;gt;&lt;br /&gt;
      &amp;lt;value&amp;gt;UP&amp;lt;/value&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
  &amp;lt;/checklist&amp;gt;&lt;br /&gt;
  &amp;lt;checklist&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Getting hamburger&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;page&amp;gt;&lt;br /&gt;
      &amp;lt;item&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
      &amp;lt;/item&amp;gt;&lt;br /&gt;
    &amp;lt;/page&amp;gt;&lt;br /&gt;
  &amp;lt;/checklist&amp;gt;&lt;br /&gt;
 &amp;lt;/PropertyList&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the Cessna 172P for an example of how this all fits together.&lt;br /&gt;
&lt;br /&gt;
=== Bindings ===&lt;br /&gt;
One or more [[Bindings|binding elements]] can be added to a checklist item. Conceptually, these are the actions that the user should execute to complete the item. The checklist GUI displays items with such &amp;lt;binding&amp;gt; elements with an additional [&amp;gt;] button.  Clicking on the button executes the bindings, allowing the user to watch as the computer/co-pilot/instructor executes the checklist item.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;binding&amp;gt; element is exactly as you would expect - so property-assign, nasal etc. works.&lt;br /&gt;
&lt;br /&gt;
The plan is to extend this function so that checklists with one or more items containing a &amp;lt;binding&amp;gt; element can have an (optional) button&lt;br /&gt;
to execute the entire checklist.&lt;br /&gt;
&lt;br /&gt;
== Reloading checklists ==&lt;br /&gt;
Cut and paste this little code snippet in the [[Nasal Console]] and excecute it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var reload_checklist = func(filename) {&lt;br /&gt;
var checklist_path=sprintf(&amp;quot;%s/%s&amp;quot;,getprop(&amp;quot;/sim/aircraft-dir&amp;quot;),filename);&lt;br /&gt;
var data = io.read_properties(checklist_path,&amp;quot;/sim/checklists&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
reload_checklist(filename: &amp;quot;777-200-checklists.xml&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the filename to the name of the file you are editing. Make sure to monitor the startup window and/or the [[Nasal Console]] loglist widget for any XML related warnings (e.g. parsing errors).&lt;br /&gt;
&lt;br /&gt;
== Automated checklist execution ==&lt;br /&gt;
&lt;br /&gt;
As of version 3.5, [[FlightGear]] can automate the execution of various sequences of aircraft checklists using the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script in &amp;lt;tt&amp;gt;$FGDATA/Aircraft/Generic&amp;lt;/tt&amp;gt;. The advantage of this approach is that the checklist files become the source of checklists, tutorials and autostart; if the checklists change, so does the autostart (see {{Wikipedia|Don't repeat yourself}}). &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script can be used to create an autostart menu but is not restricted to autostart; any checklist sequence can be run from any piece of Nasal code.&lt;br /&gt;
&lt;br /&gt;
Automated checklists may not work for more complex aircraft startup sequences, but they are so easy to set up that it's worth trying alongside the development of the aircraft startup process. If it works, great! If it doesn't, you haven't wasted your time because you have at least made a start on your checklists.&lt;br /&gt;
&lt;br /&gt;
=== Background ===&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script relies on the aircraft having a set of checklists that have complete sets of [[Bindings|bindings]] to take the aircraft from one state to another. For autostart, for example, you need to be able to start the aircraft solely by pressing the binding buttons on the right side of the checklist.&lt;br /&gt;
&lt;br /&gt;
Using the script is a simple three step process involving a few lines of XML and as little as one line of [[Nasal]] code:&lt;br /&gt;
&lt;br /&gt;
# Add the script to your aircraft&lt;br /&gt;
# Define one or more named checklist sequences&lt;br /&gt;
# Call the script to execute a checklist sequence &lt;br /&gt;
&lt;br /&gt;
For example, you could define a sequence called &amp;quot;startup&amp;quot; that runs the sequence of checklists: &amp;quot;Before Starting Engines&amp;quot; and &amp;quot;Start Engines&amp;quot;. Calling the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script from a menu item binding with &amp;quot;startup&amp;quot; as the argument creates an autostart menu.&lt;br /&gt;
&lt;br /&gt;
When you invoke the &amp;lt;tt&amp;gt;autochecklist&amp;lt;/tt&amp;gt; script, it executes the checklists defined in the named sequence in the order that they are listed. Starting with the first item in the first checklist, it checks the {{readme file|conditions}} associated with the checklist item. If false, it runs the binding. It then moves onto the next item and checks if the condition from the previous item has been satisfied. If it is still false, it waits for a number of seconds -- maybe the binding was interpolated or the condition is waiting for something to start, e.g. APU spooling up. Once the condition from the previous item is satisfied, it looks at the condition on the current item and runs the binding if the condition is false. Execution continues like this until all checklist items have their bindings satisfied.&lt;br /&gt;
&lt;br /&gt;
In some cases, e.g. checks on maximum takeoff weight, bindings will never cause the condition to be satisfied. To cover these cases, the script will consider the checklist to have failed if the condition associated with a checklist item does not become true within a timeout period. In these cases, the pilot needs to review the checklist manually and work out why the aircraft will not start. Once the condition has been corrected, e.g. they removed some fuel or payload to get below MTOW, the checklists can be executed again and should be successful. Because the script checks the condition of each item before running the binding, the automated execution is re-entrant; it just picks up where it left off and does only what needs to be done.&lt;br /&gt;
&lt;br /&gt;
=== Add the script ===&lt;br /&gt;
&lt;br /&gt;
Add &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; to the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file (or equivalent):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;nasal&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;autochecklist&amp;gt;&lt;br /&gt;
    &amp;lt;file&amp;gt;Aircraft/Generic/autochecklist.nas&amp;lt;/file&amp;gt;&lt;br /&gt;
  &amp;lt;/autochecklist&amp;gt;&lt;br /&gt;
&amp;lt;/nasal&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Define checklist sequences ===&lt;br /&gt;
&lt;br /&gt;
In the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file, create one or more named checklist sequences that specify ordered lists of checklists to execute. The names can be anything you like as long as they are valid XML tags. The names are never displayed within the simulator.&lt;br /&gt;
&lt;br /&gt;
For example, to run checklists with indexes 0 and 1 for startup and checklist 9 for shutdown:&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;checklists&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/before-starting-engines.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/start-engines.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Other checklists here with indexes 2 to 8 ... --&amp;gt;&lt;br /&gt;
    &amp;lt;checklist include=&amp;quot;Checklists/parking.xml&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;startup&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;0&amp;quot;&amp;gt;0&amp;lt;/index&amp;gt; &amp;lt;!-- Before starting engines --&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;1&amp;quot;&amp;gt;1&amp;lt;/index&amp;gt; &amp;lt;!-- Start engines --&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
    &amp;lt;shutdown&amp;gt;&lt;br /&gt;
      &amp;lt;index n=&amp;quot;0&amp;quot;&amp;gt;9&amp;lt;/index&amp;gt; &amp;lt;!-- Parking --&amp;gt;&lt;br /&gt;
    &amp;lt;/startup&amp;gt;&lt;br /&gt;
  &amp;lt;/checklists&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Execute the checklist sequence ===&lt;br /&gt;
&lt;br /&gt;
For the typical usage of autostart, add a Nasal binding as a menu item and execute the named checklist sequence:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;item&amp;gt;&lt;br /&gt;
  &amp;lt;label&amp;gt;Autostart&amp;lt;/label&amp;gt;&lt;br /&gt;
  &amp;lt;binding&amp;gt;&lt;br /&gt;
    &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
    &amp;lt;script&amp;gt;autochecklist.complete_checklists(&amp;quot;startup&amp;quot;);&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/binding&amp;gt;&lt;br /&gt;
&amp;lt;/item&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Obviously, additional logic can be included in the binding if you want the autostart menu to toggle between autostart and shutdown.&lt;br /&gt;
&lt;br /&gt;
==== Fine tuning checklist bindings ====&lt;br /&gt;
&lt;br /&gt;
Sometimes, a checklist binding will do something like display a dialog, e.g. fuel and payload dialog. It would be irritating to the pilot if these things happened during automated execution. These bindings can make use of the &amp;lt;code&amp;gt;sim/checklists/auto/active&amp;lt;/code&amp;gt; property, which will be &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; when the checklist binding is being run by the autochecklist script and &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; otherwise.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;binding&amp;gt;&lt;br /&gt;
  &amp;lt;command&amp;gt;nasal&amp;lt;/command&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    var auto = getprop(&amp;quot;sim/checklists/auto/active&amp;quot;);&lt;br /&gt;
    if (!auto) gui.showWeightDialog();&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/binding&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Expedited checklists ====&lt;br /&gt;
&lt;br /&gt;
For in-air start sequences in some aircraft, you can pass zero as the second argument of the &amp;lt;tt&amp;gt;complete_checklists&amp;lt;/tt&amp;gt; function to expedite the sequence. All items in the checklist sequence will be executed without waiting for previous items to complete. Note that this means the checklist sequence is never considered to have failed.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
if (!getprop(&amp;quot;gear/gear/wow&amp;quot;)) {&lt;br /&gt;
     autochecklist.complete_checklists(sequence: &amp;quot;in-air-start&amp;quot;, wait: 0);&lt;br /&gt;
} else {&lt;br /&gt;
     autochecklist.complete_checklists(&amp;quot;ground-start&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clearly the checklist sequence used for in-air start should be different from a ground start and should put the aircraft into a flying state, e.g. gear up, flaps up. Bindings can use the property &amp;lt;code&amp;gt;sim/checklists/auto/expedited&amp;lt;/code&amp;gt; to check if the execution is expedited, i.e. there is no wait between items. Note that the expedited flag does not in itself indicate whether a binding is being run as part of an automated checklist. You may need to test both the &amp;lt;code&amp;gt;sim/checklists/auto/active&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;sim/checklists/auto/expedited&amp;lt;/code&amp;gt; properties, e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nasal&amp;quot;&amp;gt;&lt;br /&gt;
var auto = getprop(&amp;quot;sim/checklists/auto/active&amp;quot;);&lt;br /&gt;
var expedited = getprop(&amp;quot;sim/checklists/auto/expedited&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
if (auto and expedited) {&lt;br /&gt;
    ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Customizing execution (optional) ===&lt;br /&gt;
&lt;br /&gt;
The behavior of the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script can be customized by setting properties, either in the aircraft's &amp;lt;tt&amp;gt;-set.xml&amp;lt;/tt&amp;gt; file or at runtime. Configuration is under the &amp;lt;tt&amp;gt;sim/checklists/auto&amp;lt;/tt&amp;gt; node.&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;checklists&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;auto&amp;gt;&lt;br /&gt;
      &amp;lt;startup-message&amp;gt;Running checklists, please wait ...&amp;lt;/startup-message&amp;gt;&lt;br /&gt;
      &amp;lt;completed-message&amp;gt;Checklists complete.&amp;lt;/completed-message&amp;gt;&lt;br /&gt;
      &amp;lt;timeout-message&amp;gt;Some checks failed.&amp;lt;/timeout-message&amp;gt;&lt;br /&gt;
      &amp;lt;timeout-sec&amp;gt;10&amp;lt;/timeout-sec&amp;gt;&lt;br /&gt;
      &amp;lt;wait-sec&amp;gt;3&amp;lt;/wait-sec&amp;gt;&lt;br /&gt;
    &amp;lt;auto&amp;gt;&lt;br /&gt;
  &amp;lt;/checklists&amp;gt;&lt;br /&gt;
&amp;lt;/sim&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;startup-message&amp;lt;/code&amp;gt; message displayed prior to automated checklist execution&lt;br /&gt;
* &amp;lt;code&amp;gt;completed-message&amp;lt;/code&amp;gt; message displayed on successful completion of the checklist&lt;br /&gt;
* &amp;lt;code&amp;gt;timeout-message&amp;lt;/code&amp;gt; message displayed if checklist execution times out waiting for a checklist condition to be satisfied&lt;br /&gt;
* &amp;lt;code&amp;gt;timeout-sec&amp;lt;/code&amp;gt; if the previous condition is not satisfied within this timeout, the automated execution fails&lt;br /&gt;
* &amp;lt;code&amp;gt;wait-sec&amp;lt;/code&amp;gt; time to wait before re-checking the status of the previous item if its condition is false after running the binding (effectively a polling interval).&lt;br /&gt;
&lt;br /&gt;
Messages are displayed as copilot announcements (by setting &amp;lt;tt&amp;gt;sim/messages/copilot&amp;lt;/tt&amp;gt;). They can be set empty if messages are not required. Note that messages are never displayed for expedited starts.&lt;br /&gt;
&lt;br /&gt;
Care should be taken with the timeout value. This is the timeout for a single item waiting for the previous condition to be satisfied, not the overall timeout for the checklist sequence. If the timeout is set to a large value and conditions cannot be satisfied, the pilot will have to wait a long time for the failure message to appear.&lt;br /&gt;
&lt;br /&gt;
=== Other features and ideas ===&lt;br /&gt;
&lt;br /&gt;
Automated checklist execution is not restricted to autostart and shutdown. If you have an &amp;quot;After Landing&amp;quot; checklist that switches landing lights off, raises flaps and turns taxi lights on, for example, you could assign that to a keyboard shortcut. Rollout and taxi is a busy time on some aircraft and it's often not easy to find the switches and controls necessary to complete this kind of checklist.&lt;br /&gt;
&lt;br /&gt;
To use the &amp;lt;tt&amp;gt;autochecklist.nas&amp;lt;/tt&amp;gt; script, pilots need &amp;lt;tt&amp;gt;FGDATA&amp;lt;/tt&amp;gt; v3.5 or greater, otherwise the script will not be available. The availability of automated checklists can be tested by checking whether the &amp;lt;tt&amp;gt;sim/checklists/auto&amp;lt;/tt&amp;gt; node is nil and a suitable indication given to the pilot if it is nil.&lt;br /&gt;
&lt;br /&gt;
For an example of using automated checklists, refer to the [[Lockheed Constellation]], for which the script was originally written.&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
the docs for this particular feature are to be found in {{readme file|checklists}}.&lt;br /&gt;
This is also where you can read that the c172p is considered the reference implementation.&lt;br /&gt;
The system itself is located in {{fgdata source|path=gui/dialogs/checklist.xml|line=18|pre=$FG_ROOT|post=(embedded Nasal)}}, but -at least for now- that should not matter to you - unless you want to extend the system to add support for new features (in which case, you'll also want to check out $FG_ROOT/Nasal/checklist.nas).&lt;br /&gt;
Whatever is added to the Nasal code should never be aircraft-specific - aircraft specific stuff needs to be expressed via your own XML files - if something is missing, just extend the Nasal file, or ask for help so that we can post some pointers/snippets.&lt;br /&gt;
&amp;lt;ref&amp;gt; {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=218209#p218209&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = Sep 11th, 2014&lt;br /&gt;
  | added   = Sep 11th, 2014&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it would be a good idea to localie any custom Nasal blocks, and instead introduce custom fgcommands using the addcommand() API - basically the reason being that there could be an aircraft-specific API using fgcommands for starting engines, instead of having aircraft-specific &amp;quot;Nasal blobs&amp;quot; in each checklist file. A while ago, this was actually discussed on the devel list, too. In other words, an &amp;quot;fgcommand&amp;quot; (implemented in Nasal) would help better isolate checklists from aircraft specifics.&lt;br /&gt;
&amp;lt;ref&amp;gt; {{cite web&lt;br /&gt;
  | url    = http://forum.flightgear.org/viewtopic.php?p=241259#p241259&lt;br /&gt;
  | title  = &amp;lt;nowiki&amp;gt;Re: Automated Checklist Execution&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | author = &amp;lt;nowiki&amp;gt;Hooray&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
  | date   = May 1st, 2015&lt;br /&gt;
  | added   = May 1st, 2015&lt;br /&gt;
  | script_version = 0.25&lt;br /&gt;
  }}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External link ==&lt;br /&gt;
* [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg38325.html Aircraft Checklists] (mailing list)&lt;br /&gt;
* [https://sourceforge.net/p/flightgear/mailman/message/33904555/ Automated Checklist Execution] (mailing list)&lt;br /&gt;
&lt;br /&gt;
[[Category:Aircraft enhancement]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96493</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96493"/>
		<updated>2016-03-31T12:21:19Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Cockpit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70-80kts.&lt;br /&gt;
&lt;br /&gt;
The aircraft has not been tested with any launcher, official or otherwise.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Weights || Refine limits from type certificate || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Position fuel tanks more accurately || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Develop a more accurate estimate of COG || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Add contact points and crash detect || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|20}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Filter EGT for instrument display || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Autopilot || Heading hold doesn't properly respect gyro precession || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Reinstate missing window sills || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model and drive Sperry SP3 Autopilot || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Switch clicks || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Environment sounds (rain, thunder) || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add fuselage cowls (main gear strut housings) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate main gear compression || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate wheel rotation || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model oleo strut and animate (review compression and length) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Lights || Add navigation, strobe and beacon lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add ALS landing and taxi lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and texture transparent window glass || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|70}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model pitot tube || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add livery support || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add reflection and chrome shaders || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify multiplayer properties || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify replay || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Fix livery over MP || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|40}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96492</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96492"/>
		<updated>2016-03-31T12:19:35Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Development Status/Issues/Todo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70-80kts.&lt;br /&gt;
&lt;br /&gt;
The aircraft has not been tested with any launcher, official or otherwise.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Weights || Refine limits from type certificate || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Position fuel tanks more accurately || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Develop a more accurate estimate of COG || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Add contact points and crash detect || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|20}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Filter EGT for instrument display || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Autopilot || Heading hold doesn't properly respect gyro precession || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Reinstate missing window sills || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model and drive Sperry SP3 Autopilot || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{progressbar|33}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Switch clicks || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Environment sounds (rain, thunder) || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add fuselage cowls (main gear strut housings) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate main gear compression || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate wheel rotation || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model oleo strut and animate (review compression and length) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Lights || Add navigation, strobe and beacon lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add ALS landing and taxi lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and texture transparent window glass || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|70}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model pitot tube || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add livery support || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add reflection and chrome shaders || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify multiplayer properties || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify replay || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Fix livery over MP || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|40}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96365</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96365"/>
		<updated>2016-03-26T13:05:22Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* External Model */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70-80kts.&lt;br /&gt;
&lt;br /&gt;
The aircraft has not been tested with any launcher, official or otherwise.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Weights || Refine limits from type certificate || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Position fuel tanks more accurately || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Develop a more accurate estimate of COG || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Add contact points and crash detect || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|20}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Filter EGT for instrument display || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Autopilot || Heading hold doesn't properly respect gyro precession || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Reinstate missing window sills || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model and drive Sperry SP3 Autopilot || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Switch clicks || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Environment sounds (rain, thunder) || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add fuselage cowls (main gear strut housings) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate main gear compression || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate wheel rotation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model oleo strut and animate (review compression and length) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Lights || Add navigation, strobe and beacon lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add ALS landing and taxi lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and texture transparent window glass || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|70}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model pitot tube || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add livery support || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify multiplayer properties || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify replay || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Fix livery over MP || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|40}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96364</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96364"/>
		<updated>2016-03-26T13:01:36Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* FDM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70-80kts.&lt;br /&gt;
&lt;br /&gt;
The aircraft has not been tested with any launcher, official or otherwise.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Weights || Refine limits from type certificate || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Position fuel tanks more accurately || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Develop a more accurate estimate of COG || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Add contact points and crash detect || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|20}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Filter EGT for instrument display || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Autopilot || Heading hold doesn't properly respect gyro precession || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Reinstate missing window sills || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model and drive Sperry SP3 Autopilot || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Switch clicks || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Environment sounds (rain, thunder) || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add fuselage cowls (main gear strut housings) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate main gear compression || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate wheel rotation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model oleo strut and animate (review compression and length) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Lights || Add navigation, strobe and beacon lights || {{progressbar|20}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add ALS landing and taxi lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add taxi light and landing lights || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and texture transparent window glass || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|70}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model pitot tube || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add livery support || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify multiplayer properties || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify replay || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Fix livery over MP || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|40}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
	<entry>
		<id>https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96315</id>
		<title>Beagle Pup</title>
		<link rel="alternate" type="text/html" href="https://wiki.flightgear.org/w/index.php?title=Beagle_Pup&amp;diff=96315"/>
		<updated>2016-03-24T16:35:59Z</updated>

		<summary type="html">&lt;p&gt;Sanhozay: /* Development Status/Issues/Todo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox Aircraft&lt;br /&gt;
|image=Beagle Pup 100.png&lt;br /&gt;
|name		= Beagle Pup&lt;br /&gt;
|type 		= Light Sport / General Aviation&lt;br /&gt;
|fdm 		= JSBSim&lt;br /&gt;
|status-fdm	= 2&lt;br /&gt;
|status-systems = 2&lt;br /&gt;
|status-cockpit = 2&lt;br /&gt;
|status-model	= 2&lt;br /&gt;
|authors 	= Richard Senior&lt;br /&gt;
|fgname 	= pup100, pup150, pup160&lt;br /&gt;
}}&lt;br /&gt;
The Beagle 121, better known as the '''Beagle Pup''' is a light sport and general aviation aircraft designed and built during the 1960s by Beagle Aircraft Ltd at Shoreham and Rearsby in the United Kingdom.&lt;br /&gt;
&lt;br /&gt;
== Variants ==&lt;br /&gt;
&lt;br /&gt;
=== Series 1 (Beagle Pup 100) ===&lt;br /&gt;
&lt;br /&gt;
Powered by a 100hp Rolls-Royce Continental 0-200 engine, the original Beagle Pup has modest climb rates of around 500 ft/min and a cruise speed of just over 100 knots. Fuel capacity 24 imperial gallons (29 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 2 (Beagle Pup 150) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 150 retains the same airframe as the Pup 100 with an enlarged and reshaped engine cowl to accommodate a 150hp Lycoming 0-320-A2B engine. The extra power allowed for additional passenger seating in the rear and produced climb rates of around 800 ft/min and a cruise speed of around 115 knots. Fuel tanks were unchanged from the Pup 100, although there was an option for additional tanks to increase the capacity to 34 imperial gallons (41 US gallons).&lt;br /&gt;
&lt;br /&gt;
=== Series 3 (Beagle Pup 160) ===&lt;br /&gt;
&lt;br /&gt;
The Pup 160 has exactly the same airframe and cowl as the Pup 150, but was fitted with fuel tanks totalling 34 imperial gallons (41 US gallons) as standard and powered by a 160hp Lycoming 0-320-D2C engine. Cruise speed and climb rates are comparable to the Pup 150, the Pup 160 is really about increased range and carrying capacity.&lt;br /&gt;
&lt;br /&gt;
The most common aircraft currently in use is the Pup 150. Only a handful or Pup 160s were made before Beagle went into liquidation and most were exported from the UK. The Pup 100 is considered to be slightly underpowered.&lt;br /&gt;
&lt;br /&gt;
== Flight Notes ==&lt;br /&gt;
&lt;br /&gt;
The aircraft is still in an alpha state but completely flyable from the 3D cockpit. The external model is currently of a Pup 100 for all three variants.&lt;br /&gt;
&lt;br /&gt;
For a model this new, systems are relatively mature. Startup sequence is modelled ... but no controls in the 3D cockpit. Autostart executes the startup checklists and puts the aircraft in a ready for takeoff state with takeoff flaps set. Some basic cockpit lighting is provided for night flying. Overall, it is quite flyable.&lt;br /&gt;
&lt;br /&gt;
There is a continuous fuel simulation, i.e. it saves the fuel levels on exit. Check fuel before you fly.&lt;br /&gt;
&lt;br /&gt;
Performance has been roughly tuned on the Pup 100 for cruise below 5000ft. The Pup 150/160 fall into the right ballpark of cruise speed but appear overpowered at low altitude. Generally speaking, relieve the weight on the nose by 50kts and use the rudder, rotate at 70kts and flaps up on positive climb. There is a keyboard shortcut to set cruise power, lean the mixture (the EGT major tick scale is 100*F, and typical leaning is 50*F rich of peak). Approach at 70-80kts.&lt;br /&gt;
&lt;br /&gt;
The aircraft has not been tested with any launcher, official or otherwise.&lt;br /&gt;
&lt;br /&gt;
== Sperry SP Series Autopilot ==&lt;br /&gt;
&lt;br /&gt;
{{WIP}}&lt;br /&gt;
&lt;br /&gt;
The Sperry SP autopilots consisted of a series of modules that could be added individually to an aircraft to provide different degrees of autopilot control. Note the white blanking plates at the bottom of the autopilot controller, which are placeholders for a series of control buttons. &lt;br /&gt;
&lt;br /&gt;
The most basic configuration -- the SP1 -- is simply a yaw stabilizer, controlling only the rudder. The SP2 systems are two-axis autopilots, controlling aileron and elevator. The full set -- designated the SP3 -- is a three-axis autopilot with altitude hold and automatic heading hold. I have seen photographs of later units with a complete set of four buttons on the controller: HDG HLD, ALT HLD, NAV LOC and GLD HLD but I am not aware of Beagle having fitted these to any aircraft.&lt;br /&gt;
&lt;br /&gt;
=== Sperry SP3 in the Beagle Pup ===&lt;br /&gt;
&lt;br /&gt;
Judging by photographs, publicity material and existing aircraft, Beagle did not fit an autopilot to the Beagle Pup as standard. During the time the Beagle Pup was being manufactured, they were fitting Sperry SP3 autopilots to the Beagle 206 (Basset). Rather than use the generic Flightgear autopilot, I've taken the opportunity to satisfy my appetite for obscure autopilot controllers by modelling the Sperry SP3 for the Beagle Pup.&lt;br /&gt;
&lt;br /&gt;
The SP3 is a three axis autopilot, controlling pitch, roll and yaw. If you are flying the Beagle Pup with auto-coordination turned on, the autopilot does not attempt to control the rudder, so technically you are flying with a Sperry SP2A and Flightgear is dealing with coordinated turns.&lt;br /&gt;
&lt;br /&gt;
Controls are basic. There is a pitch wheel to control pitch, a turn knob to control roll, an altitude hold button and an on off switch. Trim controls are also provided for the pitch and roll channels. Note that these are not direct controls of aileron or elevator trim, these are autopilot trims. There is no button or switch for heading hold, and no heading bug; heading hold is automatic when a neutral turn is selected. There is no automatic tracking of a VOR radial, no glideslope coupling and the autopilot does not follow a route-manager route.&lt;br /&gt;
&lt;br /&gt;
Control of pitch is fairly self-explanatory. When the autopilot is turned on, it will attempt to stabilize the aircraft at the pitch that is set on the wheel. So if you turn the autopilot on during climb, you will want to preset a positive pitch on the pitch wheel of about 4-5 degrees. With the pitch wheel at zero detent (use the help text in the bottom left corner of the screen) the idea is that the aircraft should fly level. It probably won't, which is why there is an &amp;quot;Elev. Trim&amp;quot; knob. With the aircraft at a typical cruise altitude and power (leaned if necessary), adjust the elev trim knob so that a selection of zero pitch on the main pitch wheel produces level flight. This trim setting is saved when you exit Flightgear but may need adjusting based on fuel and payload. Once the pitch axis is trimmed, with the pitch wheel centered, you can press the &amp;quot;ALT HLD&amp;quot; button to hold the current altitude. Altitude hold is cleared when you rotate the pitch wheel away from center and needs to be pressed again to hold a different level.&lt;br /&gt;
&lt;br /&gt;
Control of roll is also quite simple. As with the pitch channel, trimming may be necessary. The turn knob allows left/right turns up to 20 degrees of bank, which produces a standard rate turn. With the turn knob centered, the aircraft is supposed to fly wings level and, if the heading is stable, will lock onto the stable heading. If you center the turn knob and the aircraft doesn't lock onto the heading, use the roll trim wheel to cancel out any turn due to imbalance of the aircraft. Again, the trim is saved on exit and screen help indicates the amount of turn you have selected and also the heading hold. It takes 3-5 seconds to lock the heading after selecting zero bank.&lt;br /&gt;
&lt;br /&gt;
There are no controls on the controller for the yaw channel. Coordinated turns are handled by the autopilot if auto-coordination is turned off. If you are flying with mouse or keyboard control and the autopilot is controlling yaw, you will want to center the rudder before engaging the autopilot. Currently the only way to do this is by using the HUD.&lt;br /&gt;
&lt;br /&gt;
Without a heading bug, establishing a heading takes a little practice. The key is that the autopilot is tuned to roll level from half the bank angle from your target. So, for example, if you are flying at 270 and you want to fly a heading of 360, establish a full right turn with the turn knob (20 degrees of bank) and, just before 10 degrees from your target, i.e. 350 degrees, center the turn knob. The turn knob uses a standard knob/slider animation, so holding down the shift key and left-clicking banks right in 10 degree increments. Shift middle-click banks left. The controls are heavily filtered to keep these turns smooth. Fine-tuning a heading, e.g. when tracking a NAV radial, is easily achieved by clicking the turn knob a couple of times to bank slightly left, then middle-clicking a couple of times to center again.&lt;br /&gt;
&lt;br /&gt;
Note that Ctrl-z toggles the main autopilot on/off switch. Other conventional autopilot shortcuts, e.g. Ctrl-h, Ctrl-h do not work with this autopilot.&lt;br /&gt;
&lt;br /&gt;
== Development Status/Issues/Todo ==&lt;br /&gt;
&lt;br /&gt;
=== FDM ===&lt;br /&gt;
&lt;br /&gt;
Information limited. Aerodynamic knowledge limited. Advice welcomed ;)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Weights || Refine limits from type certificate || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Position fuel tanks more accurately || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Balance || Develop a more accurate estimate of COG || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Refine surface position travel || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Control || Look at flap lift (flaps tend to balloon) || {{progressbar|50}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Tune engine rpm, mp and hp || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Propulsion || Adjust performance variation with altitude || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Add contact points and crash detect || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Reactions || Fix bouncing at startup || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Systems ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Research and simulate circuit breaker panel switches || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Electrical || Add basic current simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add carb temperature simulation || {{progressbar|20}}&lt;br /&gt;
|-&lt;br /&gt;
| Icing || Add pitot heat simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Add fuel pressure simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Refine manifold simulation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Create refuelling dialog || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Filter EGT for instrument display || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Fuel || Model unusable fuel and full quantities || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Other || Verify pitot/static and suction || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Checklists || Complete to match POH || {{progressbar|30}}&lt;br /&gt;
|-&lt;br /&gt;
| Autopilot || Heading hold doesn't properly respect gyro precession || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Cockpit ===&lt;br /&gt;
&lt;br /&gt;
Cockpit is currently a placeholder only, populated with instruments from the Cessna 337.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create and select animate rear seats || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model centre pedestal || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model panel || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate fuel tank selector || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Reinstate missing window sills || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KR-86 ADF receiver and display || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model KX-175B comm/nav || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Model and drive Sperry SP3 Autopilot || {{progressbar|90}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Create Transponder || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Instruments || Legacy DME? || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Panel || Recreate panel instrument dials - various || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add ALS shadows (cube map) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Create lightmaps for pilot/copilot flood || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Effects || Add internal glass effects || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Switch clicks || {{progressbar|80}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Stall warning || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Environment sounds (rain, thunder) || {{done}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== External Model ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Category !! Description !! Progress&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add fuselage cowls (main gear strut housings) || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate main gear compression || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Animate wheel rotation || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model oleo strut and animate (review compression and length) || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Model main gear brakes and cables || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Gear || Add or texture tyre treads || {{pending}}&lt;br /&gt;
|- &lt;br /&gt;
| Lights || Add navigation, strobe and beacon lights || {{progressbar|20}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add ALS landing and taxi lights || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Lights || Add taxi light and landing lights || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create 150/160 engine cowl variant || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and texture transparent window glass || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model aerials and fins || {{progressbar|70}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model pitot tube || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model and animate control surface hinges || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model tie down points || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Model exhaust and air intake || {{progressbar|40}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Create paint kit with construction lines || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Add livery support || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Model || Improve ambient occlusion map || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify multiplayer properties || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Verify replay || {{pending}}&lt;br /&gt;
|-&lt;br /&gt;
| MP || Fix livery over MP || {{done}}&lt;br /&gt;
|-&lt;br /&gt;
| Sound || Improve consistency between 100 and 150/160 || {{progressbar|40}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Beagle_Pup Wikipedia]&lt;br /&gt;
* [http://austerhg.org/beagle_mags/ Historic Beagle Magazines]&lt;br /&gt;
* [http://www.pilotfriend.com/aircraft%20performance/Beagle/beagle.htm Beagle Aircraft History]&lt;br /&gt;
* [http://easa.europa.eu/system/files/dfu/SAS%20A%20082%20Iss%205%20final.pdf Beagle Pup Airworthiness Certificate]&lt;br /&gt;
* [https://www.flightglobal.com/FlightPDFArchive/1961/1961%20-%201325.PDF Sperry SP3 Review]&lt;br /&gt;
&lt;br /&gt;
[[Category:Propeller aircraft]]&lt;br /&gt;
[[Category:Single-engine aircraft]]&lt;/div&gt;</summary>
		<author><name>Sanhozay</name></author>
	</entry>
</feed>