# HG changeset patch # User diego # Date 1195637110 0 # Node ID 10a3f5b4ee2097d8ebc991a950a7e5038bd1c25c # Parent 531116b7693d31936d56b5081df35b08d0970ce1 Rename timer-lx.c --> timer-linux.c. diff -r 531116b7693d -r 10a3f5b4ee20 osdep/Makefile --- a/osdep/Makefile Wed Nov 21 09:22:33 2007 +0000 +++ b/osdep/Makefile Wed Nov 21 09:25:10 2007 +0000 @@ -14,7 +14,7 @@ SRCS_COMMON-$(NEED_VSSCANF) += vsscanf.c getch = getch2.c -timer = timer-lx.c +timer = timer-linux.c ifeq ($(TARGET_WIN32),yes) timer = timer-win2.c endif diff -r 531116b7693d -r 10a3f5b4ee20 osdep/timer-linux.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/osdep/timer-linux.c Wed Nov 21 09:25:10 2007 +0000 @@ -0,0 +1,74 @@ +// Precise timer routines for LINUX (C) LGB & A'rpi/ASTRAL + +#include +#ifdef __BEOS__ +#define usleep(t) snooze(t) +#endif +#include +#include +#include +#include "config.h" + +const char *timer_name = +#ifdef HAVE_NANOSLEEP + "nanosleep()"; +#else + "usleep()"; +#endif + +int usec_sleep(int usec_delay) +{ +#ifdef HAVE_NANOSLEEP + struct timespec ts; + ts.tv_sec = usec_delay / 1000000; + ts.tv_nsec = (usec_delay % 1000000) * 1000; + return nanosleep(&ts, NULL); +#else + return usleep(usec_delay); +#endif +} + +// Returns current time in microseconds +unsigned int GetTimer(void){ + struct timeval tv; +// float s; + gettimeofday(&tv,NULL); +// s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec; + return (tv.tv_sec*1000000+tv.tv_usec); +} + +// Returns current time in milliseconds +unsigned int GetTimerMS(void){ + struct timeval tv; +// float s; + gettimeofday(&tv,NULL); +// s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec; + return (tv.tv_sec*1000+tv.tv_usec/1000); +} + +static unsigned int RelativeTime=0; + +// Returns time spent between now and last call in seconds +float GetRelativeTime(void){ +unsigned int t,r; + t=GetTimer(); +// t*=16;printf("time=%ud\n",t); + r=t-RelativeTime; + RelativeTime=t; + return (float)r * 0.000001F; +} + +// Initialize timer, must be called at least once at start +void InitTimer(void){ + GetRelativeTime(); +} + + +#if 0 +void main(void){ + float t=0; + InitTimer(); + while(1){ t+=GetRelativeTime();printf("time= %10.6f\r",t);fflush(stdout); } +} +#endif + diff -r 531116b7693d -r 10a3f5b4ee20 osdep/timer-lx.c --- a/osdep/timer-lx.c Wed Nov 21 09:22:33 2007 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,74 +0,0 @@ -// Precise timer routines for LINUX (C) LGB & A'rpi/ASTRAL - -#include -#ifdef __BEOS__ -#define usleep(t) snooze(t) -#endif -#include -#include -#include -#include "config.h" - -const char *timer_name = -#ifdef HAVE_NANOSLEEP - "nanosleep()"; -#else - "usleep()"; -#endif - -int usec_sleep(int usec_delay) -{ -#ifdef HAVE_NANOSLEEP - struct timespec ts; - ts.tv_sec = usec_delay / 1000000; - ts.tv_nsec = (usec_delay % 1000000) * 1000; - return nanosleep(&ts, NULL); -#else - return usleep(usec_delay); -#endif -} - -// Returns current time in microseconds -unsigned int GetTimer(void){ - struct timeval tv; -// float s; - gettimeofday(&tv,NULL); -// s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec; - return (tv.tv_sec*1000000+tv.tv_usec); -} - -// Returns current time in milliseconds -unsigned int GetTimerMS(void){ - struct timeval tv; -// float s; - gettimeofday(&tv,NULL); -// s=tv.tv_usec;s*=0.000001;s+=tv.tv_sec; - return (tv.tv_sec*1000+tv.tv_usec/1000); -} - -static unsigned int RelativeTime=0; - -// Returns time spent between now and last call in seconds -float GetRelativeTime(void){ -unsigned int t,r; - t=GetTimer(); -// t*=16;printf("time=%ud\n",t); - r=t-RelativeTime; - RelativeTime=t; - return (float)r * 0.000001F; -} - -// Initialize timer, must be called at least once at start -void InitTimer(void){ - GetRelativeTime(); -} - - -#if 0 -void main(void){ - float t=0; - InitTimer(); - while(1){ t+=GetRelativeTime();printf("time= %10.6f\r",t);fflush(stdout); } -} -#endif -