summaryrefslogtreecommitdiff
path: root/libsensors_iio/src/SWSensorBase.cpp
diff options
context:
space:
mode:
authorSaadi Maalem <saadi.maalem@intel.com>2015-10-16 21:12:53 +0200
committerZhengyin Qian <qianzy@google.com>2015-10-16 16:38:04 -0700
commitc4306755911e922ee72de7e8f159368538f0d94f (patch)
tree2900842db1c7aaabe4e6f850ecbd3ffd9ed28fda /libsensors_iio/src/SWSensorBase.cpp
parent7a7aa43b0166a2782fe3a4b5ce584e18d8057cbf (diff)
downloadsensors-c4306755911e922ee72de7e8f159368538f0d94f.tar.gz
sensor: sensor events timestamp out of expected range
fix sensor events timestamp out of expected range during CTS verifier test. Change-Id: I271505dfb480374949d57b997d08d618dde0bcc2 Tracked-On: https://jira.ndg.intel.com/browse/MARVIN-914 Signed-off-by: Baixing Tan <baixingx.tan@intel.com>
Diffstat (limited to 'libsensors_iio/src/SWSensorBase.cpp')
-rw-r--r--libsensors_iio/src/SWSensorBase.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/libsensors_iio/src/SWSensorBase.cpp b/libsensors_iio/src/SWSensorBase.cpp
index 0acd26d..e4db3c6 100644
--- a/libsensors_iio/src/SWSensorBase.cpp
+++ b/libsensors_iio/src/SWSensorBase.cpp
@@ -126,6 +126,8 @@ int SWSensorBaseWithPollrate::SetDelay(int handle, int64_t period_ns, int64_t ti
temp_real_pollrate = GetMinPeriod();
}
+ last_data_timestamp = GetTimestamp();
+
return 0;
}
@@ -136,13 +138,13 @@ void SWSensorBaseWithPollrate::WriteDataToPipe()
if (!GetStatusOfHandle(sensor_t_data.handle))
return;
- if (sensor_event.timestamp >= (last_data_timestamp + real_pollrate)) {
+ if (sensor_event.timestamp >= last_data_timestamp) {
err = write(android_pipe_fd, &sensor_event, sizeof(sensor_event));
if (err < 0) {
ALOGE("%s: Failed to write sensor data to pipe.", android_name);
return;
}
-
last_data_timestamp = sensor_event.timestamp;
- }
+ } else
+ ALOGE("Timestamp out of order, event from type=%d dropped", sensor_event.type);
}