Canvas glass cockpit efforts: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
Line 37: | Line 37: | ||
* Page | * Page | ||
* Page-Element | * Page-Element | ||
* Task (maketimer based) | |||
* Event handling (listener based) | |||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> |
Revision as of 20:20, 3 June 2014
This article is a stub. You can help the wiki by expanding it. |
The FlightGear forum has a subforum related to: Canvas |
This is a list of Canvas related glass cockpit efforts, i.e. projects implementing modern MFD avionics.
Goal | Description | Progress | People | Comments |
---|---|---|---|---|
747 PFD | ... | (people) | ... | |
NavDisplay | ... | (people) | ... | |
Garmin GPSMap 196 | ... | F-JJTH | ... | |
Avidyne Entegra R9 | ... | (people) | ... | |
Canvas EFB Framework | ... | (people) | ... |
XML Framework
Note This is work in progress - the idea is to identify required building blocks to easily specify most MFD functionality in a generic fashion, without requiring a ton of custom Nasal code and without being specific to a single type of MFD.
The Nasal/Canvas data structures will be transparently created and compiled for each MFD. Each MFD consists of an arbitrary number of buttons, modes and pages. Each MFD can be instantiated multiple times, and each MFD is designed to be aircraft/instrument agnostic, i.e. also works just in a conventional Canvas dialog. Buttons can trigger and switch between modes, and modes may have pages (conventionally implemented through a single SVG file). |
Header
- Canvas size/view
- colors/transparency
Primitives
- Button
- Mode
- Page
- Page-Element
- Task (maketimer based)
- Event handling (listener based)
<PropertyList>
<MFD>
<version>1.0</version>
<name>myMFD</name>
<description></description>
<debug>1</debug>
<resolution>320x240</resolution>
<buttons>
<button>
<name></name>
<property></property>
</button>
...
</buttons>
<!-- TODO: support SGCondition here -->
<modes>
<mode>
</mode>
</modes>
<pages>
<page>
<name>panel-page</name>
<svg-filename>panels.svg</svg-filename>
<nasal></nasal>
</page>
</pages>
</MFD>
</PropertyList>