Aircraft checklists: Difference between revisions

Jump to navigation Jump to search
Cleanup
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 V2.9, [[FlightGear]] can display '''aircraft checklists''' in a standardized way, under Help > Aircraft Checklists. To learn more about creating custom checklists, see [https://gitorious.org/fg/fgdata/blobs/master/Docs/README.checklists [[$FG_ROOT]]/Docs/README.checklists] and the c172p as the reference implementation. Increasingly, the [[Tutorials]] system is also extended such that it may make use of aircraft checklists.  
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"/>
<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.
[[Tutorials#Marker|tutorial marker]].


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 [[Cessna 172P]] for an example of how this all fits together.
See the Cessna 172P for an example of how this all fits together.


== Bindings Support ==
=== Bindings ===
Aircraft authors may now add one or more <binding> elements to a checklist <item>. Conceptually, these are the actions that the user should execute
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. 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 <binding> element is exactly as you would expect - so property-assign, nasal etc. works.


Due to the power of Nasal and properties, this feature only required 13 lines of code to write, most of which is displaying the button!
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.
I'm planning 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. I'm still thinking of how best to implement this, as I think one would want a gap between each item.
 
I'd highlight the property-interpolate command which provides a very convenient way to interpolate a property to a new value.  See
Docs/README.commands if (like me) you were unaware of this :).
 
I've updated the c172p checklists to use this feature, including some rather cute interpolations of the throttle, mixture and trim controls.
 
==Reloading Checklists==


Cut and paste this little code snippet in nasal console and excecute it :
== 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 ==
* [https://gitorious.org/fg/fgdata/blobs/master/Docs/README.checklists [[$FG_ROOT]]/Docs/README.checklists]
* [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]]

Navigation menu