diff --git a/Docs/InstallGuide/html/getstart.html b/Docs/InstallGuide/html/getstart.html index 38016ba6d..7683a15c1 100644 --- a/Docs/InstallGuide/html/getstart.html +++ b/Docs/InstallGuide/html/getstart.html @@ -6,7 +6,7 @@ - + @@ -23,45 +23,18 @@

FlightGear Flight Simulator - Installation and Getting Started

Michael Basler (pmb@epost.de) and Martin Spott (Martin.Spott@uni-duisburg.de) +class="ptmr7t---120">Michael Basler (pmb @ epost.de) and Martin Spott (Martin.Spott @ uni-duisburg.de)
-
including contributions by
Jon Berndt (jsb@hal-pc.org), Bernhard Buckel (buckel@mail.uni-wuerzburg.de), +class="ptmr7t---120">Jon Berndt (jsb @ hal-pc.org), Bernhard Buckel (buckel @ mail.uni-wuerzburg.de),

Cameron Moore (cameron@unbeatenpath.net), Curt Olson (curt@flightgear.org), +class="ptmr7t---120">Cameron Moore (cameron @ unbeatenpath.net), Curt Olson (curt @ flightgear.org),
Dave Perry (skidavem@mindspring.com), Michael Selig (m-selig@uiuc.edu), +class="ptmr7t---120">Dave Perry (skidavem @ mindspring.com), Michael Selig (m-selig @ uiuc.edu),
Darrell Walisser (walisser@mac.com), and others +class="ptmr7t---120">Darrell Walisser (walisser @ mac.com), and others
@@ -241,7 +214,7 @@ href="getstartli3.html#x15-89000C.3" name="QQ2-15-90">Index -

[

[next] diff --git a/Docs/InstallGuide/html/getstartap1.html b/Docs/InstallGuide/html/getstartap1.html index 5dae8b680..d2569ba38 100644 --- a/Docs/InstallGuide/html/getstartap1.html +++ b/Docs/InstallGuide/html/getstartap1.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartap2.html b/Docs/InstallGuide/html/getstartap2.html index 43d0b11a7..d1f3eb22e 100644 --- a/Docs/InstallGuide/html/getstartap2.html +++ b/Docs/InstallGuide/html/getstartap2.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartap3.html b/Docs/InstallGuide/html/getstartap3.html index cad3bbb39..0c813a482 100644 --- a/Docs/InstallGuide/html/getstartap3.html +++ b/Docs/InstallGuide/html/getstartap3.html @@ -6,7 +6,7 @@ - + @@ -450,8 +450,8 @@ from the file Thanks accompanying the code).

A1 Free Sounds (techie@mail.ev1.net) + name="dx14-86004"> (techie@mail.ev1.net)
Granted permission for the FlightGear project to use some of the sound effects from their site. Homepage under @@ -459,8 +459,8 @@ their site. Homepage under href="http://www.a1freesoundeffects.com/" >http://www.a1freesoundeffects.com/

Raul Alonzo (amil@las.es) + name="dx14-86005"> (amil@las.es)
Mr. Alonzo is the author of Ssystem and provided his kind permission for using the moon texture. Parts of his code were used as a template when adding the texture. Ssystem Homepage can be found at: @@ -469,21 +469,21 @@ href="http://www1.las.es/~amil/ssystem/" >http://www1.las.es/~ amil/ssystem/.

Michele America (nomimarketing@mail.telepac.pt) + name="dx14-86006"> (nomimarketing@mail.telepac.pt)
Contributed to the HUD code.

Michael Basler (pmb@epost.de) + name="dx14-86008"> (pmb@epost.de)
Author of Installation and Getting Started. Flight Simulation Page at

http://www.geocities.com/pmb.geo/flusi.htm

Jon S. Berndt (jsb@hal-pc.org) + name="dx14-86009"> (jsb@hal-pc.org)
Working on a complete C++ rewrite/reimplimentation of the core FDM. Initially he is using X15 data to test his code, but once things are all in place we should be able to @@ -497,42 +497,42 @@ href="http://jsbsim.sourceforge.net/" >http://jsbsim.sourceforge.net/ via a lot of suggestions/corrections to this Guide.

Paul Bleisch (pbleisch@acm.org) + name="dx14-86011"> (pbleisch@acm.org)
Redid the debug system so that it would be much more flexible, so it could be easily disabled for production system, and so that messages for certain subsystems could be selectively enabled. Also contributed a first stab at a config file/command line parsing system.

Jim Brennan (jjb@kingmont.com) + name="dx14-86012"> (jjb@kingmont.com)
Provided a big chunk of online space to store USA scenery for FlightGear.

Bernie Bright (bbright@bigpond.net.au) + name="dx14-86013"> (bbright@bigpond.net.au)
Many C++ style, usage, and implementation improvements, STL portability and much, much more. Added threading support and a threaded tile pager.

Bernhard H. Buckel (buckel@mail.uni-wuerzburg.de) + name="dx14-86014"> (buckel@mail.uni-wuerzburg.de)
Contributed the README.Linux. Contributed several sections to earlier versions of Installation and Getting Started.

Gene Buckle (geneb@deltasoft.com) + name="dx14-86015"> (geneb@deltasoft.com)
A lot of work getting FlightGear to compile with the MSVC++ compiler. Numerous hints on detailed improvements.

Ralph Carmichael (ralph@pdas.com) + name="dx14-86017"> (ralph@pdas.com)
Support of the project. The Public Domain Aeronautical Software web site at

http://www.pdas.com/ @@ -540,15 +540,15 @@ href="http://www.pdas.com/" >http://www.pdas.com/ engineers.

Didier Chauveau (chauveau@math.univ-mlv.fr) + name="dx14-86018"> (chauveau@math.univ-mlv.fr)
Provided some initial code to parse the 30 arcsec DEM files found at:

http://edcwww.cr.usgs.gov/landdaac/gtopo30/gtopo30.html.

John Check (j4strngs@rockfish.net) + name="dx14-86019"> (j4strngs@rockfish.net)
John maintains the base package CVS repository. He contributed cloud textures, wrote an excellent Joystick Howto as well as a panel Howto. Moreover, he contributed new instrument panel configurations. FlightGear page at href="http://www.rockfish.net/fg/" >http://www.rockfish.net/fg/.

Dave Cornish (dmc@halcyon.com) + name="dx14-86020"> (dmc@halcyon.com)
Dave created new cool runway textures plus some of our cloud textures.

Oliver Delise (delise@mail.isis.de) + name="dx14-86021">(delise@mail.isis.de)
Started a FAQ, Documentation, Public relations. Working on adding some networking/multi-user code. Founder of the FlightGear MultiPilot Project at @@ -582,35 +582,30 @@ Gems IV, Ed. Paul S. Heckbert) href="http://www.animats.com/simpleppp/ftp/public_html/topics/developers.html" >http://www.animats.com/simpleppp/ftp/public_html/topics/developers.html.

Dave Eberly (eberly@magic-software.com) + name="dx14-86024">(eberly @ magic-software.com)
Contributed some sphere interpolation code used by Christian Mayer’s weather data base system. On Dave’s web site there are tons of really useful looking code at

http://www.magic-software.com/.

Francine Evans (evans@cs.sunysb.edu) Wrote the GPL’d tri-striper we use. + name="dx14-86025"> (evans @ cs.sunysb.edu) Wrote the GPL’d tri-striper we use.

http://www.cs.sunysb.edu/~ stripe/

Oscar Everitt (bigoc@premier.net) + name="dx14-86026"> (bigoc @ premier.net)
Created single engine piston engine sounds as part of an F4U package for FS98. They are pretty cool and Oscar was happy to contribute them to our little project.

Bruce Finney (bfinney@gte.net) + name="dx14-86028"> (bfinney @ gte.net)
Contributed patches for MSVC5 compatibility.

Melchior Franz (a8603365@unet.univie.ac.at) + name="dx14-86029"> (a8603365 @ unet.univie.ac.at)
Contributed joystick hat support, a LED font, improvements of the telnet and the http interface. Notable effort in hunting memory leaks in FlightGear, JSBSim. class="ptmb7t---109">Jean-loup Gailly and Mark Adler (zlib@gzip.org) + name="dx14-86031"> (zlib @ gzip.org)
Authors of the zlib library. Used for on-the-fly compression and decompression routines, @@ -632,42 +626,35 @@ routines, href="http://www.gzip.org/zlib/" >http://www.gzip.org/zlib/.

Mohit Garg (theprotean_1@hotmail.com) + name="dx14-86033"> (theprotean 1 @ hotmail.com)
Contributed to the manual.

Thomas Gellekum (tg@ihf.rwth-aachen.de) + name="dx14-86034"> (tg @ ihf.rwth-aachen.de)
Changes and updates for compiling on FreeBSD.

Neetha Girish (neethagirish@usa.net) + name="dx14-86036"> (neethagirish @ usa.net)
Contributed the changes for the xml configurable HUD.

Jeff Goeke-Smith (jgoeke@voyager.net) + name="dx14-86037"> (jgoeke @ voyager.net)
Contributed our first autopilot (Heading Hold). Better autoconf check for external timezone/daylight variables.

Michael I. Gold (gold@puck.asd.sgi.com) + name="dx14-86039"> (gold @ puck.asd.sgi.com)
Patiently answered questions on OpenGL.

Habibe (habibie@MailandNews.com) + name="dx14-86041"> (habibie @ MailandNews.com)
Made RedHat package building changes for SimGear.

Mike Hill (mikehill@flightsim.com) + name="dx14-86042"> (mikehill @ flightsim.com)
For allowing us to concert and use his wonderful planes, available form

http://www.flightsimnetwork.com/mikehill/home.htm, @@ -675,21 +662,18 @@ href="http://www.flightsimnetwork.com/mikehill/home.htm" >http://www.flightsimne class="ptmbi7t---109">FlightGear.

Erik Hofman (erik.hofman@a1.nl) + name="dx14-86043"> (erik.hofman @ a1.nl)
Major overhaul and parameterization of the sound module to allow aircraft-specific sound configuration at runtime. Contributed SGI IRIX support and binaries.

Charlie Hotchkiss (clhotch@pacbell.net) + name="dx14-86044"> (clhotch @ pacbell.net)
Worked on improving and enhancing the HUD code. Lots of code style tips and code tweaks.

Bruce Jackson (NASA) (e.b.jackson@larc.nasa.gov) + name="dx14-86046"> (NASA) (e.b.jackson @ larc.nasa.gov)

Developed the LaRCsim code under funding by NASA which we use to provide the flight model. Bruce has patiently answered many, many questions. @@ -697,22 +681,19 @@ provide the flight model. Bruce has patiently answered many, many questions. href="http://dcb.larc.nasa.gov/www/DCBStaff/ebj/ebj.html" >http://dcb.larc.nasa.gov/www/DCBStaff/ebj/ebj.html

Ove Kaaven (ovek@arcticnet.no) + name="dx14-86048">(ovek @ arcticnet.no)
Contributed the Debian binary.

Richard Kaszeta (bofh@me.umn.edu) + name="dx14-86049">(bofh @ me.umn.edu)
Contributed screen buffer to ppm screen shot routine. Also helped in the early development of the ”altitude hold autopilot module” by teaching Curt Olson the basics of Control Theory and helping him code and debug early versions. Curt’s ”Boss” Bob -Hain (bob@me.umn.edu) also contributed to that. Further details available at: +Hain (bob @ me.umn.edu) also contributed to that. Further details available at:

http://www.menet.umn.edu/~ curt/fgfs/Docs/Autopilot/AltitudeHold/AltitudeHold.html. @@ -721,37 +702,31 @@ src="getstart17x.gif" alt="~" class="tilde" > curt/fgfs/Docs/Autopilot/Altitude href="http://www.kaszeta.org/rich/" >http://www.kaszeta.org/rich/.

Tom Knienieder (tom@knienieder.com) + name="dx14-86051"> (tom @ knienieder.com)
Ported the audio library first to OpenBSD and IRIX and after that to Win32.

Reto Koradi (kor@mol.biol.ethz.ch) + name="dx14-86053"> (kor @ mol.biol.ethz.ch)

Helped with setting up fog effects.

http://www.mol.biol.ethz.ch/wuthrich/people/kor/

Bob Kuehne (rpk@who.net) + name="dx14-86055"> (rpk @ who.net)
Redid the Makefile system so it is simpler and more robust.

Kyler B Laird (laird@ecn.purdue.edu) + name="dx14-86056"> (laird @ ecn.purdue.edu)
Contributed corrections to the manual.

David Luff (david.luff@nottingham.ac.uk) + name="dx14-86057"> (david.luff @ nottingham.ac.uk)
Contributed heavily to the IO360 piston engine model.

Christian Mayer (flightgear@christianmayer.de) + name="dx14-86058"> (flightgear @ christianmayer.de)
Working on multi-lingual conversion tools for fgfs as a demonstration of technology. Contributed code to read Microsoft Flight Simulator scenery textures. Christian is @@ -761,8 +736,7 @@ working on a completely new weather

David Megginson (david@megginson.com) + name="dx14-86062"> (david @ megginson.com)
Contributed patches to allow mouse input to control view direction yoke. Contributed financially towards hard drive space for use by the flight gear project. Updates to README.running. Working on getting fgfs and ssg to work without textures. Also @@ -775,43 +749,36 @@ manager and contributed to joystick support. Random ground cover objects

Cameron Moore (cameron@unbeatenpath.net) + name="dx14-86064"> (cameron @ unbeatenpath.net)
FAQ maintainer. Reigning list administrator. Provided man pages.

Eric Mitchell (mitchell@mars.ark.com) + name="dx14-86065"> (mitchell @ mars.ark.com)
Contributed some topnotch scenery textures being all original creations by him.

Anders Morken (amrken@online.no) + name="dx14-86067"> (amrken @ online.no)
Former maintainer of European web pages.

Alan Murta (amurta@cs.man.ac.uk) + name="dx14-86068"> (amurta @ cs.man.ac.uk)

Created the Generic Polygon Clipping library.

http://www.cs.man.ac.uk/aig/staff/alan/software/

Phil Nelson (phil@cs.wwu.edu) + name="dx14-86069"> (phil @ cs.wwu.edu)
Author of GNU dbm, a set of database routines that use extendible hashing and work similar to the standard UNIX dbm routines.

Alexei Novikov (anovikov@heron.itep.ru) + name="dx14-86070"> (anovikov @ heron.itep.ru)
Created European Scenery. Contributed a script to turn fgfs scenery into beautifully rendered 2-D maps. Wrote a first draft of a Scenery Creation Howto.

Curt Olson (curt@flightgear.org) + name="dx14-86071"> (curt @ flightgear.org)
Primary organization of the project.
First implementation and modifications based on LaRCsim. @@ -830,8 +797,7 @@ href="http://www.mesa3d.org/brianp/TR.html" >http://www.mesa3d.org/brianp/TR.htm href="http://www.mesa3d.org" >http://www.mesa3d.org

Tony Peden (apeden@earthlink.net) + name="dx14-86075"> (apeden @ earthlink.net)
Contributions on flight model development, including a LaRCsim based Cessna 172. Contributed to JSBSim the initial conditions code, a more complete standard atmosphere @@ -841,8 +807,7 @@ href="http://www.nwlink.com/~apeden" >http://www.nwlink.com/~ apeden/.

Robin Peel (robin@cpwd.com) + name="dx14-86076"> (robin @ cpwd.com)
Maintains worldwide airport and runway database for FlightGear as well as X-Plane. @@ -850,69 +815,59 @@ class="ptmbi7t---109">FlightGear as well as X-Plane.

Alex Perry (alex.perry@ieee.org) + name="dx14-86077"> (alex.perry @ ieee.org)
Contributed code to more accurately model VSI, DG, Altitude. Suggestions for improvements of the layout of the simulator on the mailing list and help on documentation.

Friedemann Reinhard (mpt218@faupt212.physik.uni-erlangen.de) + name="dx14-86078"> (mpt218 @ faupt212.physik.uni-erlangen.de)
Development of an early textured instrument panel.

Petter Reinholdtsen (pere@games.no) + name="dx14-86080"> (pere @ games.no)
Incorporated the GNU automake/autoconf system (with libtool). This should streamline and standardize the build process for all UNIX-like platforms. It should have little effect on IDE type environments since they don’t use the UNIX make system.

William Riley (riley@technologist.com) + name="dx14-86081"> (riley @ technologist.com)
Contributed code to add ”brakes”. Also wrote a patch to support a first joystick with more than 2 axis. Did the job to create scenery based on VMap0 data.

