summaryrefslogtreecommitdiff
path: root/libsensors_iio/src/SWSensorBase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libsensors_iio/src/SWSensorBase.cpp')
-rw-r--r--libsensors_iio/src/SWSensorBase.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/libsensors_iio/src/SWSensorBase.cpp b/libsensors_iio/src/SWSensorBase.cpp
index e4db3c6..0acd26d 100644
--- a/libsensors_iio/src/SWSensorBase.cpp
+++ b/libsensors_iio/src/SWSensorBase.cpp
@@ -126,8 +126,6 @@ int SWSensorBaseWithPollrate::SetDelay(int handle, int64_t period_ns, int64_t ti
temp_real_pollrate = GetMinPeriod();
}
- last_data_timestamp = GetTimestamp();
-
return 0;
}
@@ -138,13 +136,13 @@ void SWSensorBaseWithPollrate::WriteDataToPipe()
if (!GetStatusOfHandle(sensor_t_data.handle))
return;
- if (sensor_event.timestamp >= last_data_timestamp) {
+ if (sensor_event.timestamp >= (last_data_timestamp + real_pollrate)) {
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);
+ }
}