1f1b2bab50
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.
143 lines
4 KiB
C
143 lines
4 KiB
C
/***************************************************************************
|
|
|
|
TITLE: ls_model()
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
FUNCTION: Model loop executive
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
MODULE STATUS: developmental
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
GENEALOGY: Created 15 October 1992 as part of LaRCSIM project
|
|
by Bruce Jackson.
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
DESIGNED BY: Bruce Jackson
|
|
|
|
CODED BY: Bruce Jackson
|
|
|
|
MAINTAINED BY: maintainer
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
MODIFICATION HISTORY:
|
|
|
|
DATE PURPOSE BY
|
|
|
|
950306 Added parameters to call: dt, which is the step size
|
|
to be taken this loop (caution: may vary from call to call)
|
|
and Initialize, which if non-zero, implies an initialization
|
|
is requested. EBJ
|
|
|
|
CURRENT RCS HEADER INFO:
|
|
$Header$
|
|
$Log$
|
|
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
|
|
|
|
Revision 1.1.1.1 1999/04/05 21:32:45 curt
|
|
Start of 0.6.x branch.
|
|
|
|
Revision 1.3 1998/08/06 12:46:39 curt
|
|
Header change.
|
|
|
|
Revision 1.2 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.1 1997/05/29 00:09:58 curt
|
|
Initial Flight Gear revision.
|
|
|
|
* Revision 1.3 1995/03/06 18:49:46 bjax
|
|
* Added dt and initialize flag parameters to subroutine calls. This will
|
|
* support trim routine (to allow single throttle setting to drive
|
|
* all four throttle positions, for example, if initialize is TRUE).
|
|
*
|
|
* Revision 1.2 1993/03/10 06:38:09 bjax
|
|
* Added additional calls: inertias() and subsystems()... EBJ
|
|
*
|
|
* Revision 1.1 92/12/30 13:19:08 bjax
|
|
* Initial revision
|
|
*
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
REFERENCES:
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
CALLED BY: ls_step (in initialization), ls_loop (planned)
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
CALLS TO: aero(), engine(), gear()
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
INPUTS:
|
|
|
|
----------------------------------------------------------------------------
|
|
|
|
OUTPUTS:
|
|
|
|
--------------------------------------------------------------------------*/
|
|
#include "ls_types.h"
|
|
#include "ls_model.h"
|
|
#include "default_model_routines.h"
|
|
|
|
Model current_model;
|
|
|
|
|
|
void ls_model( SCALAR dt, int Initialize ) {
|
|
switch (current_model) {
|
|
case NAVION:
|
|
inertias( dt, Initialize );
|
|
subsystems( dt, Initialize );
|
|
navion_aero( dt, Initialize );
|
|
navion_engine( dt, Initialize );
|
|
navion_gear( dt, Initialize );
|
|
break;
|
|
case C172:
|
|
inertias( dt, Initialize );
|
|
subsystems( dt, Initialize );
|
|
c172_aero( dt, Initialize );
|
|
c172_engine( dt, Initialize );
|
|
c172_gear( dt, Initialize );
|
|
break;
|
|
case CHEROKEE:
|
|
inertias( dt, Initialize );
|
|
subsystems( dt, Initialize );
|
|
cherokee_aero( dt, Initialize );
|
|
cherokee_engine( dt, Initialize );
|
|
cherokee_gear( dt, Initialize );
|
|
break;
|
|
case UIUC:
|
|
inertias( dt, Initialize );
|
|
subsystems( dt, Initialize );
|
|
uiuc_aero( dt, Initialize );
|
|
uiuc_engine( dt, Initialize );
|
|
uiuc_gear( dt, Initialize );
|
|
break;
|
|
}
|
|
}
|