diff options
author | Mathias Agopian <mathias@google.com> | 2010-11-05 19:12:58 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2010-11-08 13:51:53 -0800 |
commit | 94c4f5c1b28344001bae5ac4ad22dd01dc2fd679 (patch) | |
tree | 4eae7c790ac46f9435bbb053a6dbe65d9ecc2f36 /services/sensorservice/tests | |
parent | 5fd3054048b41b033700be3f30e4bca69f4f13a6 (diff) | |
download | frameworks_base-94c4f5c1b28344001bae5ac4ad22dd01dc2fd679.zip frameworks_base-94c4f5c1b28344001bae5ac4ad22dd01dc2fd679.tar.gz frameworks_base-94c4f5c1b28344001bae5ac4ad22dd01dc2fd679.tar.bz2 |
improve sensorservice dumpsys and increase the max sensor rate to 1 ms (1000Hz)
the increased maximum rate is needed for proper gyro integration, current gyro
parts can sample at up to 800Hz
Change-Id: Ide75f6d5bc7a0fdafeb2dafd72db39e7afb9e794
Diffstat (limited to 'services/sensorservice/tests')
-rw-r--r-- | services/sensorservice/tests/sensorservicetest.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/services/sensorservice/tests/sensorservicetest.cpp b/services/sensorservice/tests/sensorservicetest.cpp index 42bf983..aea1062 100644 --- a/services/sensorservice/tests/sensorservicetest.cpp +++ b/services/sensorservice/tests/sensorservicetest.cpp @@ -27,15 +27,25 @@ int receiver(int fd, int events, void* data) sp<SensorEventQueue> q((SensorEventQueue*)data); ssize_t n; ASensorEvent buffer[8]; + + static nsecs_t oldTimeStamp = 0; + while ((n = q->read(buffer, 8)) > 0) { for (int i=0 ; i<n ; i++) { - if (buffer[i].type == Sensor::TYPE_ACCELEROMETER) { + if (buffer[i].type == Sensor::TYPE_GYROSCOPE) { printf("time=%lld, value=<%5.1f,%5.1f,%5.1f>\n", buffer[i].timestamp, buffer[i].acceleration.x, buffer[i].acceleration.y, buffer[i].acceleration.z); } + + if (oldTimeStamp) { + float t = float(buffer[i].timestamp - oldTimeStamp) / s2ns(1); + printf("%f ms (%f Hz)\n", t*1000, 1.0/t); + } + oldTimeStamp = buffer[i].timestamp; + } } if (n<0 && n != -EAGAIN) { @@ -56,7 +66,7 @@ int main(int argc, char** argv) sp<SensorEventQueue> q = mgr.createEventQueue(); printf("queue=%p\n", q.get()); - Sensor const* accelerometer = mgr.getDefaultSensor(Sensor::TYPE_ACCELEROMETER); + Sensor const* accelerometer = mgr.getDefaultSensor(Sensor::TYPE_GYROSCOPE); printf("accelerometer=%p (%s)\n", accelerometer, accelerometer->getName().string()); q->enableSensor(accelerometer); |