]> git.mxchange.org Git - flightgear.git/commitdiff
Timer interval stuff now uses gettimeofday() instead of ftime()
authorcurt <curt>
Tue, 17 Jun 1997 16:51:58 +0000 (16:51 +0000)
committercurt <curt>
Tue, 17 Jun 1997 16:51:58 +0000 (16:51 +0000)
LaRCsim/Makefile
Main/GLmain.c
Time/fg_timer.c

index 5a7e137e7b399f814ab2c381d53d3cbdb38bed1f..418a76367fd376a1312b6b68590c27fbf412f40a 100644 (file)
@@ -8,7 +8,7 @@
 #---------------------------------------------------------------------------
 
 
-TARGET=libLaRCsim.a
+TARGET = libLaRCsim.a
 
 LaRCsimFILES = atmos_62.c ls_accel.c ls_aux.c ls_geodesy.c ls_gravity.c \
        ls_step.c ls_model.c default_model_routines.c ls_init.c ls_sync.c \
@@ -56,6 +56,9 @@ clean:
 
 #---------------------------------------------------------------------------
 # $Log$
+# Revision 1.2  1997/06/17 16:52:02  curt
+# Timer interval stuff now uses gettimeofday() instead of ftime()
+#
 # Revision 1.1  1997/05/29 00:09:52  curt
 # Initial Flight Gear revision.
 #
index d17c2f77c83700ed2178a8e23a938bd7c0c3f8fb..43a587879810115189062a81c270081aee7ccaaf 100644 (file)
 #define DEG_TO_RAD       0.017453292
 #define RAD_TO_DEG       57.29577951
 
+#ifndef PI2                                     
+#define PI2  (M_PI + M_PI)
+#endif                                                           
+
 /* This is a record containing all the info for the aircraft currently
    being operated */
 struct aircraft_params current_aircraft;
@@ -77,7 +81,7 @@ double goal_view_offset = 0.0;
 double Simtime;
 
 /* Another hack */
-int use_signals = 1;
+int use_signals = 0;
 
 
 /**************************************************************************
@@ -295,15 +299,15 @@ static void fgMainLoop( void ) {
     int elapsed, multi_loop;
 
     elapsed = fgGetTimeInterval();
-    /* printf("Time interval is = %d, previous remainder is = %d\n", elapsed, 
-          remainder); */
+    printf("Time interval is = %d, previous remainder is = %d\n", elapsed, 
+          remainder);
     printf("--> Frame rate is = %.2f\n", 1000.0 / (float)elapsed);
     elapsed += remainder;
 
     multi_loop = ((float)elapsed * 0.001) * DEFAULT_MODEL_HZ;
     remainder = elapsed - ((multi_loop*1000) / DEFAULT_MODEL_HZ);
-    /* printf("Model iterations needed = %d, new remainder = %d\n", multi_loop, 
-          remainder); */
+    printf("Model iterations needed = %d, new remainder = %d\n", multi_loop, 
+          remainder);
 
     aircraft_debug(1);
     fgUpdateVisuals();
@@ -475,9 +479,12 @@ int main( int argc, char *argv[] ) {
 
 
 /* $Log$
-/* Revision 1.16  1997/06/17 04:19:16  curt
-/* More timer related tweaks with respect to view direction changes.
+/* Revision 1.17  1997/06/17 16:51:58  curt
+/* Timer interval stuff now uses gettimeofday() instead of ftime()
 /*
+ * Revision 1.16  1997/06/17 04:19:16  curt
+ * More timer related tweaks with respect to view direction changes.
+ *
  * Revision 1.15  1997/06/17 03:41:10  curt
  * Nonsignal based interval timing is now working.
  * This would be a good time to look at cleaning up the code structure a bit.
index 5b478b78e52f0627c1917f559a1790ef16cbda4e..5e0c7a59a6cd3bbb09dccbbed83566364b320761 100644 (file)
@@ -26,8 +26,8 @@
 
 #include <signal.h>    /* for timer routines */
 #include <stdio.h>     /* for printf() */
-#include <time.h>      /* for get/setitimer */
-#include <sys/timeb.h> /* for ftime() and struct timeb */
+#include <sys/time.h>  /* for get/setitimer, gettimeofday, struct timeval */
+#include <unistd.h>
 
 
 #include "fg_timer.h"
@@ -82,20 +82,22 @@ void fgTimerInit(float dt, void (*f)()) {
 /* This function returns the number of milleseconds since the last
    time it was called. */
 int fgGetTimeInterval() {
-    static struct timeb last;
-    static struct timeb current;
+    static struct timeval last;
+    static struct timeval current;
+    static struct timezone tz;
     static int inited = 0;
 
     int interval;
 
     if ( ! inited ) {
        inited = 1;
-       ftime(&last);
+       gettimeofday(&last, &tz);
        interval = 0;
     } else {
-       ftime(&current);
-       interval = 1000 * (current.time - last.time) + 
-           (current.millitm - last.millitm);
+       gettimeofday(&current, &tz);
+       interval = 1000000 * (current.tv_sec - last.tv_sec) + 
+           (current.tv_usec - last.tv_usec);
+       interval /= 1000;  /* convert back to milleseconds */
        last = current;
     }
 
@@ -104,10 +106,13 @@ int fgGetTimeInterval() {
 
 
 /* $Log$
-/* Revision 1.2  1997/06/17 03:41:10  curt
-/* Nonsignal based interval timing is now working.
-/* This would be a good time to look at cleaning up the code structure a bit.
+/* Revision 1.3  1997/06/17 16:52:04  curt
+/* Timer interval stuff now uses gettimeofday() instead of ftime()
 /*
+ * Revision 1.2  1997/06/17 03:41:10  curt
+ * Nonsignal based interval timing is now working.
+ * This would be a good time to look at cleaning up the code structure a bit.
+ *
  * Revision 1.1  1997/06/16 19:24:20  curt
  * Initial revision.
  *