Added User Doco
Added Files: FGShortRef.pdf FlightGear-FAQ.html README README.IO README.JSBsim README.xmlhud
This commit is contained in:
parent
d85d6205b8
commit
9f9374be23
6 changed files with 978 additions and 0 deletions
BIN
Docs/FGShortRef.pdf
Normal file
BIN
Docs/FGShortRef.pdf
Normal file
Binary file not shown.
426
Docs/FlightGear-FAQ.html
Normal file
426
Docs/FlightGear-FAQ.html
Normal file
|
@ -0,0 +1,426 @@
|
||||||
|
<html lang="en"><!-- $Id$ --><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>FlightGear FAQ</title><style type="text/css">
|
||||||
|
.indent { margin-left: 2em; margin-right: 1em; }
|
||||||
|
</style></head><body>
|
||||||
|
|
||||||
|
<h1 align="center">FlightGear FAQ</h1>
|
||||||
|
<p align="center"><small>Cameron Moore<br><a href="mailto:cameron@unbeatenpath.net?subject=FlightGear%20FAQ">cameron@unbeatenpath.net</a></small></p><hr noshade="yes">
|
||||||
|
|
||||||
|
|
||||||
|
<h2>Introduction</h2>
|
||||||
|
<p>Welcome to the FlightGear FAQ. Here you will find the answers to
|
||||||
|
some questions that are frequently asked on our mailing lists. If
|
||||||
|
you have a question that is not answered here, feel free to ask
|
||||||
|
us on our mailing lists. Enjoy</p>
|
||||||
|
|
||||||
|
<hr noshade="yes"><h2><a name="toc">Table of Contents</a></h2><h4>1 -
|
||||||
|
<a href="#1">The FAQ</a></h4><div class="indent">1.1 -
|
||||||
|
<a href="#1.1">Where can I get the latest version of this FAQ?</a></div><div class="indent">1.2 -
|
||||||
|
<a href="#1.2">Who do I contact if I have comments about this FAQ?</a></div><div class="indent">1.3 -
|
||||||
|
<a href="#1.3">What other important documentation should I read?</a></div><div class="indent">1.4 -
|
||||||
|
<a href="#1.4">How old is this document?</a></div><br><h4>2 -
|
||||||
|
<a href="#2">Distribution</a></h4><div class="indent">2.1 -
|
||||||
|
<a href="#2.1">Where is the latest distribution of FlightGear?</a></div><div class="indent">2.2 -
|
||||||
|
<a href="#2.2">Where can I find the newest snapshots?</a></div><div class="indent">2.3 -
|
||||||
|
<a href="#2.3">Where can I fly and where do I get the scenery?</a></div><div class="indent">2.4 -
|
||||||
|
<a href="#2.4">Where can I get some different 3D models for my plane?</a></div><br><h4>3 -
|
||||||
|
<a href="#3">Compiling</a></h4><div class="indent">3.1 -
|
||||||
|
<a href="#3.1">Why won't FlightGear compile?</a></div><div class="indent">3.2 -
|
||||||
|
<a href="#3.2">I'm using RedHat 7, and ...?</a></div><br><h4>4 -
|
||||||
|
<a href="#4">Configuring</a></h4><div class="indent">4.1 -
|
||||||
|
<a href="#4.1">How do I install new scenery?</a></div><div class="indent">4.2 -
|
||||||
|
<a href="#4.2">How do I setup my joystick(s)?</a></div><br><h4>5 -
|
||||||
|
<a href="#5">Running</a></h4><div class="indent">5.1 -
|
||||||
|
<a href="#5.1">Why is FlightGear so slow?</a></div><div class="indent">5.2 -
|
||||||
|
<a href="#5.2">Why is my SGI machine so slow?</a></div><div class="indent">5.3 -
|
||||||
|
<a href="#5.3">Stuck upside down after "crash"?</a></div><div class="indent">5.4 -
|
||||||
|
<a href="#5.4">What happened to the panel, keyboard, etc?</a></div><div class="indent">5.5 -
|
||||||
|
<a href="#5.5">Why doesn't audio work properly under Irix?</a></div><div class="indent">5.6 -
|
||||||
|
<a href="#5.6">Why do I get an error loading libmk4.so.0?</a></div><br><h4>6 -
|
||||||
|
<a href="#6">Hacking</a></h4><div class="indent">6.1 -
|
||||||
|
<a href="#6.1">How do I design a flight dynamics model for a new plane?</a></div><div class="indent">6.2 -
|
||||||
|
<a href="#6.2">How do I import planes from Microsoft Flight Simulator?</a></div><div class="indent">6.3 -
|
||||||
|
<a href="#6.3">How do I import BGL scenery from Microsoft Flight Simulator?</a></div><div class="indent">6.4 -
|
||||||
|
<a href="#6.4">How do I design or modify a panel?</a></div><div class="indent">6.5 -
|
||||||
|
<a href="#6.5">How do I place objects, like buildings, into FlightGear?</a></div><br><h4>7 -
|
||||||
|
<a href="#7">Flying</a></h4><div class="indent">7.1 -
|
||||||
|
<a href="#7.1">Where can I learn about instrument flying and navigation?</a></div><div class="indent">7.2 -
|
||||||
|
<a href="#7.2">What is the difference between Aileron and Rudder?</a></div><br><h4>8 -
|
||||||
|
<a href="#8">FlightGear v0.7.6</a></h4><div class="indent">8.1 -
|
||||||
|
<a href="#8.1">Why do I get an error in viewer.cxx about `exit' being undeclared?</a></div><br>
|
||||||
|
|
||||||
|
|
||||||
|
<hr><h2><a name="1">1 -
|
||||||
|
The FAQ</a></h2>
|
||||||
|
<b><a name="1.1">1.1 -
|
||||||
|
<u>Where can I get the latest version of this FAQ?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>
|
||||||
|
<a href="http://flightgear.org/Docs/FlightGear-FAQ.html">http://flightgear.org/Docs/FlightGear-FAQ.html</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="1.2">1.2 -
|
||||||
|
<u>Who do I contact if I have comments about this FAQ?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>First contact the author. If you get no response, send your
|
||||||
|
comments to the flightgear-users mailing list.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="1.3">1.3 -
|
||||||
|
<u>What other important documentation should I read?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>Definitely read the <i>FlightGear Installation and Getting
|
||||||
|
Started</i> document available at
|
||||||
|
<a href="http://flightgear.org/Docs/">http://flightgear.org/Docs/</a>.</p>
|
||||||
|
<p>Also see the FlightGear/docs-mini/ directory in the source
|
||||||
|
distribution for various other helpful documents.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="1.4">1.4 -
|
||||||
|
<u>How old is this document?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>See the <i>About This Document</i> section at the end of the FAQ.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr><h2><a name="2">2 -
|
||||||
|
Distribution</a></h2>
|
||||||
|
<b><a name="2.1">2.1 -
|
||||||
|
<u>Where is the latest distribution of FlightGear?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>See
|
||||||
|
<a href="http://flightgear.org/Downloads/">http://flightgear.org/Downloads/</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="2.2">2.2 -
|
||||||
|
<u>Where can I find the newest snapshots?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>The best place to get the latest development code is from our CVS
|
||||||
|
repository. See
|
||||||
|
<a href="http://flightgear.org/cvsResources/">http://flightgear.org/cvsResources/</a> for details.
|
||||||
|
</p>
|
||||||
|
<p>Otherwise, you can get relatively up-to-date snapshots of the
|
||||||
|
development tree at
|
||||||
|
<a href="ftp://flightgear.sourceforge.net/pub/flightgear/Devel/Snapshots/">ftp://flightgear.sourceforge.net/pub/flightgear/Devel/Snapshots/</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="2.3">2.3 -
|
||||||
|
<u>Where can I fly and where do I get the scenery?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>While the base package only comes with scenery for the San Francisco
|
||||||
|
Bay area, you can currently fly just about anywhere in the world.
|
||||||
|
See the <i>"Additional Scenery"</i> section of
|
||||||
|
<a href="http://flightgear.org/Downloads/">http://flightgear.org/Downloads/</a>
|
||||||
|
for more information or go directly to our graphical downloader at
|
||||||
|
<a href="http://flightgear.org/Downloads/world-scenery.html">http://flightgear.org/Downloads/world-scenery.html</a>.
|
||||||
|
</p>
|
||||||
|
<p>Also visit our <i>"Places to Fly"</i> section of the website
|
||||||
|
(<a href="http://flightgear.org/Places/">http://flightgear.org/Places/</a>)
|
||||||
|
for some help navigating to some awesome locations.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="2.4">2.4 -
|
||||||
|
<u>Where can I get some different 3D models for my plane?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>We currently don't have any of our own models yet, but we have
|
||||||
|
been given permission by several people to convert their models (which
|
||||||
|
where originally intended for use with <i>Microsoft Flight
|
||||||
|
Simulator</i>) to use with FlightGear. See Wolfram's Hangar
|
||||||
|
(<a href="http://home.t-online.de/home/Wolfram.Kuss/">http://home.t-online.de/home/Wolfram.Kuss/</a>)
|
||||||
|
for a list of what we currently have available as well as
|
||||||
|
information on how to convert models yourself.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr><h2><a name="3">3 -
|
||||||
|
Compiling</a></h2>
|
||||||
|
<b><a name="3.1">3.1 -
|
||||||
|
<u>Why won't FlightGear compile?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>Well, that depends. First make sure you are using the appropriate
|
||||||
|
versions of FlightGear, SimGear, and plib. If any of the packages are
|
||||||
|
out of sync with the others, compilation may fail.</p>
|
||||||
|
<p>The FlightGear <i>Downloads</i> page
|
||||||
|
(<a href="http://flightgear.org/Downloads/">http://flightgear.org/Downloads/</a>)
|
||||||
|
should tell you what versions you need if you are trying to compile
|
||||||
|
the latest stable release. If you are using a development snapshot,
|
||||||
|
make sure all three packages are up-to-date.</p>
|
||||||
|
<p>Also ensure that you have some implementation of OpenGL with glut
|
||||||
|
support with the appropriate header files. Linux users with nVidia
|
||||||
|
cards should make sure you have the latest drivers from nVidia. Other
|
||||||
|
Linux users make sure you have Mesa3D
|
||||||
|
(<a href="http://mesa3d.org">http://mesa3d.org</a>)
|
||||||
|
and your X server installed correctly. Windows users see
|
||||||
|
<a href="http://www.x-plane.com/SYSREQ/v5ibm.htm">http://www.x-plane.com/SYSREQ/v5ibm.html</a>,
|
||||||
|
and Mac users see
|
||||||
|
<a href="http://www.x-plane.com/SYSREQ/v5mac.html">http://www.x-plane.com/SYSREQ/v5mac.html</a>.
|
||||||
|
</p>
|
||||||
|
<p>If your problems persist, subscribe to our FlightGear-Users mailing
|
||||||
|
list and let us know what problem you're having. See
|
||||||
|
<a href="http://flightgear.org/mail.html">http://flightgear.org/mail.html</a> for help with this.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="3.2">3.2 -
|
||||||
|
<u>I'm using RedHat 7, and ...?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>Update your gcc packages. See
|
||||||
|
<a href="http://redhat.com/errata/">http://redhat.com/errata/</a>
|
||||||
|
to fix it and
|
||||||
|
<a href="http://www.gnu.org/software/gcc/gcc-2.96.html">http://www.gnu.org/software/gcc/gcc-2.96.html</a>
|
||||||
|
for an explanation why.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr><h2><a name="4">4 -
|
||||||
|
Configuring</a></h2>
|
||||||
|
<b><a name="4.1">4.1 -
|
||||||
|
<u>How do I install new scenery?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>The scenery archive files (ie. w100n30.tar.gz) should be untarred
|
||||||
|
into the <code>Scenery/</code> directory in your
|
||||||
|
<code>$FG_ROOT</code>.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="4.2">4.2 -
|
||||||
|
<u>How do I setup my joystick(s)?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<!--
|
||||||
|
<p>FlightGear should come with a helpful program called <i>`fgjs`</i>
|
||||||
|
that can help configure your joystick.</p>
|
||||||
|
-->
|
||||||
|
<p>See the README.Joystick file located in the
|
||||||
|
<code>FlightGear/docs-mini/</code> directory of the source
|
||||||
|
distribution. This document is mirrored at
|
||||||
|
<a href="http://rockfish.net/shell/aboutjoy.txt">http://rockfish.net/shell/aboutjoy.txt</a>.
|
||||||
|
</p>
|
||||||
|
<p>If you have a joystick with digital axes, see
|
||||||
|
<a href="http://www.unet.univie.ac.at/~a8603365/flightgear.html">http://www.unet.univie.ac.at/~a8603365/flightgear.html</a>
|
||||||
|
for a patch to the development version of FlightGear.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr><h2><a name="5">5 -
|
||||||
|
Running</a></h2>
|
||||||
|
<b><a name="5.1">5.1 -
|
||||||
|
<u>Why is FlightGear so slow?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>FlightGear supports hardware acceleration, but it seems not to be
|
||||||
|
activated. Make sure you have OpenGL libraries installed and
|
||||||
|
configured properly and make sure you have the latest drivers for your
|
||||||
|
video card.</p>
|
||||||
|
<p><b>Linux users</b>: If you are an nVidia user, follow their
|
||||||
|
directions on getting your card working. For most other users, make
|
||||||
|
sure Mesa is installed property and ensure that you have the
|
||||||
|
appropriate kernel device drivers for your card. Most people (and
|
||||||
|
distributions) use modules for their video card device drivers; run
|
||||||
|
<i>`lsmod`</i> as root to see what modules are loaded. You should also
|
||||||
|
make sure that you are loading the appropriate modules in your
|
||||||
|
XF86Config and that your video device section is correct. Now try
|
||||||
|
running an OpenGL application (other than FlightGear) to see how it
|
||||||
|
performs. You can try the <i>gears</i> demo from Mesa or something
|
||||||
|
like <i>Quake3</i>.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="5.2">5.2 -
|
||||||
|
<u>Why is my SGI machine so slow?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>First of all, one of the most common mistakes on SGI hardware is to
|
||||||
|
forget to specify --fog-fastest. On most SGI machines the EXP2 shading
|
||||||
|
model isn't hardware supported resulting in frame rates below 1 frame
|
||||||
|
per second (fps).</p>
|
||||||
|
<p>FlightGear makes extensive use of the OpenGL z-buffer feature,which
|
||||||
|
on most older SGI hardware is only supported in software. This means
|
||||||
|
that the CPU has to do all the z-buffer calculations in addition to the
|
||||||
|
other tasks FlightGear involves (flight dynamics, scenery tracking,
|
||||||
|
pushing commands into the graphics queue, etc). The following features
|
||||||
|
are software rendered on low-end SGI machines (like Indy and
|
||||||
|
Indigo):</p>
|
||||||
|
<ul>
|
||||||
|
<li>stencil and accumulation buffer</li>
|
||||||
|
<li>depth queuing and depth buffering</li>
|
||||||
|
<li>fogging, lighting, clipping and transforms</li>
|
||||||
|
<li>texturing</li>
|
||||||
|
</ul>
|
||||||
|
<p>This means that running FlightGear with the following options may not
|
||||||
|
even get the desired result:</p>
|
||||||
|
<p><code>./runfgfs --fog-disable --shading-flat --disable-skyblend \</code><br>
|
||||||
|
<code>--disable-textures --disable-clouds --disable-sound \</code><br>
|
||||||
|
<code>--disable-panel --enable-hud --disable-anti-alias-hud</code></p>
|
||||||
|
<p>I could even imagine that adding --enable-wireframe doesn't work on
|
||||||
|
these machines (I would be happy to be proven wrong though).</p>
|
||||||
|
<p>On a machine like O2 the following options give an acceptable
|
||||||
|
result:</p>
|
||||||
|
<code>./runfgfs --fog-fastest --disable-sound</code>
|
||||||
|
<p>Since I don't have access to other SGI hardware I can't tell which
|
||||||
|
options would be appropriate for your situation.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="5.3">5.3 -
|
||||||
|
<u>Stuck upside down after "crash"?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>In his infinite wisdom the FlightGear Grand Master decided that
|
||||||
|
planes were to valuable to allow them to be destroyed by novice pilots
|
||||||
|
who seemed to crash a lot. The fact that nobody has bothered to model
|
||||||
|
crashes may have something to do with it too. :-)</p>
|
||||||
|
<p>The result of this as you have noticed is that with a little
|
||||||
|
practice an ingenuity you can trim the ship to fly inverted along the
|
||||||
|
ground.</p>
|
||||||
|
<p>The quick answer is to hit Ctrl+U (with the default key bindings)
|
||||||
|
to warp the plane up 1000ft.</p>
|
||||||
|
<p>For the stubborn people out there: The trick to learn is to roll
|
||||||
|
back to normal (non inverted) do this by nursing the elevator to get
|
||||||
|
to about 500 feet or so and use the ailerons to snap roll 180*.
|
||||||
|
This is all good avionics except for the plane not destroying
|
||||||
|
itself. Remember the controls work in reverse when you are inverted
|
||||||
|
and keep that airspeed up!!!</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="5.4">5.4 -
|
||||||
|
<u>What happened to the panel, keyboard, etc?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>If you are using a development version of FlightGear, make
|
||||||
|
sure you also have the latest base package. See
|
||||||
|
<a href="http://rockfish.net/fg/">http://rockfish.net/fg/</a>
|
||||||
|
for details on getting the latest CVS version.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="5.5">5.5 -
|
||||||
|
<u>Why doesn't audio work properly under Irix?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>FlightGear (as of June 2001) uses the Portable Libraries (PLIB)
|
||||||
|
for playing audio. The audio queue implementation of PLIB is far from
|
||||||
|
optimal (in fact it's just wrong). This seems to work on other
|
||||||
|
platforms quite well, but Irix expects things to be programmed
|
||||||
|
properly.</p>
|
||||||
|
<p>There has been discussion about using OpenAL
|
||||||
|
(<a href="http://www.openal.org">http://www.openal.org</a>)
|
||||||
|
for the next release of both PLIB and FlightGear. Tests show that
|
||||||
|
the OpenAL audio implementation does the job right, meaning that
|
||||||
|
these audio problems should be gone by then. In the mean time it is
|
||||||
|
best to disable audio on Irix completely (by adding --disable-sound
|
||||||
|
either on the command line or to your <code>$HOME/.fgfsrc</code>
|
||||||
|
file).</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="5.6">5.6 -
|
||||||
|
<u>Why do I get an error loading libmk4.so.0?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>With the default installation, libmk4.so.0 is installed into
|
||||||
|
<code>/usr/local/lib</code>. You need to ensure that that path is
|
||||||
|
listed in <code>/etc/ld.so.conf</code>, then run <i>`ldconfig`</i>as
|
||||||
|
root.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr><h2><a name="6">6 -
|
||||||
|
Hacking</a></h2>
|
||||||
|
<b><a name="6.1">6.1 -
|
||||||
|
<u>How do I design a flight dynamics model for a new plane?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>See
|
||||||
|
<a href="http://jsbsim.sf.net">http://jsbsim.sf.net</a>.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="6.2">6.2 -
|
||||||
|
<u>How do I import planes from Microsoft Flight Simulator?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>See
|
||||||
|
<a href="http://home.t-online.de/home/Wolfram.Kuss/">http://home.t-online.de/home/Wolfram.Kuss/</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="6.3">6.3 -
|
||||||
|
<u>How do I import BGL scenery from Microsoft Flight Simulator?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>See
|
||||||
|
<a href="http://matrixsoft.50megs.com/BGL/">http://matrixsoft.50megs.com/BGL/</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="6.4">6.4 -
|
||||||
|
<u>How do I design or modify a panel?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>See the README.xmlpanel file located in the
|
||||||
|
<code>FlightGear/docs-mini/</code> directory of the source
|
||||||
|
distribution. This document is mirrored at
|
||||||
|
<a href="http://rockfish.net/fg/README.xmlpanel">http://rockfish.net/fg/README.xmlpanel</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="6.5">6.5 -
|
||||||
|
<u>How do I place objects, like buildings, into FlightGear?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>First, ensure that you have v0.7.7 or later, the scenery files
|
||||||
|
where you plan to place the object, the actual model, and the
|
||||||
|
longitude and latitude where you plan to place the object.</p>
|
||||||
|
<p>Now get the altitude for your point. If you don't want to
|
||||||
|
calculate this yourself, start FlightGear at your location and take
|
||||||
|
note of the altitude. Here's an example command:</p>
|
||||||
|
<p><code>fgfs --lat=45.50 --lon=-75.73 2>&1 | tee fgfs.log</code></p>
|
||||||
|
<p>The altitude is probably in feet, so divide the starting altitude
|
||||||
|
by 3.28.</p>
|
||||||
|
<p>Search the output log file for the first occurrence of the string
|
||||||
|
"Loading tile" and take note of the filename. In the above example,
|
||||||
|
the output line looks like:</p>
|
||||||
|
<p><code>Loading tile /usr/local/Scenery/w080n40/w076n45/1712601</code></p>
|
||||||
|
<p>Copy a 3D model in a format that Plib understands to the same
|
||||||
|
directory as the tile file. Edit the text file in that directory
|
||||||
|
consisting of the tile name with the extension ".ind". The file will
|
||||||
|
already exist if there is an airport on the tile; otherwise, you can
|
||||||
|
create it from scratch. In our example, the filename is:</p>
|
||||||
|
<p><code>/usr/local/Scenery/w080n40/w076n45/1712601.ind</code></p>
|
||||||
|
<p>At the end of the file, add a new entry for your object,
|
||||||
|
consisting of the word "OBJECT_STATIC" followed by the model name,
|
||||||
|
the longitude in degrees, the latitude in degrees, the altitude in
|
||||||
|
meters, and the heading in degrees. In our example the line looks
|
||||||
|
like:</p>
|
||||||
|
<p><code>OBJECT_STATIC Towerax.ac -75.73 45.40 60 0</code></p>
|
||||||
|
<p>Save the changes to the .ind file, restart FlightGear, and
|
||||||
|
enjoy.</p>
|
||||||
|
<p>NOTE: The above information was taken from the following mailing
|
||||||
|
list post:
|
||||||
|
<a href="http://www.geocrawler.com/archives/3/11854/2001/6/0/5991409/">http://www.geocrawler.com/archives/3/11854/2001/6/0/5991409/</a>.
|
||||||
|
See that page if this one doesn't make sense.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr><h2><a name="7">7 -
|
||||||
|
Flying</a></h2>
|
||||||
|
<b><a name="7.1">7.1 -
|
||||||
|
<u>Where can I learn about instrument flying and navigation?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>
|
||||||
|
<a href="http://www.navfltsm.addr.com/">http://www.navfltsm.addr.com/</a>
|
||||||
|
is a very good site for learning techniques for navigation. Check
|
||||||
|
it out!</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<b><a name="7.2">7.2 -
|
||||||
|
<u>What is the difference between Aileron and Rudder?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>There is a bit of info on aileron vs. rudder here:
|
||||||
|
<a href="http://www.arundel.net/xplane/html/crosswind.html">http://www.arundel.net/xplane/html/crosswind.html</a>
|
||||||
|
and
|
||||||
|
<a href="http://www.monmouth.com/~jsd/how/">http://www.monmouth.com/~jsd/how/</a>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr><h2><a name="8">8 -
|
||||||
|
FlightGear v0.7.6</a></h2>
|
||||||
|
<b><a name="8.1">8.1 -
|
||||||
|
<u>Why do I get an error in viewer.cxx about `exit' being undeclared?</u></a></b>
|
||||||
|
<div class="indent">
|
||||||
|
<p>This error cropped up after the release of v0.7.6. To fix the
|
||||||
|
problem, add "<code>#include <stdlib.h></code>" to the top of viewer.cxx.</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<hr noshade="yes"><a name="about"><h2>About This Document</h2></a><b>FlightGear FAQ</b><br>$Revision$<br>$Date$<br><p><small>
|
||||||
|
This document generated from XML using
|
||||||
|
<a href="http://www.gingerall.com/charlie-bin/get/webGA/act/sablotron.act">Sablotron</a>.
|
||||||
|
</small></p><address>Cameron Moore<br>cameron@unbeatenpath.net<br></address></body></html>
|
11
Docs/README
Normal file
11
Docs/README
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
FGShortRef.pdf describes the key bindings and has a
|
||||||
|
nice short description of controls for FGFS.
|
||||||
|
|
||||||
|
The HTML documentation is a copy of the official
|
||||||
|
manual. If you would like a nicely printed copy
|
||||||
|
it is available in PDF form at the the FGFS website
|
||||||
|
|
||||||
|
http://flightgear.org/Docs/InstallGuide/getstart.pdf
|
||||||
|
|
||||||
|
|
||||||
|
|
90
Docs/README.IO
Normal file
90
Docs/README.IO
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
This document describes how to invoke FlightGear's generic IO subsystem.
|
||||||
|
|
||||||
|
FlightGear has a fairly flexible generic IO subsystem that allows you
|
||||||
|
to "speak" any supported protocol over any supported medium. The IO
|
||||||
|
options are configured at runtime via command line options. You can
|
||||||
|
specify multiple entries if you like, one per command line option.
|
||||||
|
|
||||||
|
The general form of the command line option is as follows:
|
||||||
|
|
||||||
|
--protocol=medium,direction,hz,medium_options,...
|
||||||
|
|
||||||
|
protocol = { native, nmea, garmin, fgfs, rul, pve, ray, etc. }
|
||||||
|
medium = { serial, socket, file, etc. }
|
||||||
|
direction = { in, out, bi }
|
||||||
|
hz = number of times to process channel per second (floating
|
||||||
|
point values are ok.
|
||||||
|
|
||||||
|
Serial Port Communication:
|
||||||
|
|
||||||
|
--nmea=serial,dir,hz,device,baud
|
||||||
|
|
||||||
|
device = OS device name of serial line to be open()'ed
|
||||||
|
baud = {300, 1200, 2400, ..., 230400}
|
||||||
|
|
||||||
|
example to pretend we are a real gps and output to a moving map application:
|
||||||
|
|
||||||
|
--nmea=serial,out,0.5,COM1,4800
|
||||||
|
|
||||||
|
Note that for unix varients you might use a device name like "/dev/ttyS0"
|
||||||
|
|
||||||
|
Socket Communication:
|
||||||
|
|
||||||
|
--native=socket,dir,hz,machine,port,style
|
||||||
|
|
||||||
|
machine = machine name or ip address if client (leave empty if server)
|
||||||
|
port = port, leave empty to let system choose
|
||||||
|
style = tcp or udp
|
||||||
|
|
||||||
|
example to slave one copy of fgfs to another
|
||||||
|
|
||||||
|
fgfs1: --native=socket,out,30,fgfs2,5500,udp
|
||||||
|
fgfs2: --native=socket,in,30,,5500,udp --fdm=external
|
||||||
|
|
||||||
|
This instructs the first copy of fgfs to send UDP packets in the
|
||||||
|
native format to a machine called fgfs2 on port 5500.
|
||||||
|
|
||||||
|
The second copy of fgfs will accept UDP packets (from anywhere) on
|
||||||
|
port 5500. Note the additional --fdm=external option. This tells
|
||||||
|
the second copy of fgfs to not run the normal flight model, but
|
||||||
|
instead set the FDM values based on an external source (the
|
||||||
|
network in this case.)
|
||||||
|
|
||||||
|
|
||||||
|
File I/O:
|
||||||
|
|
||||||
|
--garmin=file,dir,hz,filename
|
||||||
|
|
||||||
|
filename = file system file name
|
||||||
|
|
||||||
|
example to record a flight path at 10 hz:
|
||||||
|
|
||||||
|
--native=file,out,10,flight1.fgfs
|
||||||
|
|
||||||
|
example to replay your flight
|
||||||
|
|
||||||
|
--native=file,in,10,flight1.fgfs --fdm=external
|
||||||
|
|
||||||
|
|
||||||
|
Moving Map Example:
|
||||||
|
|
||||||
|
Per Liedman has developed a moving map program called Atlas
|
||||||
|
(atlas.sourceforge.net) The initial inspiration and much code came
|
||||||
|
from Alexei Novikov.
|
||||||
|
|
||||||
|
The moving map supports NMEA format input either via network or
|
||||||
|
via serial port. Either way will work, but this example
|
||||||
|
demonstrates the use of a socket connection.
|
||||||
|
|
||||||
|
Start up fgfs with:
|
||||||
|
|
||||||
|
fgfs --nmea=socket,out,0.5,atas-host-name,5500,udp
|
||||||
|
|
||||||
|
Start up the Atlas program with:
|
||||||
|
|
||||||
|
Atlas --udp=5500 --fgroot=path-to-fg-root --glutfonts
|
||||||
|
|
||||||
|
Once both programs are running, the Atlas program should display
|
||||||
|
your current location. Atlas is a really nifty program with many
|
||||||
|
neat options such as the ability to generate and use background
|
||||||
|
bitmaps that show the terrain, cities, lakes, oceans, rivers, etc.
|
42
Docs/README.JSBsim
Normal file
42
Docs/README.JSBsim
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
JSBSim
|
||||||
|
|
||||||
|
JSBSim is an ongoing attempt at producing an OO Flight Dynamics Model (FDM)
|
||||||
|
to replace LaRCsim as the default FDM for FlightGear. It can also be used
|
||||||
|
standalone.
|
||||||
|
|
||||||
|
JSBSim uses config files to represent aircraft and engines. Also, the flight
|
||||||
|
control system is described in the config file. Normally, for use with
|
||||||
|
FlightGear, the config files are named this way:
|
||||||
|
<FG_ROOT>/Aircraft/<aircraft name>/<aircraft name>.cfg . Engines are named
|
||||||
|
like this: <FG_ROOT>/Engines/<engine name>.dat .
|
||||||
|
|
||||||
|
Aircraft and engine config files are present in the FGFS-Base package which
|
||||||
|
must be downloaded from the FlightGear web site at www.flightgear.org or one
|
||||||
|
of the mirror sites listed there.
|
||||||
|
|
||||||
|
How to run FGFS using JSBSim
|
||||||
|
|
||||||
|
All the various FDMs are currently compiled into FGFS. You can specify which
|
||||||
|
FDM you want at run time. You can also specify which aircraft you want.
|
||||||
|
Currently, for JSBSim only the X-15 is available, and possibly the C-172.
|
||||||
|
Here is an example command line used to start up FlightGear using JSBSim as
|
||||||
|
the FDM:
|
||||||
|
|
||||||
|
fgfs --fdm=jsb --aircraft=X15 --units-feet --altitude=60000 --uBody=2000 --wBody=120
|
||||||
|
|
||||||
|
[Note: uBody is the forward velocity of the aircraft, wBody is the downward
|
||||||
|
velocity - from the aircraft point of view. This essentially means that the
|
||||||
|
aircraft is going forward fast and has an angle of attack of about 4 degrees
|
||||||
|
or so]
|
||||||
|
|
||||||
|
The above command line sets up the initial velocity and altitude to allow
|
||||||
|
the X15 to glide down. Note that if you fire up the engine, it will burn for
|
||||||
|
only about two minutes and then run out of fuel - but you will go very, very
|
||||||
|
fast!
|
||||||
|
|
||||||
|
Check out the JSBSim home page at www.hal-pc.org/~jsb/flightsim.html. Please
|
||||||
|
report any bugs to jsb@hal-pc.org, or apeden@earthlink.net, or post them to
|
||||||
|
the fgfs-devel mailing list.
|
||||||
|
|
||||||
|
JSBSim is written by Jon S. Berndt and Tony Peden with contributions by
|
||||||
|
other FlightGear programmers, as well.
|
409
Docs/README.xmlhud
Normal file
409
Docs/README.xmlhud
Normal file
|
@ -0,0 +1,409 @@
|
||||||
|
Users' Guide to FlightGear Hud configuration
|
||||||
|
December 22 2000
|
||||||
|
Neetha Girish <neetha@ada.ernet.in>
|
||||||
|
|
||||||
|
This document describes the reconfigurable HUD of
|
||||||
|
FlightGear implemented through XML config files.
|
||||||
|
The present reconfigurable HUD code uses most of the code
|
||||||
|
of version 0.6.1 vintage and I have adapted the same to provide
|
||||||
|
a reconfigurable HUD for fgfs.
|
||||||
|
Corrections and additions are welcome.
|
||||||
|
|
||||||
|
Some History:
|
||||||
|
|
||||||
|
Older versions of FGFS had a hard coded display of HUD.
|
||||||
|
This was a less than ideal state of affairs when it came to
|
||||||
|
using different aircraft Huds. I remember, somewhere in the 0.6.1 HUD code
|
||||||
|
it was written that the HUD code is 'presently' hard coded but ideally should
|
||||||
|
be moved into the aircraft configuration dataset, so that when you choose
|
||||||
|
an aircraft, its HUD loads.
|
||||||
|
This implementation make that possible, all you have to do is to
|
||||||
|
create appropriate 'my_aircraft.xml' files in the HUD directory and
|
||||||
|
without re-compiling the code you could have 'your_aircraft' HUD, by choosing that
|
||||||
|
in the .fgfsrc file or as a command line option as described later. Of course,
|
||||||
|
as of now, I have only implemented those HUD instruments in .xml readable form
|
||||||
|
as was available in version 0.7.6 + few more used by ADA, Bangalore for our
|
||||||
|
aircraft carrier take-off/landing simulation studies <www.flightgear.org/projects/ADA>.
|
||||||
|
To use the ADA specific reticles/HUD objects, please contact me/ you can figure it out
|
||||||
|
yourself by studying the code. All of them are relevant 'only' if you use the conformal
|
||||||
|
climb/dive ladder, since they are all referenced to it.
|
||||||
|
The rewrite of Hud display code was done using pre and post release v0.7.6 code
|
||||||
|
allowing for configuration of the hud via XML.
|
||||||
|
|
||||||
|
The present Configurable Hud implements the entire functionality of
|
||||||
|
fgfs HUD (called default HUD) till this date.
|
||||||
|
|
||||||
|
Using Default/Custom Hud:
|
||||||
|
|
||||||
|
The default HUD location is $FG_ROOT/Huds/Default.
|
||||||
|
$FG_ROOT is the place on your filesystem where you installed FG
|
||||||
|
data files. Alternate huds can be specified on the command line
|
||||||
|
or set as the default in the $HOME/.fgfsrc or $FG_ROOT/preferences.xml
|
||||||
|
using a property specification. The command line format is as follows:
|
||||||
|
|
||||||
|
--prop:/sim/hud/path=Huds/Default/default.xml
|
||||||
|
|
||||||
|
The path description shown is relative to $FG_ROOT. An absolute
|
||||||
|
path may also be used for locations outside $FG_ROOT.
|
||||||
|
For the custom Hud the path will be Huds/Custom/default.xml
|
||||||
|
|
||||||
|
|
||||||
|
Hud - Implementation:
|
||||||
|
|
||||||
|
All of the hud configuration files are XML-encoded property lists.
|
||||||
|
The root element of each file is always named <PropertyList>. Tags are
|
||||||
|
always found in pairs, with the closing tag having a slash prefixing
|
||||||
|
the tag name, i.e </PropertyList>. The top level panel configuration
|
||||||
|
file is composed of a <name> and zero or more <instruments>.
|
||||||
|
Instruments are used by including a <"unique_name"> and a <path> to the
|
||||||
|
instruments configuration file.
|
||||||
|
Comments are bracketed with <!-- -->.
|
||||||
|
|
||||||
|
Example Top Level Hud Config
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
<name>Default Aircraft Hud</name>
|
||||||
|
<instruments>
|
||||||
|
|
||||||
|
<hudladder> <!--unique name -->
|
||||||
|
<path>Huds/Instruments/Default/hudladder.xml</path>
|
||||||
|
</hudladder>
|
||||||
|
|
||||||
|
<hudcard>
|
||||||
|
<path>Huds/Instruments/Default/hudcard.xml</path>
|
||||||
|
</hudcard>
|
||||||
|
|
||||||
|
<instrlabel>
|
||||||
|
<path>Huds/Instruments/Default/instrlabel.xml</path>
|
||||||
|
</instrlabel>
|
||||||
|
|
||||||
|
<fgTBI>
|
||||||
|
<path>Huds/Instruments/Default/fgtbi.xml</path>
|
||||||
|
</fgTBI>
|
||||||
|
|
||||||
|
</instruments>
|
||||||
|
</PropertyList>
|
||||||
|
|
||||||
|
|
||||||
|
The default location for instrument files is $FG_ROOT/Huds/Instruments/Default.
|
||||||
|
The location for custom instrument files is $FG_ROOT/Huds/Instruments/Custom.
|
||||||
|
The location for minimal instrument files is $FG_ROOT/Huds/Instruments/Minimal.
|
||||||
|
Alternate locations may be specified in the hud configuration, paths
|
||||||
|
must be absolute to use files outside $FG_ROOT.
|
||||||
|
|
||||||
|
About Instrument Placement:
|
||||||
|
|
||||||
|
For the sake of simplicity the FGFS HUD overlay is always 640 x 480 res.
|
||||||
|
so all x/y values for instrument placement should fall within these bounds.
|
||||||
|
Being an OpenGL program, 0,0 represents the lower left hand corner of the
|
||||||
|
screen.
|
||||||
|
|
||||||
|
Instrument Implementation:
|
||||||
|
|
||||||
|
Instruments are defined in separate configuration files.
|
||||||
|
The Instruments are basically classified into 4 types( Each of them an xml file) :
|
||||||
|
The Hud Ladder,
|
||||||
|
The Hud Card,
|
||||||
|
The Hud Label and
|
||||||
|
The Turn Bank Indicator
|
||||||
|
.... (Note that that the earlier HUD classes/objects have been retained)
|
||||||
|
Newer objects may be instantiated using the above classes, Unless a totally
|
||||||
|
new object is required).
|
||||||
|
|
||||||
|
The Default as well as the Custom directory have the same (in terms of properties)
|
||||||
|
set of configuration files (but with different values to suit the aircraft).
|
||||||
|
|
||||||
|
We have a Base class - Hud Instrument Item.
|
||||||
|
We derive two more base classes - Instrument Scale and Dual Instrument Item from this.
|
||||||
|
(This implementation owes its existence to all those who wrote the HUD code for 0.6.1)
|
||||||
|
|
||||||
|
The Hud Instrument Label is an instantiable class derived from Hud Instrument Item - for
|
||||||
|
displaying alphanumeric labels (altitude, velocity, Mach no and/or anything else as long you
|
||||||
|
have a call back function to pass the value using the property 'data_source').
|
||||||
|
|
||||||
|
The Hud Card is an instantiable class derived from Instrument scale - for displaying
|
||||||
|
tapes and guages (single variable display, for displaying aoa, g's, vsi, elevator_posn, etc.).
|
||||||
|
|
||||||
|
The Hud Ladder is an instantiable class derived from Dual Instrument Item - for displaying
|
||||||
|
pitch reference ladder or climb/dive ladder (two variable display, for dislaying two types of
|
||||||
|
ladders, the pitch reference ladder or the climb/dive ladder as defined by MIL-1787b).
|
||||||
|
|
||||||
|
The fgTBI Instrument is an instantiable class derived from Dual Instrument scale again
|
||||||
|
- for display of Bank angle and Sideslip (two variable display, for display of TSI info, kept
|
||||||
|
different from the two variable ladder object basically because of its totally different
|
||||||
|
draw member function).
|
||||||
|
|
||||||
|
Most Hud instruments may be instantiated using above. It is proposed to provide all
|
||||||
|
Hud objects as defined in MIL-STD-1797A, soon.
|
||||||
|
|
||||||
|
Here is how you position 'any' object:
|
||||||
|
|
||||||
|
x ____________ x+width
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
y ------------ y+height
|
||||||
|
|
||||||
|
this defines the objects position centered about the centroid of above rectangle
|
||||||
|
in HUD overlay plane (640x480) coordinates with 0,0 at bottom-left corner.
|
||||||
|
|
||||||
|
One more, pixels per degree in the ladder class represents the compression factor of the
|
||||||
|
pitch ladder. In case of conformal HUD (climd/dive ladder) it is <640/horizontal_fov>
|
||||||
|
or <480/vertical_fov>. In case of pitch reference ladder it is
|
||||||
|
<your_no_of vertical_pixels/your_no_of_ladder_degrees>.
|
||||||
|
|
||||||
|
Example of Hud Ladder xml file.
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<ladders>
|
||||||
|
|
||||||
|
<l1>
|
||||||
|
<name>Pitch Ladder</name> <!-- Name can be Pitch Ladder or Climb/Dive Ladder -->
|
||||||
|
<x>260</x> <!-- x start -->
|
||||||
|
<y>150</y> <!-- y start -->
|
||||||
|
<width>120</width> <!-- x start + width = x end -->
|
||||||
|
<height>180</height> <!-- y start + height = y end -->
|
||||||
|
<compression_factor>2.68</compression_factor> <!-- Pixels per degree -->
|
||||||
|
<loadfn>roll</loadfn> <!-- Name of the function to be called, here get_roll() is called provision made in Hud.cxx -->
|
||||||
|
<loadfn1>pitch</loadfn1> <!-- Name of the function to be called, here get_pitch() is called -->
|
||||||
|
<span_units>45.0</span_units> <!-- Range of the Ladder seen at any instant -->
|
||||||
|
<division_units>10.0</division_units> <!-- Divisions -->
|
||||||
|
<screen_hole>70</screen_hole> <!-- Hole b/w the Ladder Bars-->
|
||||||
|
<lbl_pos>0</lbl_pos> <!-- Label Position to indicate pitch angle on bar -->
|
||||||
|
<enable_frl>false</enable_frl> <!-- To Enable Pitch Reference Symbol (used by us) -->
|
||||||
|
<enable_target_spot>true</enable_target_spot> <!-- To Enable Target Spot Symbol (fgfs uses this)-->
|
||||||
|
<enable_velocity_vector>false</enable_velocity_vector> <!-- To Enable Velocity Vector Symbol (use only with climb/dive ladder)-->
|
||||||
|
<enable_drift_marker>false</enable_drift_marker> <!-- To Enable Drift Marker Symbol (used by us)-->
|
||||||
|
<enable_alpha_bracket>false</enable_alpha_bracket> <!-- To Enable Alpha Bracket Symbol (used by us, presently hard coded bracket values, alpha values will be moved to xml file)-->
|
||||||
|
<enable_energy_marker>false</enable_energy_marker> <!-- To Enable Energy Marker Symbol (used by us)-->
|
||||||
|
<enable_climb_dive_marker>false</enable_climb_dive_marker> <!-- To Enable Climb/Dive Marker (used by us)-->
|
||||||
|
<enable_glide_slope_marker>false</enable_glide_slope_marker> <!--To Enable Glide/Slope Marker (tied to climb/dive ladder only)-->
|
||||||
|
<glide_slope>0.0</glide_slope> <!-- Glide slope angle (specify the angle for drawing the reference bar)
|
||||||
|
<enable_energy_worm>false</enable_energy_worm> <!-- To Enable Energy worm (used by us)>
|
||||||
|
<enable_waypoint_marker>false</enable_waypoint_marker> <!-- To Enable Way point Marker (bearing marker)-->
|
||||||
|
<working>true</working> <!use this to enable or disbale whole object>
|
||||||
|
</l1>
|
||||||
|
|
||||||
|
</ladders>
|
||||||
|
|
||||||
|
</PropertyList>
|
||||||
|
|
||||||
|
Before you read this, _____ this is tick_top | |
|
||||||
|
| | |
|
||||||
|
| |__________________|
|
||||||
|
| this is cap_right,tick_left cap_bottom tick_right
|
||||||
|
|
|
||||||
|
_____| this is tick_bottom
|
||||||
|
|
||||||
|
Example of Hud Card xml file.
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<cards>
|
||||||
|
|
||||||
|
<c1>
|
||||||
|
<name>Gyrocompass</name>
|
||||||
|
<x>220</x>
|
||||||
|
<y>430</y>
|
||||||
|
<width>200</width>
|
||||||
|
<height>28</height>
|
||||||
|
<loadfn>heading</loadfn> <!-- Name of the function to be called, here get_Heading() is called -->
|
||||||
|
<options>4</options> <!-- Read Tape Options Below or Hud.hxx file for details -->
|
||||||
|
<maxValue>360.0</maxValue> <!-- Maximum scale value -->
|
||||||
|
<minValue>0.0</minValue> <!-- Minimum Scale Value -->
|
||||||
|
<disp_scaling>1.0</disp_scaling> <!-- Multiply by this to get numbers shown on scale -->
|
||||||
|
<major_divs>5</major_divs> <!-- major division marker units -->
|
||||||
|
<minor_divs>1</minor_divs> <!-- minor division marker units -->
|
||||||
|
<modulator>360</modulator> <!-- Its a rose, Roll Over Point -->
|
||||||
|
<value_span>25.0</value_span> <!-- Range Shown -->
|
||||||
|
<type>tape</type> <!-- Card type can be "tape" or "guage" -->
|
||||||
|
<tick_bottom>false</tick_bottom> <!-- Read Ticks and Caps below -->
|
||||||
|
<tick_top>false</tick_top>
|
||||||
|
<tick_right>true</tick_right>
|
||||||
|
<tick_left>true</tick_left>
|
||||||
|
<cap_bottom>true</cap_bottom>
|
||||||
|
<cap_top>false</cap_top>
|
||||||
|
<cap_right>false</cap_right>
|
||||||
|
<cap_left>false</cap_left>
|
||||||
|
<marker_offset>0.0</marker_offset> <!-- Read Marker offset below -->
|
||||||
|
<enable_pointer>true</enable_pointer> <!-- To draw a pointer -->
|
||||||
|
<pointer_type>fixed</pointer_type> <!-- Type of pointer, Fixed or Moving (yet to be implemented)-->
|
||||||
|
<working>true</working>
|
||||||
|
</c1>
|
||||||
|
|
||||||
|
</cards>
|
||||||
|
|
||||||
|
</PropertyList>
|
||||||
|
|
||||||
|
Tape Options:
|
||||||
|
|
||||||
|
HUDS_AUTOTICKS = 0x0001
|
||||||
|
HUDS_VERT = 0x0002
|
||||||
|
HUDS_HORZ = 0x0000
|
||||||
|
HUDS_TOP = 0x0004
|
||||||
|
HUDS_BOTTOM = 0x0008
|
||||||
|
HUDS_LEFT = HUDS_TOP
|
||||||
|
HUDS_RIGHT = HUDS_BOTTOM
|
||||||
|
HUDS_BOTH = (HUDS_LEFT | HUDS_RIGHT)
|
||||||
|
HUDS_NOTICKS = 0x0010
|
||||||
|
HUDS_ARITHTIC = 0x0020
|
||||||
|
HUDS_DECITICS = 0x0040
|
||||||
|
HUDS_NOTEXT = 0x0080
|
||||||
|
HUDS_LEFT | HUDS_VERT = 0x0006
|
||||||
|
HUDS_RIGHT | HUDS_VERT = 0x0010
|
||||||
|
HUDS_TOP | HUDS_NOTEXT = 0x0084
|
||||||
|
HUDS_BOTTOM | HUDS_NOTEXT = 0x0088
|
||||||
|
HUDS_VERT | HUDS_LEFT | HUDS_NOTEXT = 0x0086
|
||||||
|
HUDS_RIGHT | HUDS_VERT | HUDS_NOTEXT = 0x0090
|
||||||
|
|
||||||
|
|
||||||
|
For clarity, I repeat, Ticks and Caps :
|
||||||
|
|
||||||
|
|
||||||
|
1. Left Tick ->|_____|<- Right Tick
|
||||||
|
|
|
||||||
|
v
|
||||||
|
Bottom Cap
|
||||||
|
|
||||||
|
2. Top Cap
|
||||||
|
|
|
||||||
|
v
|
||||||
|
_____
|
||||||
|
| |
|
||||||
|
|
||||||
|
|
||||||
|
3. Top Tick
|
||||||
|
|
|
||||||
|
v
|
||||||
|
---
|
||||||
|
|
|
||||||
|
|<- Right Cap
|
||||||
|
|
|
||||||
|
---
|
||||||
|
|
|
||||||
|
v
|
||||||
|
Bottom Tick
|
||||||
|
|
||||||
|
4. ---
|
||||||
|
|
|
||||||
|
Left Cap -> |
|
||||||
|
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Marker Offset :
|
||||||
|
|
||||||
|
To Draw pointer on the scale markings. In the case of a our hud with offset 10.0
|
||||||
|
The pointer is away from the scale and points at the markings.
|
||||||
|
|
||||||
|
-| -
|
||||||
|
-| -
|
||||||
|
<| -<
|
||||||
|
-| -
|
||||||
|
-| -
|
||||||
|
Marker offset = 0.0 Marker offset = 10.0
|
||||||
|
|
||||||
|
This should be useful when I implement the fixed tape/moving pointer.
|
||||||
|
|
||||||
|
|
||||||
|
Example of a Label xml file.
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<labels>
|
||||||
|
|
||||||
|
<i1>
|
||||||
|
<name>machno</name>
|
||||||
|
<x>25</x>
|
||||||
|
<y>130</y>
|
||||||
|
<width>40</width>
|
||||||
|
<height>30</height>
|
||||||
|
<data_source>mach</data_source> <!-- Name of the function to be called, here get_Heading() is called -->
|
||||||
|
<label_format>%4.2f</label_format> <!-- The Label Format -->
|
||||||
|
<pre_label_string>blank</pre_label_string> <!-- String to be written Pre Label -->
|
||||||
|
<post_label_string>NULL</post_label_string> <!-- String to be written Post Label -->
|
||||||
|
<scale_data>1.0</scale_data>
|
||||||
|
<options>4</options> <!-- Read Tape options or Hud.hxx -->
|
||||||
|
<justification>2</justification> <!-- Justify the label, 0=LEFT_JUSTIFY, 1=CENTER_JUSTIFY, 2=RIGHT_JUSTIFY -->
|
||||||
|
<blinking>0</blinking> <!-- Yet to be implemented -->
|
||||||
|
<working>true</working>
|
||||||
|
<latitude>false</latitude> <!-- True if the label is to display Lattitude (special label, displays deg.min.sec)-->
|
||||||
|
<longitude>false</longitude> <!-- True if the label is to display Longitude (special label, displays deg.min.sec)-->
|
||||||
|
</i1>
|
||||||
|
|
||||||
|
</labels>
|
||||||
|
|
||||||
|
</PropertyList>
|
||||||
|
|
||||||
|
|
||||||
|
Example of a Turn Bank Indicator xml file.
|
||||||
|
|
||||||
|
<PropertyList>
|
||||||
|
|
||||||
|
<tbis>
|
||||||
|
|
||||||
|
<f1>
|
||||||
|
<name>fgTBI_Instrument</name>
|
||||||
|
<x>290</x>
|
||||||
|
<y>45</y>
|
||||||
|
<width>60</width>
|
||||||
|
<height>10</height>
|
||||||
|
<loadfn>roll</loadfn> <!-- Name of the function to be called, get_roll() is called here. -->
|
||||||
|
<loadfn1>sideslip</loadfn1> <!-- Name of the function to be called, get_sideslip() is called here. -->
|
||||||
|
<maxBankAngle>45.0</maxBankAngle> <!-- Maximum Angle of Bank -->
|
||||||
|
<maxSlipAngle>5.0</maxSlipAngle> <!-- Maximum Angle of Slip -->
|
||||||
|
<gap_width>5</gap_width> <!-- Screen Hole -->
|
||||||
|
<working>true</working>
|
||||||
|
</f1>
|
||||||
|
|
||||||
|
</tbis>
|
||||||
|
|
||||||
|
</PropertyList>
|
||||||
|
|
||||||
|
I have still got to implement dials (as in MIL-STD-1787b).
|
||||||
|
|
||||||
|
REMEMBER IF YOU NEED TO INDICATE ANY OTHER PARAMETER ON THE HUD OTHER THAN WHAT IS PROVIDED AS
|
||||||
|
CALLBACK FUNCTIONS (PROPERTY NAMES LISTED BELOW) YOU HAVE TO FIDDLE WITH THE CODE, AS YET. LET ME
|
||||||
|
KNOW AND I SHALL INCLUDE THAT.
|
||||||
|
|
||||||
|
<loadfn>anzg</loadfn> <!-- Here get_anzg() is called -->
|
||||||
|
<loadfn>heading</loadfn> <!-- Here get_heading() is called -->
|
||||||
|
<loadfn>aoa</loadfn> <!-- Here get_aoa() is called -->
|
||||||
|
<loadfn>climb</loadfn> <!-- Here get_climb() is called -->
|
||||||
|
<loadfn>altitude</loadfn> <!-- Here get_altitude() is called -->
|
||||||
|
<loadfn>agl</loadfn> <!-- Here get_agl() is called -->
|
||||||
|
<loadfn>speed</loadfn> <!-- Here get_speed() is called -->
|
||||||
|
<loadfn>view_direction</loadfn> <!-- Here get_view_direction() is called -->
|
||||||
|
<loadfn>aileronval</loadfn> <!-- Here get_aileronval() is called -->
|
||||||
|
<loadfn>elevatorval</loadfn> <!-- Here get_elevatorval() is called -->
|
||||||
|
<loadfn>rudderval</loadfn> <!-- Here get_rudderval() is called -->
|
||||||
|
<loadfn>throttleval</loadfn> <!-- Here get_throttleval() is called -->
|
||||||
|
<loadfn>aux16</loadfn> <!-- Here get_aux16() is called -->
|
||||||
|
<loadfn>aux17</loadfn> <!-- Here get_aux17() is called -->
|
||||||
|
<loadfn>aux9</loadfn> <!-- Here get_aux9() is called -->
|
||||||
|
<loadfn>aux11</loadfn> <!-- Here get_aux11() is called -->
|
||||||
|
<loadfn>aux12</loadfn> <!-- Here get_aux12() is called -->
|
||||||
|
<loadfn>aux10</loadfn> <!-- Here get_aux10() is called -->
|
||||||
|
<loadfn>aux13</loadfn> <!-- Here get_aux13() is called -->
|
||||||
|
<loadfn>aux14</loadfn> <!-- Here get_aux14() is called -->
|
||||||
|
<loadfn>aux15</loadfn> <!-- Here get_aux15() is called -->
|
||||||
|
<loadfn>aux8</loadfn> <!-- Here get_aux8() is called -->
|
||||||
|
<loadfn>ax</loadfn> <!-- Here get_Ax() is called -->
|
||||||
|
<loadfn>mach</loadfn> <!-- Here get_mach() is called -->
|
||||||
|
<loadfn>framerate</loadfn> <!-- Here get_frame_rate() is called -->
|
||||||
|
<loadfn>fov</loadfn> <!-- Here get_fov() is called -->
|
||||||
|
<loadfn>vfc_tris_culled</loadfn> <!-- Here get_vfc_tris_culled() is called -->
|
||||||
|
<loadfn>vfc_tris_drawn</loadfn> <!-- Here get_vfc_tris_drawn() is called -->
|
||||||
|
<loadfn>latitude</loadfn> <!-- Here get_latitude() is called -->
|
||||||
|
<loadfn>longitude</loadfn> <!-- Here get_longitude() is called -->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue