1 /**************************************************************************
2 * ls_interface.h -- interface to the "LaRCsim" flight model
4 * Written by Curtis Olson, started May 1997.
6 * Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of the
11 * License, or (at your option) any later version.
13 * This program is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 * (Log is kept at end of this file)
24 **************************************************************************/
27 #ifndef _LS_INTERFACE_H
28 #define _LS_INTERFACE_H
31 #include <Flight/flight.h>
35 /* reset flight params to a specific position */
36 int fgLaRCsimInit(double dt);
38 /* update position based on inputs, positions, velocities, etc. */
39 int fgLaRCsimUpdate(fgFLIGHT *f, int multiloop);
41 /* Convert from the fgFLIGHT struct to the LaRCsim generic_ struct */
42 int fgFlight_2_LaRCsim (fgFLIGHT *f);
44 /* Convert from the LaRCsim generic_ struct to the fgFLIGHT struct */
45 int fgLaRCsim_2_Flight (fgFLIGHT *f);
47 void ls_loop( SCALAR dt, int initialize );
49 /* Set the altitude (force) */
50 int ls_ForceAltitude(double alt_feet);
53 #endif /* _LS_INTERFACE_H */
57 /* Revision 1.9 1998/07/12 03:11:04 curt
58 /* Removed some printf()'s.
59 /* Fixed the autopilot integration so it should be able to update it's control
60 /* positions every time the internal flight model loop is run, and not just
61 /* once per rendered frame.
62 /* Added a routine to do the necessary stuff to force an arbitrary altitude
64 /* Gave the Navion engine just a tad more power.
66 * Revision 1.8 1998/04/21 16:59:39 curt
67 * Integrated autopilot.
68 * Prepairing for C++ integration.
70 * Revision 1.7 1998/02/07 15:29:39 curt
71 * Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
72 * <chotchkiss@namg.us.anritsu.com>
74 * Revision 1.6 1998/02/03 23:20:17 curt
75 * Lots of little tweaks to fix various consistency problems discovered by
76 * Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
77 * passed arguments along to the real printf(). Also incorporated HUD changes
80 * Revision 1.5 1998/01/19 19:27:05 curt
81 * Merged in make system changes from Bob Kuehne <rpk@sgi.com>
82 * This should simplify things tremendously.
84 * Revision 1.4 1998/01/19 18:40:27 curt
85 * Tons of little changes to clean up the code and to remove fatal errors
86 * when building with the c++ compiler.
88 * Revision 1.3 1997/07/23 21:52:20 curt
89 * Put comments around the text after an #endif for increased portability.
91 * Revision 1.2 1997/05/29 22:39:59 curt
92 * Working on incorporating the LaRCsim flight model.
94 * Revision 1.1 1997/05/29 00:09:58 curt
95 * Initial Flight Gear revision.