ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / ARDroneLib / Soft / Lib / Maths / time.c
1 #include <Maths/time.h>
2
3 #ifndef _WIN32
4         #include <sys/time.h>
5 #else
6  \r
7  #include <sys/timeb.h>\r
8  //#include <Winsock2.h>  // dont include; already included and double inclusion is buggy\r
9 \r
10  int gettimeofday (struct timeval *tp, void *tz)\r
11  {\r
12          struct _timeb timebuffer;\r
13          _ftime (&timebuffer);\r
14          tp->tv_sec = (long)timebuffer.time;\r
15          tp->tv_usec = (long)timebuffer.millitm * 1000;\r
16          return 0;\r
17  }
18 #endif
19
20 float32_t time_in_ms_f(void)
21 {
22   float32_t time_milli_sec, f_sec, f_usec;
23
24   struct timeval  tv;
25
26   gettimeofday(&tv, NULL);
27
28   f_sec   = (float32_t)tv.tv_sec;
29   f_usec  = (float32_t)tv.tv_usec;
30
31   time_milli_sec = (float32_t)(1000.0f*f_sec + f_usec/1000.0f);
32
33   return time_milli_sec;
34 }