From 226ef4335acf81d63b118d38d1c0ce89000789f7 Mon Sep 17 00:00:00 2001 From: curt Date: Tue, 17 Jun 1997 16:51:58 +0000 Subject: [PATCH] Timer interval stuff now uses gettimeofday() instead of ftime() --- LaRCsim/Makefile | 5 ++++- Main/GLmain.c | 21 ++++++++++++++------- Time/fg_timer.c | 27 ++++++++++++++++----------- 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/LaRCsim/Makefile b/LaRCsim/Makefile index 5a7e137e7..418a76367 100644 --- a/LaRCsim/Makefile +++ b/LaRCsim/Makefile @@ -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. # diff --git a/Main/GLmain.c b/Main/GLmain.c index d17c2f77c..43a587879 100644 --- a/Main/GLmain.c +++ b/Main/GLmain.c @@ -46,6 +46,10 @@ #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. diff --git a/Time/fg_timer.c b/Time/fg_timer.c index 5b478b78e..5e0c7a59a 100644 --- a/Time/fg_timer.c +++ b/Time/fg_timer.c @@ -26,8 +26,8 @@ #include /* for timer routines */ #include /* for printf() */ -#include /* for get/setitimer */ -#include /* for ftime() and struct timeb */ +#include /* for get/setitimer, gettimeofday, struct timeval */ +#include #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(¤t); - interval = 1000 * (current.time - last.time) + - (current.millitm - last.millitm); + gettimeofday(¤t, &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. * -- 2.39.2