Andy Ross (andy@plausible.org) + name="dx14-86083"> (andy @ plausible.org)
Contributed a new configurable FDM called YASim (Yet Another Flight Dynamics Simulator, based on geometry information rather than aerodynamic coefficients.

Paul Schlyter (pausch@saaf.se) + name="dx14-86084"> (pausch @ saaf.se)
Provided Durk Talsma with all the information he needed to write the astro code. Mr. Schlyter is also willing to answer astro-related questions whenever one needs to.

http://www.welcome.to/pausch/

Chris Schoeneman (crs@millpond.engr.sgi.com) + name="dx14-86085"> (crs @ millpond.engr.sgi.com)
Contributed ideas on audio support.

Phil Schubert (philip@zedley.com) + name="dx14-86086"> (philip @ zedley.com)
Contributed various textures and engine modeling.

http://www.zedley.com/Philip/.

Jonathan R. Shewchuk (Jonathan_R_Shewchuk@ux4.sp.cs.cmu.edu) + name="dx14-86087"> (Jonathan_R_Shewchuk @ ux4.sp.cs.cmu.edu)
Author of the Triangle program. Triangle is used to calculate the Delauney triangulation of our irregular terrain.

Gordan Sikic (gsikic@public.srce.hr) + name="dx14-86089"> (gsikic @ public.srce.hr)
Contributed a Cherokee flight model for LaRCsim. Currently is not working and needs to @@ -925,18 +880,15 @@ cherokee instead of the Cessna

Michael Smith (msmith99@flash.net) + name="dx14-86093"> (msmith99 @ flash.net)
Contributed cockpit graphics, 3-D models, logos, and other images. Project Bonanza

Martin Spott (Martin.Spott@uni-duisburg.de) + name="dx14-86094"> (Martin.Spott @ uni-duisburg.de)
Co-Author of the ”Getting Started”.

Durk Talsma (d.talsma@chello.nl) + name="dx14-86095"> (d.talsma @ chello.nl)
Accurate Sun, Moon, and Planets. Sun changes color based on position in sky. Moon has correct phase and blends well into the sky. Planets are correctly positioned and have proper magnitude. Help with time functions, GUI, and other things. Contributed 2-D @@ -950,27 +902,20 @@ class="ptmb7t---109">UIUCContributed modifications to LaRCsim to allow loading of aircraft parameters from a file. These modifications were made as part of an icing research project.

Those did the coding and made it all work: -
Jeff Scott
jscott@students.uiuc.eduJeff Scott jscott @ students.uiuc.edu -
Bipin Sehgal bsehgal@uiuc.eduBipin Sehgal bsehgal @ uiuc.edu -
Michael Selig m-selig@uiuc.eduMichael Selig m-selig @ uiuc.edu

Moreover, those helped to support the effort: -
Jay Thomas jthomas2@uiuc.eduJay Thomas jthomas2 @ uiuc.edu -
Eunice Lee ey-lee@students.uiuc.eduEunice Lee ey-lee @ students.uiuc.edu -
Elizabeth Rendon mdfhoyos@md.impsat.net.coElizabeth Rendon mdfhoyos @ md.impsat.net.co -
Sudhi Uppuluri suppulur@students.uiuc.edu +
Sudhi Uppuluri suppulur @ students.uiuc.edu

U. S. Geological Survey @@ -979,13 +924,11 @@ class="ptmb7t---109">U. S. Geological Surveyhttp://edc.usgs.gov/geodata/

Mark Vallevand (Mark.Vallevand@UNISYS.com) + name="dx14-86105"> (Mark.Vallevand @ UNISYS.com)
Contributed some METAR parsing code and some win32 screen printing routines.

Gary R. Van Sickle (tiberius@braemarinc.com) + name="dx14-86106"> (tiberius @ braemarinc.com)
Contributed some initial GameGLUT support and other fixes. Has done preliminary work on a binary file format. Check @@ -999,8 +942,7 @@ href="http://www.woodsoup.org/projs/ORKiD/fgfs.htm" >http://www.woodsoup.org/pro href="http://www.woodsoup.org/projs/ORKiD/cygwin.htm" >http://www.woodsoup.org/projs/ORKiD/cygwin.htm.

Norman Vine (nhv@yahoo.com) + name="dx14-86108"> (nhv @ yahoo.com)
Provided more numerous URL’s to the ”FlightGear Community”. Many performance optimizations throughout the code. Many contributions and much advice for the scenery generation section. Lots of Windows related contributions. Contributed wgs84 distance @@ -1010,46 +952,40 @@ input to control view direction. Ultra hires tiled screen dumps. Contributed the initial ’goto airport’ and ’reset’ functions and the initial http image server code

Roland Voegtli (webmaster@sanw.unibe.ch) + name="dx14-86109"> (webmaster @ sanw.unibe.ch)
Contributed great photorealistic textures. Founder of European Scenery Project for X-Plane:

http://www.g-point.com/xpcity/esp/

Carmelo Volpe (carmelo.volpe@mednut.ki.se) + name="dx14-86110"> (carmelo.volpe @ mednut.ki.se)
Porting FlightGear to the Metro Works development environment (PC/Mac).

Darrell Walisser (walisser@mac.com) + name="dx14-86112"> (walisser @ mac.com)
Contributed a large number of changes to porting FlightGear to the Metro Works development environment (PC/Mac). Finally produced the first Macintosh port. Contributed to the Mac part of Getting Started, too.

Ed Williams (Ed_Williams@compuserve.com). + name="dx14-86113"> (Ed Williams @ compuserve.com).
Contributed magnetic variation code (impliments Nima WMM 2000). We’ve also borrowed from Ed’s wonderful aviation formulary at various times as well. Website at http://williams.best.vwh.net/.

Jim Wilson (jimw@kelcomaine.com). + name="dx14-86114"> (mailjimw @ kelcomaine.com).
Wrote a major overhaul of the viewer code to make it more flexible and modular. Contributed many small fixes and bug reports. Contributed to the PUI property browser and to the autopilot.

Jean-Claude Wippler (jcw@equi4.com) + name="dx14-86115"> (jcw @ equi4.com)
Author of MetaKit - a portable, embeddible database with a portable data file format used in http://www.woodsoup.org/

Robert Allan Zeh (raz@cmg.FCNBD.COM) + name="dx14-86118"> (raz @ cmg.FCNBD.COM)
Helped tremendously in figuring out the Cygnus Win32 compiler and how to link with .dll’s. Without him the first run-able Win32 version of - + diff --git a/Docs/InstallGuide/html/getstartch2.html b/Docs/InstallGuide/html/getstartch2.html index 5c4c5a7cb..fa15166d1 100644 --- a/Docs/InstallGuide/html/getstartch2.html +++ b/Docs/InstallGuide/html/getstartch2.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartch3.html b/Docs/InstallGuide/html/getstartch3.html index 87f9e49ba..9c7c33588 100644 --- a/Docs/InstallGuide/html/getstartch3.html +++ b/Docs/InstallGuide/html/getstartch3.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartch4.html b/Docs/InstallGuide/html/getstartch4.html index 8ab715c1b..1f34fc4e9 100644 --- a/Docs/InstallGuide/html/getstartch4.html +++ b/Docs/InstallGuide/html/getstartch4.html @@ -1,1792 +1,1792 @@ - - -4 Takeoff: How to start the program - - - - - - - -

-

Chapter 4
Takeoff: How to start the program

-

4.1 Launching the simulator under Unix/Linux

- - -

Under Linux (or any other flavor of Unix), FlightGear will be invoked by -

runfgfs --option1 --option2..., -

where the options will be described in Section 4.4 below. -

If something strange happens while using this shell script, if you want to do some -debugging (i.e. using ”strace”) or if you just feel nice to be ”keen”, then you can start -FlightGear directly by executing the ”fgfs” binary. In this case you should at least add -one variable to your environment, which is needed to locate the (mostly) shared library -built from the sources of the SimGear package. Please add the respective directory to -your LD_LIBRARY_PATH. You can do so with the following on Bourne shell -(compatibles): - - - -
- LD_LIBRARY_PATH=/usr/local/FlightGear/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH/
-
-
-

or on C shell (compatibles): - - - -
- setenv LD_LIBRARY_PATH
- /usr/local/FlightGear/lib:$LD_LIBRARY_PATH
-
-
-

Besides this (used by the dynamic linker) ”fgfs” knows about the following environment -variable: -

FG_ROOT: root directory for the FlightGear base package, -

which corresponds to the --fg-root=path option as described in Sec. 4.4.1 -

4.2 Launching the simulator under Windows

- - -

For launching FlightGear from Windows explorer, change to the directory -/FlightGear and double-click the file runfgfs.bat. You can also pass command -line options from Sec. 4 to the batch file (if running it form a Command shell). -However, you have to enclose them in double quotes in this case as follows: -

runfgfs.bat ''--aircraft=4a-yasim'' ''--airport-id=KLAX''. - - - -

-

Fig. 3: Ready for takeoff. Waiting at the default startup position at San Francisco Itl., -KSFO. -

Alternatively, if for one or the other reason the batch file above does not work or is -missing, you can open a command shell, change to the directory where your binary -resides (typically something like c:/FlightGear/bin where you might have to -substitute c: in favor of your FlightGear directory), set the environment variable via -(note the backslashes!) -

SET FG_ROOT=c:\FlightGear\ -

and invoke FlightGear (within the same Command shell, as environment settings are -only valid locally within the same shell) via -

fgfs --option1 --option2.... -

Of course, you can create your own runfgfs.bat with Windows Editor using -the two lines above. -

For getting maximum performance it is recommended to minimize (iconize) the text -output window while running FlightGear. - - - -

4.3 Launching the simulator under Mac OS X

- - -

Say, you downloaded the base package and binary to your home directory. Then you can -open Terminal.app and execute the following sequence: -

setenv FG_ROOT  /fgfs-base-X.X.X ./fgfs-X.X.X.-date -
--option1 -- option 2 (one line) -

or -

./fgfs-X.X.X-version-date --fg-root=~/  fgfs-base-X.X.X -
--option1 --option2. (one line) -

4.4 Command line parameters

- -

Following is a complete list and short description of the numerous command line options -available for FlightGear. If you are running FlightGear under Windows you can include -these into runfgfs.bat. -

However, in case of options you want to re-use continually it is recommended to -include them into a file called .fgfsrc under Unix systems and system.fgfsrc, -resp. under Windows. This file has to be in the top FlightGear directory (for instance -/usr/local/Flightgear). As it depends on your preferences, it is not delivered with -FlightGear, but can be created with any text editor (notepad, emacs, vi, if you -like). -

4.4.1 General Options

- -

4.4.2 Features

- -

4.4.3 Aircraft

- -

4.4.4 Flight model

- -

4.4.5 Initial Position and Orientation

- -

4.4.6 Rendering Options

- -

4.4.7 HUD Options

- -

4.4.8 Time Options

- -

4.4.9 Network Options

- -

4.4.10 Route/Waypoint Options

- - - - -

Note: These options are rather geared to the advanced user who knows what he is -doing. -

4.4.11 IO Options

- - - - -

4.4.12 Debugging options

- -

4.5 Joystick support

- -

Could you imagine a pilot in his or her Cessna controlling the machine with a keyboard -alone? For getting the proper feeling of flight you will need a joystick/yoke plus rudder -pedals, right? However, the combination of numerous types of joysticks, flightsticks, -yokes, pedals etc. on the market with the several target operating systems, makes joystick -support a nontrivial task in FlightGear. -

Beginning with version 0.8.0, FlightGear has a reworked integrated joystick support, -which automatically detects any joystick, yoke, or pedals attached. Just try it! If this does -work for you, lean back and be happy! -

Unfortunately, given the several combinations of operating systems supported by -FlightGear (possibly in foreign languages) and joysticks available, chances are your -joystick does not work out of the box. Basically, there are two alternative approaches to -get it going, with the first one being preferred. -

4.5.1 Built-in joystick support

-
General remarks
In order for joystick auto-detection to work, a joystick bindings xml -file must exist for each joystick. This file describes what axes and buttons are to -be used to control which functions in FlightGear. The associations between -functions and axes or buttons are called ”bindings”. This bindings file can have any -name as long as a corresponding entry exists in the joysticks description file -

/FlightGear/joysticks.xml -

which tells FlightGear where to look for all the bindings files. We will look at examples -later. - - - -

FlightGear includes several such bindings files for several joystick manufacturers in -folders named for each manufacturer. For example, if you have a CH Products joystick, -look in the folder -

/FlightGear/Input/Joysticks/CH -

for a file that might work for your joystick. If such a file exists and your joystick is -working with other applications, then it should work with FlightGear the first time you -run it. If such a file does not exist, then we will discuss in a later section how to create -such a file by cutting and pasting bindings from the examples that are included with -FlightGear. -

Verifying your joystick is working
Does your computer see your joystick? One way -to answer this question under Linux is to reboot your system and immediately enter on -the command line -

dmesg | grep Joystick -

which pipes the boot message to grep which then prints every line in the boot message -that contains the string ”Joystick”. When you do this with a Saitek joystick attached, you -will see a line similar to this one: -

input0: USB HID v1.00 Joystick [SAITEK CYBORG 3D USB] on -usb2:3.0 - This line tells us that a joystick has identified itself as SAITEK CYBORG 3D USB to -the operating system. It does not tell us that the joystick driver sees your joystick. If you -are working under Windows, the method above does not work, but you can still go on -with the next paragraph. -

Confirming that the driver recognizes your joystick
FlightGear ships with a utility -called js demo. It will report the number of joysticks attached to a system, their -respective ”names”, and their capabilities. Under Linux, you can run js demo from the -folder /FlightGear/bin as follows: -

$ cd /usr/local/FlightGear/bin -
$ ./js demo -

Under Windows, open a command shell (Start|All Programs|Accessories), go to the -FlightGear binary folder and start the program as follows (given FlightGear is installed -under c:\Flightgear) - - - -

cd \FlightGear\bin -
js demo.exe -

On our system, the first few lines of output are (stop the program with ^  C if it is -quickly scrolling past your window!) as follows: -

Joystick test program. -
Joystick 0: ''CH PRODUCTS CH FLIGHT SIM YOKE USB '' -
Joystick 1: ''CH PRODUCTS CH PRO PEDALS USB'' -
Joystick 2 not detected -
Joystick 3 not detected -
Joystick 4 not detected -
Joystick 5 not detected -
Joystick 6 not detected -
Joystick 7 not detected -
+--------------------JS.0----------------------+--------------------JS.1----------------------+ -
| Btns Ax:0 Ax:1 Ax:2 Ax:3 Ax:4 Ax:5 Ax:6 | Btns Ax:0 Ax:1 Ax:2 | -
+----------------------------------------------+----------------------------------------------+ -
| 0000 +0.0 +0.0 +1.0 -1.0 -1.0 +0.0 +0.0 . | 0000 -1.0 -1.0 -1.0 . . . . . | -
- First note that js demo reports which number is assigned to each joystick recognized -by the driver. Also, note that the ”name” each joystick reports is also included between -quotes. We will need the names for each bindings file when we begin writing the binding -xml files for each joystick. -

Identifying the numbering of axes and buttons
Axis and button numbers can be -identified using js demo as follows. By observing the output of js demo while working -your joystick axes and buttons you can determine what axis and button numbers are -assigned to each joystick axis and button. It should be noted that numbering generally -starts with zero. -

The buttons are handled internally as a binary number in which bit 0 (the least significant -bit) represents button 0, bit 1 represents button 1, etc., but this number is displayed on the -screen in hexadecimal notation, so: -

0001 ==> button 0 pressed -
0002 ==> button 1 pressed -
0004 ==> button 2 pressed -
0008 ==> button 3 pressed -
0010 ==> button 4 pressed -
0020 ==> button 5 pressed - - - -
0040 ==> button 6 pressed -
... etc. up to ... -
8000 ==> button 15 pressed -
... and ... -
0014 ==> buttons 2 and 4 pressed simultaneously -
... etc. -

For Linux users, there is another option for identifying the ”name” and the numbers -assigned to each axis and button. Most Linux distributions include a very handy program, -”jstest”. With a CH Product Yoke plugged into the system, the following output lines are -displayed by jstest: -

jstest /dev/js3 -
Joystick (CH PRODUCTS CH FLIGHT SIM YOKE USB) has 7 axes and 12 buttons. Driver version is 2.1.0 -
Testing...(interrupt to exit) -
Axes: 0: 0 1: 0 2: 0 3: 0 4: 0 5: 0 6: 0 Buttons: 0:off 1:off 2:off 3:on 4:off 5:off 6:off 7:off 8:off -9:off 10:off 11:off -
- Note the ”name” between parentheses. This is the name the system associates with -your joystick. -

When you move any control, the numbers change after the axis number -corresponding to that moving control and when you depress any button, the ”off” after -the button number corresponding to the button pressed changes to ”on”. In this way, you -can quickly write down the axes numbers and button numbers for each function without -messing with binary. -

Writing or editing joystick binding xml files
At this point, you have confirmed that -the operating system and the joystick driver both recognize your joystick(s). You also -know of several ways to identify the joystick ”name” your joystick reports to -the driver and operating system. You will need a written list of what control -functions you wish to have assigned to which axis and button and the corresponding -numbers. -

Make the following table from what you learned from js demo or jstest above (pencil -and paper is fine). Here we assume there are 5 axes including 2 axes associated with the -hat. - - - -

- - - - - - - -
Axis Button


elevator = 0 view cycle = 0
rudder = 1 all brakes = 1
aileron = 2 up trim = 2
throttle = 3 down trim = 3
leftright hat = 4 extend flaps = 4
foreaft hat = 5 retract flaps = 5
decrease RPM = 6
increase RPM = 7
-
-

We will assume that our hypothetical joystick supplies the ”name” QUICK STICK 3D -USB to the system and driver. With all the examples included with FlightGear, -the easiest way to get a so far unsupported joystick to be auto detected, is to -edit an existing binding xml file. Look at the xml files in the sub-folders of -/FlightGear/Input/Joysticks/. After evaluating at several of the xml binding -files supplied with FlightGear, we decide to edit the file -

/FlightGear/Input/Joysticks/Saitek/Cyborg-Gold-3d-USB.xml. -

This file has all the axes functions above assigned to axes and all the button functions -above assigned to buttons. This makes our editing almost trivial. -

Before we begin to edit, we need to choose a name for our bindings xml file, create -the folder for the QS joysticks, and copy the original xml file into this directory with this -name. -

$ cd /usr/local/FlightGear/Input/Joysticks -
$ mkdir QS -
$ cd QS -
$ cp /usr/local/FlightGear/Input/Joysticks/Saitek/ -
Cyborg-Gold-3d-USB.xml QuickStick.xml - Here, we obviously have supposed a Linux/UNIX system with FlightGear being -installed under /usr/local/FlightGear. For a similar procedure under Windows -with FlightGear being installed under c:FlightGear, open a command shell and -type -

c: -
cd /FlightGear/Input/Joysticks -
mkdir QS -
cd QS -
copy /FlightGear/Input/Joysticks/Saitek/ -
Cyborg-Gold-3d-USB.xml QuickStick.xml - - - - Next, open QuickStick.xml with your favorite editor. Before we forget to -change the joystick name, search for the line containing <name>. You should find the -line -

<name>SAITEK CYBORG 3D USB</name> -

and change it to -

<name>QUICK STICK 3D USB</name>. -

This line illustrates a key feature of xml statements. They begin with a <tag> and end -with a </tag>. -

You can now compare your table to the comment table at the top of your file copy. -Note that the comments tell us that the Saitek elevator was assigned to axis 1. Search for -the string -

<axis n="1"> -

and change this to -

<axis n="0">. -

Next, note that the Saitek rudder was assigned to axis 2. Search for the string -

<axis n="2"> -

<axis n="1">. -

Continue comparing your table with the comment table for the Saitek and changing the -axis numbers and button numbers accordingly. Since QUICKSTICK USB and the Saitek -have the same number of axes but different number of buttons, you must delete the -buttons left over. Just remember to double check that you have a closing tag for each -opening tag or you will get an error using the file. -

Finally, be good to yourself (and others when you submit your new binding file to a -FlightGear developers or users archive!), take the time to change the comment table in -the edited file to match your changed axis and button assignments. The new -comments should match the table you made from the js demo output. Save your -edits. -

Telling FlightGear about your new bindings xml file
Before FlightGear can use -your new xml file, you need to edit the file -

/FlightGear/joysticks.xml, -

adding a line that will include your new file if the ”name” you entered between the name -tags matches the name supplied to the driver by your joystick. Add the following line to -joysticks.xml. - - - -

<js-named include="Input/Joysticks/QS/QuickStick.xml"/> -

Some hints for Windows users
Basically, the procedures described above should -work for Windows as well. If your joystick/yoke/pedals work out of the box or if you get -it to work using the methods above, fine. Unfortunately there may be a few -problems. -

The first one concerns users of non-US Windows versions. As stated above, -you can get the name of the joystick from the program js demo. If you have a -non-US version of Windows and the joystick .xml files named above do not -contain that special name, just add it on top of the appropriate file in the style of -

<name>Microsoft-PC-Joysticktreiber </name> -

No new entry in the base joysticks.xml file is required. -

Unfortunately, there is one more loophole with Windows joystick support. In case -you have two USB devices attached (for instance a yoke plus pedals), there may be -cases, where the same driver name is reported twice. In this case, you can get -at least the yoke to work by assigning it number 0 (out of 0 and 1). For this -purpose, rotate the yoke (aileron control) and observe the output of js demo. If -figures in the first group of colons (for device 0) change, assignment is correct. If -figures in the second group of colons (for device 1) change, you have to make -the yoke the preferred device first. For doing so, enter the Windows ”Control -panel”, open ”Game controllers” and select the ”Advanced” button. Here you -can select the yoke as the ”Preferred” device. Afterward you can check that -assignment by running js demo again. The yoke should now control the first group of -figures. -

Unfortunately, we did not find a way to get the pedals to work, too, that way. Thus, in -cases like this one (and others) you may want to try an alternative method of assigning -joystick controls. -

4.5.2 Joystick support via .fgfsrc entries

Fortunately, there is a tool available now, -which takes most of the burden from the average user who, maybe, is not that -experienced with XML, the language which these files are written in. -

For configuring your joystick using this approach, open a command shell (command -prompt under windows, to be found under Start—All programs—Accessories). Change -to the directory /FlightGear/bin via e.g. (modify to your path) -

cd c:\FlightGear\bin - - - -

and invoke the tool fgjs via -

./fgjs -

on a UNIX/Linux machine, or via -

fgjs -

on a Windows machine. The program will tell you which joysticks, if any, were -detected. Now follow the commands given on screen, i.e. move the axis and press the -buttons as required. Be careful, a minor touch already ”counts” as a movement. -Check the reports on screen. If you feel something went wrong, just re-start the -program. -

After you are done with all the axis and switches, the directory above will hold a file -called fgfsrc.js. If the FlightGear base directory FlightGear does not already -contain an options file .fgfsrc (under UNIX)/system.fgfsrc (under Windows) -mentioned above, just copy -

fgfsrc.js into .fgfsrc (UNIX)/system.fgfsrc (Windows) -

and place it into the directory FlightGear base directory FlightGear. In case you -already wrote an options file, just open it as well as fgfsrc.js with an editor and copy -the entries from fgfsrc.js into .fgfsrc/system.fgfsrc. One hint: The output -of fgjs is UNIX formatted. As a result, Windows Editor may not display it the proper -way. I suggest getting an editor being able to handle UNIX files as well (and oldie but -goldie in this respect is PFE, just make a web search for it). My favorite freeware file -editor for that purpose, although somewhat dated, is still PFE, to be obtained -from -

http://www.lancs.ac.uk/people/cpaap/pfe/. -

The the axis/button assignment of fgjs should, at least, get the axis assignments -right, its output may need some tweaking. There may be axes moving the opposite -way they should, the dead zones may be too small etc. For instance, I had to -change -

--prop:/input/joysticks/js[1]/axis[1]/binding/factor=-1.0 -

into -

--prop:/input/joysticks/js[1]/axis[1]/binding/factor=1.0 -

(USB CH Flightsim Yoke under Windows XP). Thus, here is a short introduction into -the assignments of joystick properties. -

Basically, all axes settings are specified via lines having the following structure: -

--prop:/input/joysticks/js[n]/axis[m]/binding -
/command=property-scale (one line) -
--prop:/input/joysticks/js[n]/axis[m]/binding -
/property=/controls/steering option (one line) - - - -
--prop:/input/joysticks/js[n]/axis[m]/binding -
/dead-band=db (one line) -
--prop:/input/joysticks/js[n]/axis[m]/binding -
/offset=os (one line) -
--prop:/input/joysticks/js[n]/axis[m]/binding -
/factor=fa (one line) -
-

where -

- - - - - - -
n = number of device (usually starting with 0)
m = number of axis (usually starting with 0)
steering option = elevator, aileron, rudder, throttle, mixture, pitch
dead-band = range, within which signals are discarded;
useful to avoid jittering for minor yoke movements
offset = specifies, if device not centered in its neutral position
factor = controls sensitivity of that axis; defaults to +1,
with a value of -1 reversing the behavior
-
-

You should be able to at least get your joystick working along these lines. Concerning all -the finer points, for instance, getting the joystick buttons working, John Check has -written a very useful README being included in the base package to be found -under FlightGear/Docs/Readme/Joystick.html. In case of any -trouble with your input device, it is highly recommended to have a look into this -document. -

4.6 A glance over our hangar

- - -

The following is a Table 1 of all the aircraft presently available for use with FlightGear. -In the first column, you will find the name of the aircraft, the second one tells the start -option, the third one names the FDM (flight dynamics management model, see Sec. 1.4), -and the last column includes some remarks. Here, ”no exterior model” means, that there -is no aircraft specific external model provided with the base package. As a result, you -will see the default blue-yellow glider, when you change to the external view. However, -you can download external views for these models from Wolfram Kuss’ site -at -

http://home.t-online.de/home/Wolfram.Kuss/. -

Moreover, this list is complete insofar as it covers all aircraft available via the ---aircraft= option. - - - -

Tab. 1: Presently available aircraft in FlightGear. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Aircraft type Start option FDM Remarks




Boeing 747 --aircraft=747-yasim YASim
BA A4 Hawk --aircraft=a4-yasim YASim
North American X-15 --aircraft=X15 JSBSim experimental supersonic plane
Airwave Xtreme 150 --aircraft=airwaveXtreme150-
v1-nl-uiuc UIUC hang glider!
Beech 99 --aircraft=beech99-v1-uiuc UIUC no exterior model
Cessna 172 --aircraft=c172-3d JSBSim sports a 3D cockpit
Cessna 172 --aircraft=c172-3d-yasim YASim sports a 3D cockpit
Cessna 172 --aircraft=c172-ifr JSBSim with IFR panel
Cessna 172 --aircraft=c172-larcsim LaRCsim
Cessna 172 --aircraft=c172 JSBSim default
Cessna 172 --aircraft=c172-yasim YASim
Cessna 172p --aircraft=c172p-3d JSBSim sports a 3D cockpit
Cessna 172p --aircraft=c172p JSBSim
Cessna 172 --aircraft=c172x JSBSim flight dynamics testbed
Cessna 182 --aircraft=c182 JSBSim
Cessna 310 --aircraft=c310 JSBSim
Cessna 310 --aircraft=c310-yasim YASim twin-prop machine
Cessna 310U3A --aircraft=c310u3a-3d JSBSim twin-prop machine, 3D cockpit
Cessna 310U3A --aircraft=c310u3a JSBSim twin-prop machine
Douglas DC-3 --aircraft=dc3-yasim YASim
BA Harrier --aircraft=harrier-yasim YASim no exterior model
Piper Cub J3 Trainer --aircraft=j3cub-yasim YASim
Siai Marchetti S.211 --aircraft=marchetti-v1-uiuc UIUC no exterior model
Space Shuttle --aircraft=shuttle JSBSim no exterior model
UFO --aircraft=ufo JSBSim ’White Project’ (UNESCO)
1903 Wright Flyer --aircraft=wrightFlyer1903-
v1-nl-uiuc UIUC historical model
X-24B --aircraft=x24b JSBSim USAF/NACA reentry testbed
Cessna 172 --aircraft=c172-610x JSBSim full screen, hi-res panel (IFR)
UFO --aircraft=ufo Magic Carpet UFO
-
- - - -

- - - -

- + + +4 Takeoff: How to start the program + + + + + + + + +

Chapter 4
Takeoff: How to start the program

+

4.1 Launching the simulator under Unix/Linux

+ + +

Under Linux (or any other flavor of Unix), FlightGear will be invoked by +

runfgfs --option1 --option2..., +

where the options will be described in Section 4.4 below. +

If something strange happens while using this shell script, if you want to do some +debugging (i.e. using ”strace”) or if you just feel nice to be ”keen”, then you can start +FlightGear directly by executing the ”fgfs” binary. In this case you should at least add +one variable to your environment, which is needed to locate the (mostly) shared library +built from the sources of the SimGear package. Please add the respective directory to +your LD_LIBRARY_PATH. You can do so with the following on Bourne shell +(compatibles): + + + +
+ LD_LIBRARY_PATH=/usr/local/FlightGear/lib:$LD_LIBRARY_PATH
+ export LD_LIBRARY_PATH/
+
+
+

or on C shell (compatibles): + + + +
+ setenv LD_LIBRARY_PATH
+ /usr/local/FlightGear/lib:$LD_LIBRARY_PATH
+
+
+

Besides this (used by the dynamic linker) ”fgfs” knows about the following environment +variable: +

FG_ROOT: root directory for the FlightGear base package, +

which corresponds to the --fg-root=path option as described in Sec. 4.4.1 +

4.2 Launching the simulator under Windows

+ + +

For launching FlightGear from Windows explorer, change to the directory +/FlightGear and double-click the file runfgfs.bat. You can also pass command +line options from Sec. 4 to the batch file (if running it form a Command shell). +However, you have to enclose them in double quotes in this case as follows: +

runfgfs.bat ''--aircraft=4a-yasim'' ''--airport-id=KLAX''. + + + +

+

Fig. 3: Ready for takeoff. Waiting at the default startup position at San Francisco Itl., +KSFO. +

Alternatively, if for one or the other reason the batch file above does not work or is +missing, you can open a command shell, change to the directory where your binary +resides (typically something like c:/FlightGear/bin where you might have to +substitute c: in favor of your FlightGear directory), set the environment variable via +(note the backslashes!) +

SET FG_ROOT=c:\FlightGear\ +

and invoke FlightGear (within the same Command shell, as environment settings are +only valid locally within the same shell) via +

fgfs --option1 --option2.... +

Of course, you can create your own runfgfs.bat with Windows Editor using +the two lines above. +

For getting maximum performance it is recommended to minimize (iconize) the text +output window while running FlightGear. + + + +

4.3 Launching the simulator under Mac OS X

+ + +

Say, you downloaded the base package and binary to your home directory. Then you can +open Terminal.app and execute the following sequence: +

setenv FG_ROOT  /fgfs-base-X.X.X ./fgfs-X.X.X.-date +
--option1 -- option 2 (one line) +

or +

./fgfs-X.X.X-version-date --fg-root=~/  fgfs-base-X.X.X +
--option1 --option2. (one line) +

4.4 Command line parameters

+ +

Following is a complete list and short description of the numerous command line options +available for FlightGear. If you are running FlightGear under Windows you can include +these into runfgfs.bat. +

However, in case of options you want to re-use continually it is recommended to +include them into a file called .fgfsrc under Unix systems and system.fgfsrc, +resp. under Windows. This file has to be in the top FlightGear directory (for instance +/usr/local/Flightgear). As it depends on your preferences, it is not delivered with +FlightGear, but can be created with any text editor (notepad, emacs, vi, if you +like). +

4.4.1 General Options

+ +

4.4.2 Features

+ +

4.4.3 Aircraft

+ +

4.4.4 Flight model

+ +

4.4.5 Initial Position and Orientation

+ +

4.4.6 Rendering Options

+ +

4.4.7 HUD Options

+ +

4.4.8 Time Options

+ +

4.4.9 Network Options

+ +

4.4.10 Route/Waypoint Options

+ + + + +

Note: These options are rather geared to the advanced user who knows what he is +doing. +

4.4.11 IO Options

+ + + + +

4.4.12 Debugging options

+ +

4.5 Joystick support

+ +

Could you imagine a pilot in his or her Cessna controlling the machine with a keyboard +alone? For getting the proper feeling of flight you will need a joystick/yoke plus rudder +pedals, right? However, the combination of numerous types of joysticks, flightsticks, +yokes, pedals etc. on the market with the several target operating systems, makes joystick +support a nontrivial task in FlightGear. +

Beginning with version 0.8.0, FlightGear has a reworked integrated joystick support, +which automatically detects any joystick, yoke, or pedals attached. Just try it! If this does +work for you, lean back and be happy! +

Unfortunately, given the several combinations of operating systems supported by +FlightGear (possibly in foreign languages) and joysticks available, chances are your +joystick does not work out of the box. Basically, there are two alternative approaches to +get it going, with the first one being preferred. +

4.5.1 Built-in joystick support

+
General remarks
In order for joystick auto-detection to work, a joystick bindings xml +file must exist for each joystick. This file describes what axes and buttons are to +be used to control which functions in FlightGear. The associations between +functions and axes or buttons are called ”bindings”. This bindings file can have any +name as long as a corresponding entry exists in the joysticks description file +

/FlightGear/joysticks.xml +

which tells FlightGear where to look for all the bindings files. We will look at examples +later. + + + +

FlightGear includes several such bindings files for several joystick manufacturers in +folders named for each manufacturer. For example, if you have a CH Products joystick, +look in the folder +

/FlightGear/Input/Joysticks/CH +

for a file that might work for your joystick. If such a file exists and your joystick is +working with other applications, then it should work with FlightGear the first time you +run it. If such a file does not exist, then we will discuss in a later section how to create +such a file by cutting and pasting bindings from the examples that are included with +FlightGear. +

Verifying your joystick is working
Does your computer see your joystick? One way +to answer this question under Linux is to reboot your system and immediately enter on +the command line +

dmesg | grep Joystick +

which pipes the boot message to grep which then prints every line in the boot message +that contains the string ”Joystick”. When you do this with a Saitek joystick attached, you +will see a line similar to this one: +

input0: USB HID v1.00 Joystick [SAITEK CYBORG 3D USB] on +usb2:3.0 + This line tells us that a joystick has identified itself as SAITEK CYBORG 3D USB to +the operating system. It does not tell us that the joystick driver sees your joystick. If you +are working under Windows, the method above does not work, but you can still go on +with the next paragraph. +

Confirming that the driver recognizes your joystick
FlightGear ships with a utility +called js demo. It will report the number of joysticks attached to a system, their +respective ”names”, and their capabilities. Under Linux, you can run js demo from the +folder /FlightGear/bin as follows: +

$ cd /usr/local/FlightGear/bin +
$ ./js demo +

Under Windows, open a command shell (Start|All Programs|Accessories), go to the +FlightGear binary folder and start the program as follows (given FlightGear is installed +under c:\Flightgear) + + + +

cd \FlightGear\bin +
js demo.exe +

On our system, the first few lines of output are (stop the program with ^  C if it is +quickly scrolling past your window!) as follows: +

Joystick test program. +
Joystick 0: ''CH PRODUCTS CH FLIGHT SIM YOKE USB '' +
Joystick 1: ''CH PRODUCTS CH PRO PEDALS USB'' +
Joystick 2 not detected +
Joystick 3 not detected +
Joystick 4 not detected +
Joystick 5 not detected +
Joystick 6 not detected +
Joystick 7 not detected +
+--------------------JS.0----------------------+--------------------JS.1----------------------+ +
| Btns Ax:0 Ax:1 Ax:2 Ax:3 Ax:4 Ax:5 Ax:6 | Btns Ax:0 Ax:1 Ax:2 | +
+----------------------------------------------+----------------------------------------------+ +
| 0000 +0.0 +0.0 +1.0 -1.0 -1.0 +0.0 +0.0 . | 0000 -1.0 -1.0 -1.0 . . . . . | +
+ First note that js demo reports which number is assigned to each joystick recognized +by the driver. Also, note that the ”name” each joystick reports is also included between +quotes. We will need the names for each bindings file when we begin writing the binding +xml files for each joystick. +

Identifying the numbering of axes and buttons
Axis and button numbers can be +identified using js demo as follows. By observing the output of js demo while working +your joystick axes and buttons you can determine what axis and button numbers are +assigned to each joystick axis and button. It should be noted that numbering generally +starts with zero. +

The buttons are handled internally as a binary number in which bit 0 (the least significant +bit) represents button 0, bit 1 represents button 1, etc., but this number is displayed on the +screen in hexadecimal notation, so: +

0001 ==> button 0 pressed +
0002 ==> button 1 pressed +
0004 ==> button 2 pressed +
0008 ==> button 3 pressed +
0010 ==> button 4 pressed +
0020 ==> button 5 pressed + + + +
0040 ==> button 6 pressed +
... etc. up to ... +
8000 ==> button 15 pressed +
... and ... +
0014 ==> buttons 2 and 4 pressed simultaneously +
... etc. +

For Linux users, there is another option for identifying the ”name” and the numbers +assigned to each axis and button. Most Linux distributions include a very handy program, +”jstest”. With a CH Product Yoke plugged into the system, the following output lines are +displayed by jstest: +

jstest /dev/js3 +
Joystick (CH PRODUCTS CH FLIGHT SIM YOKE USB) has 7 axes and 12 buttons. Driver version is 2.1.0 +
Testing...(interrupt to exit) +
Axes: 0: 0 1: 0 2: 0 3: 0 4: 0 5: 0 6: 0 Buttons: 0:off 1:off 2:off 3:on 4:off 5:off 6:off 7:off 8:off +9:off 10:off 11:off +
+ Note the ”name” between parentheses. This is the name the system associates with +your joystick. +

When you move any control, the numbers change after the axis number +corresponding to that moving control and when you depress any button, the ”off” after +the button number corresponding to the button pressed changes to ”on”. In this way, you +can quickly write down the axes numbers and button numbers for each function without +messing with binary. +

Writing or editing joystick binding xml files
At this point, you have confirmed that +the operating system and the joystick driver both recognize your joystick(s). You also +know of several ways to identify the joystick ”name” your joystick reports to +the driver and operating system. You will need a written list of what control +functions you wish to have assigned to which axis and button and the corresponding +numbers. +

Make the following table from what you learned from js demo or jstest above (pencil +and paper is fine). Here we assume there are 5 axes including 2 axes associated with the +hat. + + + +

+ + + + + + + +
Axis Button


elevator = 0 view cycle = 0
rudder = 1 all brakes = 1
aileron = 2 up trim = 2
throttle = 3 down trim = 3
leftright hat = 4 extend flaps = 4
foreaft hat = 5 retract flaps = 5
decrease RPM = 6
increase RPM = 7
+
+

We will assume that our hypothetical joystick supplies the ”name” QUICK STICK 3D +USB to the system and driver. With all the examples included with FlightGear, +the easiest way to get a so far unsupported joystick to be auto detected, is to +edit an existing binding xml file. Look at the xml files in the sub-folders of +/FlightGear/Input/Joysticks/. After evaluating at several of the xml binding +files supplied with FlightGear, we decide to edit the file +

/FlightGear/Input/Joysticks/Saitek/Cyborg-Gold-3d-USB.xml. +

This file has all the axes functions above assigned to axes and all the button functions +above assigned to buttons. This makes our editing almost trivial. +

Before we begin to edit, we need to choose a name for our bindings xml file, create +the folder for the QS joysticks, and copy the original xml file into this directory with this +name. +

$ cd /usr/local/FlightGear/Input/Joysticks +
$ mkdir QS +
$ cd QS +
$ cp /usr/local/FlightGear/Input/Joysticks/Saitek/ +
Cyborg-Gold-3d-USB.xml QuickStick.xml + Here, we obviously have supposed a Linux/UNIX system with FlightGear being +installed under /usr/local/FlightGear. For a similar procedure under Windows +with FlightGear being installed under c:FlightGear, open a command shell and +type +

c: +
cd /FlightGear/Input/Joysticks +
mkdir QS +
cd QS +
copy /FlightGear/Input/Joysticks/Saitek/ +
Cyborg-Gold-3d-USB.xml QuickStick.xml + + + + Next, open QuickStick.xml with your favorite editor. Before we forget to +change the joystick name, search for the line containing <name>. You should find the +line +

<name>SAITEK CYBORG 3D USB</name> +

and change it to +

<name>QUICK STICK 3D USB</name>. +

This line illustrates a key feature of xml statements. They begin with a <tag> and end +with a </tag>. +

You can now compare your table to the comment table at the top of your file copy. +Note that the comments tell us that the Saitek elevator was assigned to axis 1. Search for +the string +

<axis n="1"> +

and change this to +

<axis n="0">. +

Next, note that the Saitek rudder was assigned to axis 2. Search for the string +

<axis n="2"> +

<axis n="1">. +

Continue comparing your table with the comment table for the Saitek and changing the +axis numbers and button numbers accordingly. Since QUICKSTICK USB and the Saitek +have the same number of axes but different number of buttons, you must delete the +buttons left over. Just remember to double check that you have a closing tag for each +opening tag or you will get an error using the file. +

Finally, be good to yourself (and others when you submit your new binding file to a +FlightGear developers or users archive!), take the time to change the comment table in +the edited file to match your changed axis and button assignments. The new +comments should match the table you made from the js demo output. Save your +edits. +

Telling FlightGear about your new bindings xml file
Before FlightGear can use +your new xml file, you need to edit the file +

/FlightGear/joysticks.xml, +

adding a line that will include your new file if the ”name” you entered between the name +tags matches the name supplied to the driver by your joystick. Add the following line to +joysticks.xml. + + + +

<js-named include="Input/Joysticks/QS/QuickStick.xml"/> +

Some hints for Windows users
Basically, the procedures described above should +work for Windows as well. If your joystick/yoke/pedals work out of the box or if you get +it to work using the methods above, fine. Unfortunately there may be a few +problems. +

The first one concerns users of non-US Windows versions. As stated above, +you can get the name of the joystick from the program js demo. If you have a +non-US version of Windows and the joystick .xml files named above do not +contain that special name, just add it on top of the appropriate file in the style of +

<name>Microsoft-PC-Joysticktreiber </name> +

No new entry in the base joysticks.xml file is required. +

Unfortunately, there is one more loophole with Windows joystick support. In case +you have two USB devices attached (for instance a yoke plus pedals), there may be +cases, where the same driver name is reported twice. In this case, you can get +at least the yoke to work by assigning it number 0 (out of 0 and 1). For this +purpose, rotate the yoke (aileron control) and observe the output of js demo. If +figures in the first group of colons (for device 0) change, assignment is correct. If +figures in the second group of colons (for device 1) change, you have to make +the yoke the preferred device first. For doing so, enter the Windows ”Control +panel”, open ”Game controllers” and select the ”Advanced” button. Here you +can select the yoke as the ”Preferred” device. Afterward you can check that +assignment by running js demo again. The yoke should now control the first group of +figures. +

Unfortunately, we did not find a way to get the pedals to work, too, that way. Thus, in +cases like this one (and others) you may want to try an alternative method of assigning +joystick controls. +

4.5.2 Joystick support via .fgfsrc entries

Fortunately, there is a tool available now, +which takes most of the burden from the average user who, maybe, is not that +experienced with XML, the language which these files are written in. +

For configuring your joystick using this approach, open a command shell (command +prompt under windows, to be found under Start—All programs—Accessories). Change +to the directory /FlightGear/bin via e.g. (modify to your path) +

cd c:\FlightGear\bin + + + +

and invoke the tool fgjs via +

./fgjs +

on a UNIX/Linux machine, or via +

fgjs +

on a Windows machine. The program will tell you which joysticks, if any, were +detected. Now follow the commands given on screen, i.e. move the axis and press the +buttons as required. Be careful, a minor touch already ”counts” as a movement. +Check the reports on screen. If you feel something went wrong, just re-start the +program. +

After you are done with all the axis and switches, the directory above will hold a file +called fgfsrc.js. If the FlightGear base directory FlightGear does not already +contain an options file .fgfsrc (under UNIX)/system.fgfsrc (under Windows) +mentioned above, just copy +

fgfsrc.js into .fgfsrc (UNIX)/system.fgfsrc (Windows) +

and place it into the directory FlightGear base directory FlightGear. In case you +already wrote an options file, just open it as well as fgfsrc.js with an editor and copy +the entries from fgfsrc.js into .fgfsrc/system.fgfsrc. One hint: The output +of fgjs is UNIX formatted. As a result, Windows Editor may not display it the proper +way. I suggest getting an editor being able to handle UNIX files as well (and oldie but +goldie in this respect is PFE, just make a web search for it). My favorite freeware file +editor for that purpose, although somewhat dated, is still PFE, to be obtained +from +

http://www.lancs.ac.uk/people/cpaap/pfe/. +

The the axis/button assignment of fgjs should, at least, get the axis assignments +right, its output may need some tweaking. There may be axes moving the opposite +way they should, the dead zones may be too small etc. For instance, I had to +change +

--prop:/input/joysticks/js[1]/axis[1]/binding/factor=-1.0 +

into +

--prop:/input/joysticks/js[1]/axis[1]/binding/factor=1.0 +

(USB CH Flightsim Yoke under Windows XP). Thus, here is a short introduction into +the assignments of joystick properties. +

Basically, all axes settings are specified via lines having the following structure: +

--prop:/input/joysticks/js[n]/axis[m]/binding +
/command=property-scale (one line) +
--prop:/input/joysticks/js[n]/axis[m]/binding +
/property=/controls/steering option (one line) + + + +
--prop:/input/joysticks/js[n]/axis[m]/binding +
/dead-band=db (one line) +
--prop:/input/joysticks/js[n]/axis[m]/binding +
/offset=os (one line) +
--prop:/input/joysticks/js[n]/axis[m]/binding +
/factor=fa (one line) +
+

where +

+ + + + + + +
n = number of device (usually starting with 0)
m = number of axis (usually starting with 0)
steering option = elevator, aileron, rudder, throttle, mixture, pitch
dead-band = range, within which signals are discarded;
useful to avoid jittering for minor yoke movements
offset = specifies, if device not centered in its neutral position
factor = controls sensitivity of that axis; defaults to +1,
with a value of -1 reversing the behavior
+
+

You should be able to at least get your joystick working along these lines. Concerning all +the finer points, for instance, getting the joystick buttons working, John Check has +written a very useful README being included in the base package to be found +under FlightGear/Docs/Readme/Joystick.html. In case of any +trouble with your input device, it is highly recommended to have a look into this +document. +

4.6 A glance over our hangar

+ + +

The following is a Table 1 of all the aircraft presently available for use with FlightGear. +In the first column, you will find the name of the aircraft, the second one tells the start +option, the third one names the FDM (flight dynamics management model, see Sec. 1.4), +and the last column includes some remarks. Here, ”no exterior model” means, that there +is no aircraft specific external model provided with the base package. As a result, you +will see the default blue-yellow glider, when you change to the external view. However, +you can download external views for these models from Wolfram Kuss’ site +at +

http://home.t-online.de/home/Wolfram.Kuss/. +

Moreover, this list is complete insofar as it covers all aircraft available via the +--aircraft= option. + + + +

Tab. 1: Presently available aircraft in FlightGear. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Aircraft type Start option FDM Remarks




Boeing 747 --aircraft=747-yasim YASim
BA A4 Hawk --aircraft=a4-yasim YASim
North American X-15 --aircraft=X15 JSBSim experimental supersonic plane
Airwave Xtreme 150 --aircraft=airwaveXtreme150-
v1-nl-uiuc UIUC hang glider!
Beech 99 --aircraft=beech99-v1-uiuc UIUC no exterior model
Cessna 172 --aircraft=c172-3d JSBSim sports a 3D cockpit
Cessna 172 --aircraft=c172-3d-yasim YASim sports a 3D cockpit
Cessna 172 --aircraft=c172-ifr JSBSim with IFR panel
Cessna 172 --aircraft=c172-larcsim LaRCsim
Cessna 172 --aircraft=c172 JSBSim default
Cessna 172 --aircraft=c172-yasim YASim
Cessna 172p --aircraft=c172p-3d JSBSim sports a 3D cockpit
Cessna 172p --aircraft=c172p JSBSim
Cessna 172 --aircraft=c172x JSBSim flight dynamics testbed
Cessna 182 --aircraft=c182 JSBSim
Cessna 310 --aircraft=c310 JSBSim
Cessna 310 --aircraft=c310-yasim YASim twin-prop machine
Cessna 310U3A --aircraft=c310u3a-3d JSBSim twin-prop machine, 3D cockpit
Cessna 310U3A --aircraft=c310u3a JSBSim twin-prop machine
Douglas DC-3 --aircraft=dc3-yasim YASim
BA Harrier --aircraft=harrier-yasim YASim no exterior model
Piper Cub J3 Trainer --aircraft=j3cub-yasim YASim
Siai Marchetti S.211 --aircraft=marchetti-v1-uiuc UIUC no exterior model
Space Shuttle --aircraft=shuttle JSBSim no exterior model
UFO --aircraft=ufo JSBSim ’White Project’ (UNESCO)
1903 Wright Flyer --aircraft=wrightFlyer1903-
v1-nl-uiuc UIUC historical model
X-24B --aircraft=x24b JSBSim USAF/NACA reentry testbed
Cessna 172 --aircraft=c172-610x JSBSim full screen, hi-res panel (IFR)
UFO --aircraft=ufo Magic Carpet UFO
+
+ + + +

+ + + +

+ diff --git a/Docs/InstallGuide/html/getstartch5.html b/Docs/InstallGuide/html/getstartch5.html index 801e2b03b..b582351be 100644 --- a/Docs/InstallGuide/html/getstartch5.html +++ b/Docs/InstallGuide/html/getstartch5.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartli1.html b/Docs/InstallGuide/html/getstartli1.html index d30ee924e..a59e4c61b 100644 --- a/Docs/InstallGuide/html/getstartli1.html +++ b/Docs/InstallGuide/html/getstartli1.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartli2.html b/Docs/InstallGuide/html/getstartli2.html index bda839419..e8515a689 100644 --- a/Docs/InstallGuide/html/getstartli2.html +++ b/Docs/InstallGuide/html/getstartli2.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartli3.html b/Docs/InstallGuide/html/getstartli3.html index 336a29911..1ba406603 100644 --- a/Docs/InstallGuide/html/getstartli3.html +++ b/Docs/InstallGuide/html/getstartli3.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartpa1.html b/Docs/InstallGuide/html/getstartpa1.html index ebb4ae05b..fbf3ba077 100644 --- a/Docs/InstallGuide/html/getstartpa1.html +++ b/Docs/InstallGuide/html/getstartpa1.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartpa2.html b/Docs/InstallGuide/html/getstartpa2.html index 9670ad834..8d1838524 100644 --- a/Docs/InstallGuide/html/getstartpa2.html +++ b/Docs/InstallGuide/html/getstartpa2.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/InstallGuide/html/getstartpa3.html b/Docs/InstallGuide/html/getstartpa3.html index dbe5ad8a5..cc90f45fe 100644 --- a/Docs/InstallGuide/html/getstartpa3.html +++ b/Docs/InstallGuide/html/getstartpa3.html @@ -6,7 +6,7 @@ - + diff --git a/Docs/getstart.pdf b/Docs/getstart.pdf index 22ffa6a49..fd68d98b9 100644 Binary files a/Docs/getstart.pdf and b/Docs/getstart.pdf differ