1997-05-29 00:09:51 +00:00
|
|
|
/**************************************************************************
|
|
|
|
* ls_interface.h -- interface to the "LaRCsim" flight model
|
|
|
|
*
|
|
|
|
* Written by Curtis Olson, started May 1997.
|
|
|
|
*
|
|
|
|
* Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License as
|
|
|
|
* published by the Free Software Foundation; either version 2 of the
|
|
|
|
* License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful, but
|
|
|
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
*
|
|
|
|
* $Id$
|
|
|
|
* (Log is kept at end of this file)
|
|
|
|
**************************************************************************/
|
|
|
|
|
|
|
|
|
1998-01-19 19:26:51 +00:00
|
|
|
#ifndef _LS_INTERFACE_H
|
|
|
|
#define _LS_INTERFACE_H
|
1997-05-29 00:09:51 +00:00
|
|
|
|
|
|
|
|
1998-10-17 01:33:52 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
1998-02-03 23:20:08 +00:00
|
|
|
#include "ls_types.h"
|
1997-05-29 22:39:49 +00:00
|
|
|
|
|
|
|
|
1997-05-29 00:09:51 +00:00
|
|
|
/* reset flight params to a specific position */
|
2000-04-10 20:09:40 +00:00
|
|
|
int ls_toplevel_init(double dt, char * aircraft);
|
1997-05-29 00:09:51 +00:00
|
|
|
|
|
|
|
/* update position based on inputs, positions, velocities, etc. */
|
1998-10-16 23:26:44 +00:00
|
|
|
int ls_update(int multiloop);
|
1997-05-29 00:09:51 +00:00
|
|
|
|
1998-10-16 23:26:44 +00:00
|
|
|
#if 0
|
1998-01-19 18:40:15 +00:00
|
|
|
/* Convert from the fgFLIGHT struct to the LaRCsim generic_ struct */
|
1998-02-07 15:29:31 +00:00
|
|
|
int fgFlight_2_LaRCsim (fgFLIGHT *f);
|
1998-01-19 18:40:15 +00:00
|
|
|
|
|
|
|
/* Convert from the LaRCsim generic_ struct to the fgFLIGHT struct */
|
1998-02-07 15:29:31 +00:00
|
|
|
int fgLaRCsim_2_Flight (fgFLIGHT *f);
|
1998-01-19 18:40:15 +00:00
|
|
|
|
1998-02-03 23:20:08 +00:00
|
|
|
void ls_loop( SCALAR dt, int initialize );
|
1998-10-16 23:26:44 +00:00
|
|
|
#endif
|
1998-02-03 23:20:08 +00:00
|
|
|
|
1998-07-12 03:11:03 +00:00
|
|
|
/* Set the altitude (force) */
|
|
|
|
int ls_ForceAltitude(double alt_feet);
|
|
|
|
|
1997-05-29 00:09:51 +00:00
|
|
|
|
1998-01-19 19:26:51 +00:00
|
|
|
#endif /* _LS_INTERFACE_H */
|
1997-05-29 00:09:51 +00:00
|
|
|
|
|
|
|
|
1998-10-17 01:33:52 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
// $Log$
|
2000-04-10 20:09:40 +00:00
|
|
|
// Revision 1.2 2000/04/10 18:09:41 curt
|
|
|
|
// David Megginson made a few (mostly minor) mods to the LaRCsim files, and
|
|
|
|
// it's now possible to choose the LaRCsim model at runtime, as in
|
|
|
|
//
|
|
|
|
// fgfs --aircraft=c172
|
|
|
|
//
|
|
|
|
// or
|
|
|
|
//
|
|
|
|
// fgfs --aircraft=uiuc --aircraft-dir=Aircraft-uiuc/Boeing747
|
|
|
|
//
|
|
|
|
// I did this so that I could play with the UIUC stuff without losing
|
|
|
|
// Tony's C172 with its flaps, etc. I did my best to respect the design
|
|
|
|
// of the LaRCsim code by staying in C, making only minimal changes, and
|
|
|
|
// not introducing any dependencies on the rest of FlightGear. The
|
|
|
|
// modified files are attached.
|
|
|
|
//
|
|
|
|
// Revision 1.1.1.1 1999/06/17 18:07:33 curt
|
|
|
|
// Start of 0.7.x branch
|
1999-04-05 21:32:32 +00:00
|
|
|
//
|
1999-06-17 20:07:19 +00:00
|
|
|
// Revision 1.1.1.1 1999/04/05 21:32:45 curt
|
|
|
|
// Start of 0.6.x branch.
|
|
|
|
//
|
1998-10-17 01:33:52 +00:00
|
|
|
// Revision 1.11 1998/10/17 01:34:15 curt
|
|
|
|
// C++ ifying ...
|
|
|
|
//
|
|
|
|
// Revision 1.10 1998/10/16 23:27:45 curt
|
|
|
|
// C++-ifying.
|
|
|
|
//
|
|
|
|
// Revision 1.9 1998/07/12 03:11:04 curt
|
|
|
|
// Removed some printf()'s.
|
|
|
|
// Fixed the autopilot integration so it should be able to update it's control
|
|
|
|
// positions every time the internal flight model loop is run, and not just
|
|
|
|
// once per rendered frame.
|
|
|
|
// Added a routine to do the necessary stuff to force an arbitrary altitude
|
|
|
|
// change.
|
|
|
|
// Gave the Navion engine just a tad more power.
|
|
|
|
//
|
|
|
|
// Revision 1.8 1998/04/21 16:59:39 curt
|
|
|
|
// Integrated autopilot.
|
|
|
|
// Prepairing for C++ integration.
|
|
|
|
//
|
|
|
|
// Revision 1.7 1998/02/07 15:29:39 curt
|
|
|
|
// Incorporated HUD changes and struct/typedef changes from Charlie Hotchkiss
|
|
|
|
// <chotchkiss@namg.us.anritsu.com>
|
|
|
|
//
|
|
|
|
// Revision 1.6 1998/02/03 23:20:17 curt
|
|
|
|
// Lots of little tweaks to fix various consistency problems discovered by
|
|
|
|
// Solaris' CC. Fixed a bug in fg_debug.c with how the fgPrintf() wrapper
|
|
|
|
// passed arguments along to the real printf(). Also incorporated HUD changes
|
|
|
|
// by Michele America.
|
|
|
|
//
|
|
|
|
// Revision 1.5 1998/01/19 19:27:05 curt
|
|
|
|
// Merged in make system changes from Bob Kuehne <rpk@sgi.com>
|
|
|
|
// This should simplify things tremendously.
|
|
|
|
//
|
|
|
|
// Revision 1.4 1998/01/19 18:40:27 curt
|
|
|
|
// Tons of little changes to clean up the code and to remove fatal errors
|
|
|
|
// when building with the c++ compiler.
|
|
|
|
//
|
|
|
|
// Revision 1.3 1997/07/23 21:52:20 curt
|
|
|
|
// Put comments around the text after an #endif for increased portability.
|
|
|
|
//
|
|
|
|
// Revision 1.2 1997/05/29 22:39:59 curt
|
|
|
|
// Working on incorporating the LaRCsim flight model.
|
|
|
|
//
|
|
|
|
// Revision 1.1 1997/05/29 00:09:58 curt
|
|
|
|
// Initial Flight Gear revision.
|
|
|
|
//
|