]> git.mxchange.org Git - flightgear.git/blobdiff - src/FDM/LaRCsim/c172_gear.c
Improve timing statistics
[flightgear.git] / src / FDM / LaRCsim / c172_gear.c
index 408fc42fecfb9df298aa857567d7a7c036641d6f..f6473f99a001192bc929fc60aaf0d746fec1ae50 100644 (file)
 
 $Header$
 $Log$
+Revision 1.1  2002/09/10 01:14:01  curt
+Initial revision
+
+Revision 1.20  2001/07/30 20:53:54  curt
+Various MSVC tweaks and warning fixes.
+
+Revision 1.19  2001/03/02 21:37:01  curt
+Added a first pass at a C++ sound manager class.
+
+Revision 1.18  2000/12/13 22:02:02  curt
+MacOS changes contributed by Darrell Walisser (12/13/2000)
+
+Revision 1.17  2000/09/14 15:36:25  curt
+Tweaks to ground steering sensitivity.
+
 Revision 1.16  2000/09/13 19:51:09  curt
 MacOS changes by Darrell Walisser.
 
@@ -92,51 +107,51 @@ Updates from Tony.
 #define HEIGHT_AGL_WHEEL d_wheel_rwy_local_v[2]
 
 
-static sub3( DATA v1[],  DATA v2[], DATA result[] )
+static void sub3( DATA v1[],  DATA v2[], DATA result[] )
 {
     result[0] = v1[0] - v2[0];
     result[1] = v1[1] - v2[1];
     result[2] = v1[2] - v2[2];
 }
 
-static add3( DATA v1[],  DATA v2[], DATA result[] )
+static void add3( DATA v1[],  DATA v2[], DATA result[] )
 {
     result[0] = v1[0] + v2[0];
     result[1] = v1[1] + v2[1];
     result[2] = v1[2] + v2[2];
 }
 
-static cross3( DATA v1[],  DATA v2[], DATA result[] )
+static void cross3( DATA v1[],  DATA v2[], DATA result[] )
 {
     result[0] = v1[1]*v2[2] - v1[2]*v2[1];
     result[1] = v1[2]*v2[0] - v1[0]*v2[2];
     result[2] = v1[0]*v2[1] - v1[1]*v2[0];
 }
 
-static multtrans3x3by3( DATA m[][3], DATA v[], DATA result[] )
+static void multtrans3x3by3( DATA m[][3], DATA v[], DATA result[] )
 {
     result[0] = m[0][0]*v[0] + m[1][0]*v[1] + m[2][0]*v[2];
     result[1] = m[0][1]*v[0] + m[1][1]*v[1] + m[2][1]*v[2];
     result[2] = m[0][2]*v[0] + m[1][2]*v[1] + m[2][2]*v[2];
 }
 
-static mult3x3by3( DATA m[][3], DATA v[], DATA result[] )
+static void mult3x3by3( DATA m[][3], DATA v[], DATA result[] )
 {
     result[0] = m[0][0]*v[0] + m[0][1]*v[1] + m[0][2]*v[2];
     result[1] = m[1][0]*v[0] + m[1][1]*v[1] + m[1][2]*v[2];
     result[2] = m[2][0]*v[0] + m[2][1]*v[1] + m[2][2]*v[2];
 }
 
-static clear3( DATA v[] )
+static void clear3( DATA v[] )
 {
     v[0] = 0.; v[1] = 0.; v[2] = 0.;
 }
 
-c172_gear()
+void c172_gear()
 {
 char rcsid[] = "$Id$";
 #define NUM_WHEELS 4
-char gear_strings[NUM_WHEELS][12]={"nose","right main", "left main", "tail skid"};
+// char gear_strings[NUM_WHEELS][12]={"nose","right main", "left main", "tail skid"};
   /*
    * Aircraft specific initializations and data goes here
    */
@@ -150,8 +165,8 @@ char gear_strings[NUM_WHEELS][12]={"nose","right main", "left main", "tail skid"
        { -1.47, -3.58, 6.71 },        /*left main*/ 
        { -15.67, 0, 2.42 }            /*tail skid */
     };
-       static DATA gear_travel[NUM_WHEELS] = /*in Z-axis*/
-       { -0.5, 2.5, 2.5, 0};
+    // static DATA gear_travel[NUM_WHEELS] = /*in Z-axis*/
+           // { -0.5, 2.5, 2.5, 0};
     static DATA spring_constant[NUM_WHEELS] =      /* springiness, lbs/ft */
        { 1200., 900., 900., 10000. };
     static DATA spring_damping[NUM_WHEELS] =       /* damping, lbs/ft/sec */
@@ -199,12 +214,15 @@ char gear_strings[NUM_WHEELS][12]={"nose","right main", "left main", "tail skid"
     DATA d_wheel_cg_local_v[3];                /* wheel offset from cg,  N-E-D */
     DATA d_wheel_rwy_local_v[3];       /* wheel offset from rwy, N-E-U */
        DATA v_wheel_cg_local_v[3];    /*wheel velocity rel to cg N-E-D*/
-    DATA v_wheel_body_v[3];            /* wheel velocity,        X-Y-Z */
+    // DATA v_wheel_body_v[3];         /* wheel velocity,        X-Y-Z */
     DATA v_wheel_local_v[3];           /* wheel velocity,        N-E-D */
     DATA f_wheel_local_v[3];           /* wheel reaction force,  N-E-D */
-       DATA altitude_local_v[3];       /*altitude vector in local (N-E-D) i.e. (0,0,h)*/
-       DATA altitude_body_v[3];        /*altitude vector in body (X,Y,Z)*/
-    DATA temp3a[3], temp3b[3], tempF[3], tempM[3];     
+    // DATA altitude_local_v[3];       /*altitude vector in local (N-E-D) i.e. (0,0,h)*/
+    // DATA altitude_body_v[3];        /*altitude vector in body (X,Y,Z)*/
+    DATA temp3a[3];
+    // DATA temp3b[3];
+    DATA tempF[3];
+    DATA tempM[3];     
     DATA reaction_normal_force;                /* wheel normal (to rwy) force  */
     DATA cos_wheel_hdg_angle, sin_wheel_hdg_angle;     /* temp storage */
     DATA v_wheel_forward, v_wheel_sideward,  abs_v_wheel_sideward;
@@ -229,7 +247,8 @@ char gear_strings[NUM_WHEELS][12]={"nose","right main", "left main", "tail skid"
     percent_brake[1] = Brake_pct[0];
     percent_brake[2] = Brake_pct[1];
     
-    caster_angle_rad[0] = 0.03*Rudder_pedal;
+    caster_angle_rad[0] =
+       (0.01 + 0.04 * (1 - V_calibrated_kts / 130)) * Rudder_pedal;
     
     
        for (i=0;i<num_wheels;i++)          /* Loop for each wheel */
@@ -367,7 +386,7 @@ char gear_strings[NUM_WHEELS][12]={"nose","right main", "left main", "tail skid"
                        add3( tempM, M_gear_v, M_gear_v );   
 
 
-               }
+                       }