1 /***************************************************************************
5 ----------------------------------------------------------------------------
7 FUNCTION: Model loop executive
9 ----------------------------------------------------------------------------
11 MODULE STATUS: developmental
13 ----------------------------------------------------------------------------
15 GENEALOGY: Created 15 October 1992 as part of LaRCSIM project
18 ----------------------------------------------------------------------------
20 DESIGNED BY: Bruce Jackson
22 CODED BY: Bruce Jackson
24 MAINTAINED BY: maintainer
26 ----------------------------------------------------------------------------
32 950306 Added parameters to call: dt, which is the step size
33 to be taken this loop (caution: may vary from call to call)
34 and Initialize, which if non-zero, implies an initialization
37 CURRENT RCS HEADER INFO:
40 Revision 1.3 2000/10/28 14:30:33 curt
41 Updates by Tony working on the FDM interface bus.
43 Revision 1.2 2000/04/10 18:09:41 curt
44 David Megginson made a few (mostly minor) mods to the LaRCsim files, and
45 it's now possible to choose the LaRCsim model at runtime, as in
51 fgfs --aircraft=uiuc --aircraft-dir=Aircraft-uiuc/Boeing747
53 I did this so that I could play with the UIUC stuff without losing
54 Tony's C172 with its flaps, etc. I did my best to respect the design
55 of the LaRCsim code by staying in C, making only minimal changes, and
56 not introducing any dependencies on the rest of FlightGear. The
57 modified files are attached.
59 Revision 1.1.1.1 1999/06/17 18:07:33 curt
62 Revision 1.1.1.1 1999/04/05 21:32:45 curt
63 Start of 0.6.x branch.
65 Revision 1.3 1998/08/06 12:46:39 curt
68 Revision 1.2 1998/01/19 18:40:27 curt
69 Tons of little changes to clean up the code and to remove fatal errors
70 when building with the c++ compiler.
72 Revision 1.1 1997/05/29 00:09:58 curt
73 Initial Flight Gear revision.
75 * Revision 1.3 1995/03/06 18:49:46 bjax
76 * Added dt and initialize flag parameters to subroutine calls. This will
77 * support trim routine (to allow single throttle setting to drive
78 * all four throttle positions, for example, if initialize is TRUE).
80 * Revision 1.2 1993/03/10 06:38:09 bjax
81 * Added additional calls: inertias() and subsystems()... EBJ
83 * Revision 1.1 92/12/30 13:19:08 bjax
87 ----------------------------------------------------------------------------
91 ----------------------------------------------------------------------------
93 CALLED BY: ls_step (in initialization), ls_loop (planned)
95 ----------------------------------------------------------------------------
97 CALLS TO: aero(), engine(), gear()
99 ----------------------------------------------------------------------------
103 ----------------------------------------------------------------------------
107 --------------------------------------------------------------------------*/
108 #include "ls_types.h"
109 #include "ls_model.h"
110 #include "default_model_routines.h"
115 void ls_model( SCALAR dt, int Initialize ) {
116 switch (current_model) {
118 inertias( dt, Initialize );
119 subsystems( dt, Initialize );
120 navion_aero( dt, Initialize );
121 navion_engine( dt, Initialize );
122 navion_gear( dt, Initialize );
125 if(Initialize < 0) c172_init();
126 inertias( dt, Initialize );
127 subsystems( dt, Initialize );
128 c172_aero( dt, Initialize );
129 c172_engine( dt, Initialize );
130 c172_gear( dt, Initialize );
133 inertias( dt, Initialize );
134 subsystems( dt, Initialize );
135 cherokee_aero( dt, Initialize );
136 cherokee_engine( dt, Initialize );
137 cherokee_gear( dt, Initialize );
140 inertias( dt, Initialize );
141 subsystems( dt, Initialize );
142 uiuc_aero( dt, Initialize );
143 uiuc_engine( dt, Initialize );
144 uiuc_gear( dt, Initialize );