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.1 2002/09/10 01:14:02 curt
43 Revision 1.5 2002/04/01 19:37:34 curt
44 I have attached revisions to the UIUC code. The revisions include the
45 ability to run a nonlinear model with flaps. The files ls_model.c and
46 uiuc_aero.c were changed since we had some functions with the same
47 name. The name changes doesn't affect the code, it just makes it a
48 little easier to read. There are changes in LaRCsim.cxx so UIUC
49 models have engine sound. Could you send me an email when you receive
50 this and/or when the changes make it to the CVS? Thanks.
52 Also I noticed you have some outdated files that are no longer used in
53 the UIUCModel directory. They are uiuc_initializemaps1.cpp,
54 uiuc_initializemaps2.cpp, uiuc_initializemaps3.cpp, and
55 uiuc_initializemaps4.cpp
59 Revision 1.4 2001/09/14 18:47:27 curt
60 More changes in support of UIUCModel.
62 Revision 1.3 2000/10/28 14:30:33 curt
63 Updates by Tony working on the FDM interface bus.
65 Revision 1.2 2000/04/10 18:09:41 curt
66 David Megginson made a few (mostly minor) mods to the LaRCsim files, and
67 it's now possible to choose the LaRCsim model at runtime, as in
73 fgfs --aircraft=uiuc --aircraft-dir=Aircraft-uiuc/Boeing747
75 I did this so that I could play with the UIUC stuff without losing
76 Tony's C172 with its flaps, etc. I did my best to respect the design
77 of the LaRCsim code by staying in C, making only minimal changes, and
78 not introducing any dependencies on the rest of FlightGear. The
79 modified files are attached.
81 Revision 1.1.1.1 1999/06/17 18:07:33 curt
84 Revision 1.1.1.1 1999/04/05 21:32:45 curt
85 Start of 0.6.x branch.
87 Revision 1.3 1998/08/06 12:46:39 curt
90 Revision 1.2 1998/01/19 18:40:27 curt
91 Tons of little changes to clean up the code and to remove fatal errors
92 when building with the c++ compiler.
94 Revision 1.1 1997/05/29 00:09:58 curt
95 Initial Flight Gear revision.
97 * Revision 1.3 1995/03/06 18:49:46 bjax
98 * Added dt and initialize flag parameters to subroutine calls. This will
99 * support trim routine (to allow single throttle setting to drive
100 * all four throttle positions, for example, if initialize is TRUE).
102 * Revision 1.2 1993/03/10 06:38:09 bjax
103 * Added additional calls: inertias() and subsystems()... EBJ
105 * Revision 1.1 92/12/30 13:19:08 bjax
109 ----------------------------------------------------------------------------
113 ----------------------------------------------------------------------------
115 CALLED BY: ls_step (in initialization), ls_loop (planned)
117 ----------------------------------------------------------------------------
119 CALLS TO: aero(), engine(), gear()
121 ----------------------------------------------------------------------------
125 ----------------------------------------------------------------------------
129 --------------------------------------------------------------------------*/
130 #include "ls_types.h"
131 #include "ls_model.h"
132 #include "default_model_routines.h"
137 void ls_model( SCALAR dt, int Initialize ) {
138 switch (current_model) {
140 inertias( dt, Initialize );
141 subsystems( dt, Initialize );
142 navion_aero( dt, Initialize );
143 navion_engine( dt, Initialize );
144 navion_gear( dt, Initialize );
147 if(Initialize < 0) c172_init();
148 inertias( dt, Initialize );
149 subsystems( dt, Initialize );
150 c172_aero( dt, Initialize );
151 c172_engine( dt, Initialize );
152 c172_gear( dt, Initialize );
155 inertias( dt, Initialize );
156 subsystems( dt, Initialize );
157 cherokee_aero( dt, Initialize );
158 cherokee_engine( dt, Initialize );
159 cherokee_gear( dt, Initialize );
162 inertias( dt, Initialize );
163 subsystems( dt, Initialize );
164 uiuc_aero_2_wrapper( dt, Initialize );
165 uiuc_engine_2_wrapper( dt, Initialize );
166 uiuc_gear_2_wrapper( dt, Initialize );
167 //uiuc_network_2_wrapper();
168 uiuc_record_2_wrapper(dt);