eeze/sensor: Fix fake module to set timestamp to microseconds since epoch.
authorStefan Schmidt <stefan@datenfreihafen.org>
Fri, 28 Sep 2012 09:10:47 +0000 (09:10 +0000)
committerStefan Schmidt <stefan@datenfreihafen.org>
Fri, 28 Sep 2012 09:10:47 +0000 (09:10 +0000)
Seconds is not really a suitable resolution for sensor data read outs. This
also aligns it with the tizen module and the public API.
The sleep is no longer needed in the test program either.

SVN revision: 77191

legacy/eeze/src/bin/eeze_sensor_test.c
legacy/eeze/src/modules/eeze_sensor_fake.c

index a996ef3..afc082a 100644 (file)
@@ -129,8 +129,6 @@ main(void)
    else
      printf("Could not find a light sensor!\n");
 
-   sleep(1);
-
    /* Get updated values on a sensor. Read out is synchronous */
    eeze_sensor_read(sens);
    if (!sens) printf("can't find an light sensor!\n");
index 194b5c5..0a45b67 100644 (file)
@@ -3,7 +3,7 @@
 #endif
 
 #include <stdio.h>
-#include <time.h>
+#include <sys/time.h>
 
 #include <Eina.h>
 #include <Ecore.h>
@@ -38,6 +38,7 @@ Eina_Bool
 fake_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
 {
    Eeze_Sensor_Obj *obj = NULL;
+   struct timeval tv;
 
    obj = eeze_sensor_obj_get(sensor_type);
    if (obj == NULL)
@@ -56,7 +57,8 @@ fake_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
         obj->data[0] = 7;
         obj->data[1] = 23;
         obj->data[2] = 42;
-        obj->timestamp = time(NULL);
+        gettimeofday(&tv, NULL);
+        obj->timestamp = ((tv.tv_sec * 1000000) + tv.tv_usec);
         break;
 
       case EEZE_SENSOR_TYPE_LIGHT:
@@ -65,7 +67,8 @@ fake_read(Eeze_Sensor_Type sensor_type, Eeze_Sensor_Obj *lobj)
       case EEZE_SENSOR_TYPE_TEMPERATURE:
         obj->accuracy = 0;
         obj->data[0] = 7;
-        obj->timestamp = time(NULL);
+        gettimeofday(&tv, NULL);
+        obj->timestamp = ((tv.tv_sec * 1000000) + tv.tv_usec);
         break;
 
       default:
@@ -82,6 +85,7 @@ Eina_Bool
 fake_async_read(Eeze_Sensor_Type sensor_type, void *user_data EINA_UNUSED)
 {
    Eeze_Sensor_Obj *obj = NULL;
+   struct timeval tv;
 
    obj = eeze_sensor_obj_get(sensor_type);
    if (obj == NULL)
@@ -101,7 +105,8 @@ fake_async_read(Eeze_Sensor_Type sensor_type, void *user_data EINA_UNUSED)
         obj->data[0] = 7;
         obj->data[1] = 23;
         obj->data[2] = 42;
-        obj->timestamp = time(NULL);
+        gettimeofday(&tv, NULL);
+        obj->timestamp = ((tv.tv_sec * 1000000) + tv.tv_usec);
         break;
 
       case EEZE_SENSOR_TYPE_LIGHT:
@@ -110,7 +115,8 @@ fake_async_read(Eeze_Sensor_Type sensor_type, void *user_data EINA_UNUSED)
       case EEZE_SENSOR_TYPE_TEMPERATURE:
         obj->accuracy = 0;
         obj->data[0] = 7;
-        obj->timestamp = time(NULL);
+        gettimeofday(&tv, NULL);
+        obj->timestamp = ((tv.tv_sec * 1000000) + tv.tv_usec);
         break;
 
       case EEZE_SENSOR_TYPE_MOTION_SNAP: