Aircraft checklists: Difference between revisions
m (http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg40005.html) |
(Cleanup) |
||
Line 1: | Line 1: | ||
[[File:Aircraft Checklists dialog.jpg|thumb|The Aircraft Checklists dialog]] | [[File:Aircraft Checklists dialog.jpg|thumb|The Aircraft Checklists dialog]] | ||
As of | As of version 2.9, [[FlightGear]] can display '''aircraft checklists''' in a standardized way, under Help > Aircraft Checklists. | ||
== Adding checklists == | |||
To learn more about creating custom checklists, see <tt>[[$FG_ROOT]]/Docs/README.checklists</tt> and the [[Cessna 172P]] as the reference implementation. Increasingly, the [[tutorials]] system is also extended such that it may make use of aircraft checklists. | |||
Checklists are situated under <tt>/sim/checklists</tt>. As the checklists may be quite long, it is recommended that they are put in a separate file using the following entry in the <tt>-set.xml</tt> file of the aircraft: | Checklists are situated under <tt>/sim/checklists</tt>. As the checklists may be quite long, it is recommended that they are put in a separate file using the following entry in the <tt>-set.xml</tt> file of the aircraft: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
<checklists include="c172-checklists.xml"/> | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Line 16: | Line 19: | ||
*** <code><value></code> One or more values, to appear on the right hand side of the checklist. Second and and subsequent <value> tags are displayed underneath each other. It is recommended that the <value> tags are kept short, to minimize the size of the displayed checklist. | *** <code><value></code> One or more values, to appear on the right hand side of the checklist. Second and and subsequent <value> tags are displayed underneath each other. It is recommended that the <value> tags are kept short, to minimize the size of the displayed checklist. | ||
*** <code><condition></code> 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. | *** <code><condition></code> 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. | ||
*** <code><marker></code> An optional marker node that is used to display a circle around a control when the user clicks a "?" button next to the item. This contains <x-m>, <y-m>, <z-m> and <scale> sub-elements and uses the | *** <code><marker></code> An optional marker node that is used to display a circle around a control when the user clicks a "?" button next to the item. This contains <x-m>, <y-m>, <z-m> and <scale> sub-elements and uses the [[Tutorials#Marker|tutorial marker]]. | ||
*** <code><binding></code> Zero or more XML bindings that are used by the simulator to execute the checklist item if the user clicks on a ">" button next to the item. | *** <code><binding></code> Zero or more XML bindings that are used by the simulator to execute the checklist item if the user clicks on a ">" button next to the item. | ||
For simple checklists the <page> element can be omitted and <item> entries placed directly under the <checklist>. | For simple checklists the <page> element can be omitted and <item> entries placed directly under the <checklist>. | ||
Line 64: | Line 66: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
See the | See the Cessna 172P for an example of how this all fits together. | ||
== Bindings | === Bindings === | ||
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 <binding> elements with an additional [>] button. Clicking on the button executes the bindings, allowing the user to watch as the computer/co-pilot/instructor executes the checklist item. | |||
to complete the item. | |||
bindings, allowing the user to watch as the computer/co-pilot/instructor executes the checklist item. | |||
The <binding> element is exactly as you would expect - so property-assign, nasal etc. works. | The <binding> element is exactly as you would expect - so property-assign, nasal etc. works. | ||
The plan is to extend this function so that checklists with one or more items containing a <binding> element can have an (optional) button | |||
to execute the entire checklist. | |||
to execute the entire checklist. | |||
Cut and paste this little code snippet in | == Reloading checklists == | ||
Cut and paste this little code snippet in the Nasal console and excecute it: | |||
var checklist="777-200-checklists.xml"; | var checklist="777-200-checklists.xml"; | ||
Line 94: | Line 86: | ||
== External link == | == External link == | ||
* [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg38325.html Aircraft Checklists] (mailing list) | * [http://www.mail-archive.com/flightgear-devel@lists.sourceforge.net/msg38325.html Aircraft Checklists] (mailing list) | ||
[[Category:Aircraft enhancement]] | [[Category:Aircraft enhancement]] |
Revision as of 18:56, 11 May 2013
As of version 2.9, FlightGear can display aircraft checklists in a standardized way, under Help > Aircraft Checklists.
Adding checklists
To learn more about creating custom checklists, see $FG_ROOT/Docs/README.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.
Checklists are situated under /sim/checklists. As the checklists may be quite long, it is recommended that they are put in a separate file using the following entry in the -set.xml file of the aircraft:
<checklists include="c172-checklists.xml"/>
Each individual checklist is created under a <checklist> XML tag, with the following sub-properties:
<title>
The name of the checklist<page>
One or more pages from the checklist, containing one or more of the following:<item>
A checklist item, containing<name>
The item name, to appear on the left hand side of the checklist<value>
One or more values, to appear on the right hand side of the checklist. Second and and subsequent <value> tags are displayed underneath each other. It is recommended that the <value> tags are kept short, to minimize the size of the displayed checklist.<condition>
An optional condition node that evaluates when the checklist item is complete. Incomplete checklist items are shown in yellow, while completed items are shown in green.<marker>
An optional marker node that is used to display a circle around a control when the user clicks a "?" button next to the item. This contains <x-m>, <y-m>, <z-m> and <scale> sub-elements and uses the tutorial marker.<binding>
Zero or more XML bindings that are used by the simulator to execute the checklist item if the user clicks on a ">" button next to the item.
For simple checklists the <page> element can be omitted and <item> entries placed directly under the <checklist>.
The following example shows a simple checklists XML file:
<PropertyList>
<checklist>
<title>After Landing</title>
<item>
<name>Carburetor Heat</name>
<value>COLD</value>
<condition>
<equals>
<property>/controls/anti-ice/engine[0]/carb-heat</property>
<value>0</value>
</equals>
</condition>
<marker>
<x-m>-0.3225</x-m>
<y-m>-0.0850</y-m>
<z-m>-0.2117</z-m>
<scale>2.0500</scale>
</marker>
<binding>
<command>property-assign</command>
<value>0</value>
</binding>
</item>
<item>
<name>Wing Flaps</name>
<value>UP</value>
</item>
</checklist>
<checklist>
<title>Getting hamburger</title>
<page>
<item>
...
</item>
</page>
</checklist>
</PropertyList>
See the Cessna 172P for an example of how this all fits together.
Bindings
One or more 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 <binding> elements with an additional [>] button. Clicking on the button executes the bindings, allowing the user to watch as the computer/co-pilot/instructor executes the checklist item.
The <binding> element is exactly as you would expect - so property-assign, nasal etc. works.
The plan is to extend this function so that checklists with one or more items containing a <binding> element can have an (optional) button to execute the entire checklist.
Reloading checklists
Cut and paste this little code snippet in the Nasal console and excecute it:
var checklist="777-200-checklists.xml"; var checklist_path=sprintf("%s/%s",getprop("/sim/aircraft-dir"),checklist); var data = io.read_properties(checklist_path,"/sim/checklists");
Change the first variable to the name of the file you are editing.
External link
- Aircraft Checklists (mailing list)