]> git.mxchange.org Git - flightgear.git/blob - src/FDM/LaRCsim/ls_model.c
Added flap_deflection so that remote fdm can pass back actual flap deflection
[flightgear.git] / src / FDM / LaRCsim / ls_model.c
1 /***************************************************************************
2
3         TITLE:          ls_model()      
4         
5 ----------------------------------------------------------------------------
6
7         FUNCTION:       Model loop executive
8
9 ----------------------------------------------------------------------------
10
11         MODULE STATUS:  developmental
12
13 ----------------------------------------------------------------------------
14
15         GENEALOGY:      Created 15 October 1992 as part of LaRCSIM project
16                         by Bruce Jackson.
17
18 ----------------------------------------------------------------------------
19
20         DESIGNED BY:    Bruce Jackson
21         
22         CODED BY:       Bruce Jackson
23         
24         MAINTAINED BY:  maintainer
25
26 ----------------------------------------------------------------------------
27
28         MODIFICATION HISTORY:
29         
30         DATE    PURPOSE                                         BY
31
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
35                 is requested.                                   EBJ
36
37         CURRENT RCS HEADER INFO:
38 $Header$
39 $Log$
40 Revision 1.5  2002/04/01 19:37:34  curt
41 I have attached revisions to the UIUC code.  The revisions include the
42 ability to run a nonlinear model with flaps.  The files ls_model.c and
43 uiuc_aero.c were changed since we had some functions with the same
44 name.  The name changes doesn't affect the code, it just makes it a
45 little easier to read.  There are changes in LaRCsim.cxx so UIUC
46 models have engine sound.  Could you send me an email when you receive
47 this and/or when the changes make it to the CVS?  Thanks.
48
49 Also I noticed you have some outdated files that are no longer used in
50 the UIUCModel directory.  They are uiuc_initializemaps1.cpp,
51 uiuc_initializemaps2.cpp, uiuc_initializemaps3.cpp, and
52 uiuc_initializemaps4.cpp
53
54 Rob
55
56 Revision 1.4  2001/09/14 18:47:27  curt
57 More changes in support of UIUCModel.
58
59 Revision 1.3  2000/10/28 14:30:33  curt
60 Updates by Tony working on the FDM interface bus.
61
62 Revision 1.2  2000/04/10 18:09:41  curt
63 David Megginson made a few (mostly minor) mods to the LaRCsim files, and
64 it's now possible to choose the LaRCsim model at runtime, as in
65
66   fgfs --aircraft=c172
67
68 or
69
70   fgfs --aircraft=uiuc --aircraft-dir=Aircraft-uiuc/Boeing747
71
72 I did this so that I could play with the UIUC stuff without losing
73 Tony's C172 with its flaps, etc.  I did my best to respect the design
74 of the LaRCsim code by staying in C, making only minimal changes, and
75 not introducing any dependencies on the rest of FlightGear.  The
76 modified files are attached.
77
78 Revision 1.1.1.1  1999/06/17 18:07:33  curt
79 Start of 0.7.x branch
80
81 Revision 1.1.1.1  1999/04/05 21:32:45  curt
82 Start of 0.6.x branch.
83
84 Revision 1.3  1998/08/06 12:46:39  curt
85 Header change.
86
87 Revision 1.2  1998/01/19 18:40:27  curt
88 Tons of little changes to clean up the code and to remove fatal errors
89 when building with the c++ compiler.
90
91 Revision 1.1  1997/05/29 00:09:58  curt
92 Initial Flight Gear revision.
93
94  * Revision 1.3  1995/03/06  18:49:46  bjax
95  * Added dt and initialize flag parameters to subroutine calls. This will
96  * support trim routine (to allow single throttle setting to drive
97  * all four throttle positions, for example, if initialize is TRUE).
98  *
99  * Revision 1.2  1993/03/10  06:38:09  bjax
100  * Added additional calls: inertias() and subsystems()... EBJ
101  *
102  * Revision 1.1  92/12/30  13:19:08  bjax
103  * Initial revision
104  * 
105
106 ----------------------------------------------------------------------------
107
108         REFERENCES:
109
110 ----------------------------------------------------------------------------
111
112         CALLED BY:      ls_step (in initialization), ls_loop (planned)
113
114 ----------------------------------------------------------------------------
115
116         CALLS TO:       aero(), engine(), gear()
117
118 ----------------------------------------------------------------------------
119
120         INPUTS:
121
122 ----------------------------------------------------------------------------
123
124         OUTPUTS:
125
126 --------------------------------------------------------------------------*/
127 #include "ls_types.h"
128 #include "ls_model.h"
129 #include "default_model_routines.h"
130
131 Model current_model;
132
133
134 void ls_model( SCALAR dt, int Initialize ) {
135     switch (current_model) {
136     case NAVION:
137       inertias( dt, Initialize );
138       subsystems( dt, Initialize );
139       navion_aero( dt, Initialize );
140       navion_engine( dt, Initialize );
141       navion_gear( dt, Initialize );
142       break;
143     case C172:
144       if(Initialize < 0) c172_init();
145       inertias( dt, Initialize );
146       subsystems( dt, Initialize );
147       c172_aero( dt, Initialize );
148       c172_engine( dt, Initialize );
149       c172_gear( dt, Initialize );
150       break;
151     case CHEROKEE:
152       inertias( dt, Initialize );
153       subsystems( dt, Initialize );
154       cherokee_aero( dt, Initialize );
155       cherokee_engine( dt, Initialize );
156       cherokee_gear( dt, Initialize );
157       break;
158     case UIUC:
159       inertias( dt, Initialize );
160       subsystems( dt, Initialize );
161       uiuc_aero_2_wrapper( dt, Initialize );
162       uiuc_engine_2_wrapper( dt, Initialize );
163       uiuc_gear_2_wrapper( dt, Initialize );
164       //uiuc_network_2_wrapper();
165       uiuc_record_2_wrapper(dt);
166       break;
167     }
168 }