]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/LaRCsim/ls_model.c
Update VS2008 projects : use Boost 1.44.0 available in last 3rd Party archive
[flightgear.git] / src / FDM / LaRCsim / ls_model.c
index a9fcd706ff092c1d3216c3f272244e99ca211c09..591ea3aed842f19cd09f95c27f582753f2f7bbc0 100644 (file)
        CURRENT RCS HEADER INFO:
 $Header$
 $Log$
-Revision 1.1  1999/06/17 18:07:33  curt
-Initial revision
+Revision 1.5  2005/12/19 12:53:21  ehofman
+Vassilii Khachaturov:
+
+clean up some build warnings caught with gcc-4.0.
+
+Revision 1.4  2003/07/25 17:53:41  mselig
+UIUC code initilization mods to tidy things up a bit.
+
+Revision 1.3  2003/05/13 18:45:06  curt
+Robert Deters:
+
+  I have attached some revisions for the UIUCModel and some LaRCsim.
+  The only thing you should need to check is LaRCsim.cxx.  The file
+  I attached is a revised version of 1.5 and the latest is 1.7.  Also,
+  uiuc_getwind.c and uiuc_getwind.h are no longer in the LaRCsim
+  directory.  They have been moved over to UIUCModel.
+
+Revision 1.2  2003/03/31 03:05:41  m-selig
+uiuc wind changes, MSS
+
+Revision 1.1.1.1  2003/02/28 01:33:39  rob
+uiuc version of FlightGear v0.9.0
+
+Revision 1.3  2002/12/12 00:01:04  rob
+*** empty log message ***
+
+Revision 1.2  2002/10/22 21:06:49  rob
+*** empty log message ***
+
+Revision 1.2  2002/08/29 18:56:37  rob
+*** empty log message ***
+
+Revision 1.1.1.1  2002/04/24 17:08:23  rob
+UIUC version of FlightGear-0.7.pre11
+
+Revision 1.5  2002/04/01 19:37:34  curt
+I have attached revisions to the UIUC code.  The revisions include the
+ability to run a nonlinear model with flaps.  The files ls_model.c and
+uiuc_aero.c were changed since we had some functions with the same
+name.  The name changes doesn't affect the code, it just makes it a
+little easier to read.  There are changes in LaRCsim.cxx so UIUC
+models have engine sound.  Could you send me an email when you receive
+this and/or when the changes make it to the CVS?  Thanks.
+
+Also I noticed you have some outdated files that are no longer used in
+the UIUCModel directory.  They are uiuc_initializemaps1.cpp,
+uiuc_initializemaps2.cpp, uiuc_initializemaps3.cpp, and
+uiuc_initializemaps4.cpp
+
+Rob
+
+Revision 1.4  2001/09/14 18:47:27  curt
+More changes in support of UIUCModel.
+
+Revision 1.3  2000/10/28 14:30:33  curt
+Updates by Tony working on the FDM interface bus.
+
+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.
@@ -86,15 +159,63 @@ Initial Flight Gear revision.
        OUTPUTS:
 
 --------------------------------------------------------------------------*/
+#include <stdio.h>
+
 #include "ls_types.h"
 #include "ls_model.h"
 #include "default_model_routines.h"
 
+Model current_model;
+
 
 void ls_model( SCALAR dt, int Initialize ) {
-    inertias( dt, Initialize );
-    subsystems( dt, Initialize );
-    aero( dt, Initialize );
-    engine( dt, Initialize );
-    gear( dt, 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:
+      printf("here we are in C172 \n");
+      if(Initialize < 0) c172_init();
+      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 BASIC:
+      //      printf("here we are in BASIC \n");
+      if(Initialize < 0) basic_init();
+      printf("Initialize %d \n", Initialize);
+      inertias( dt, Initialize );
+      subsystems( dt, Initialize );
+      basic_aero( dt, Initialize );
+      basic_engine( dt, Initialize );
+      basic_gear( dt, Initialize );
+      break;
+    case UIUC:
+      inertias( dt, Initialize );
+      subsystems( dt, Initialize );
+      // During initialization period, re-initialize velocities
+      // and euler angles
+      if (Initialize !=0) uiuc_init_2_wrapper();
+      uiuc_network_recv_2_wrapper();
+      uiuc_engine_2_wrapper( dt, Initialize );
+      uiuc_wind_2_wrapper( dt, Initialize );
+      uiuc_aero_2_wrapper( dt, Initialize );
+      uiuc_gear_2_wrapper( dt, Initialize );
+      uiuc_network_send_2_wrapper();
+      uiuc_record_2_wrapper(dt);
+      break;
+    }
 }