Question

I need read about 100 samples per second off the accelerometer on a Android, and at a fixed sample rate. The current sensormanager does or offers neither.

I've read Need to read android sensors really fast

He seems to have access to the driver code which made his life easier.

I am curious if anyone has been able to do something like this through the NDK w/o that type of knowledge.

Thanks in advance!

Was it helpful?

Solution

I have taken a look at sensor.h, and the API looks very promising; however, a little howto on how to deal with the ASensorEventQueue and ASensorEventQueue_hasEvents and so forth would be -extremely- useful.

Ha! Update:

This looks a code example for what you want to do.

http://developer.android.com/reference/android/app/NativeActivity.html

OTHER TIPS

Since Android SDK version 9 (for Android > 2.2) it seems to be possible to use the sensors via NDK.

See the STABLE_APIS.html file included in the docs. (Search for "sensor.h"). A mirror of that file is here.

Example from google https://github.com/googlesamples/android-ndk/tree/master/sensor-graph.Their code allow you controll SENSOR_REFRESH_RATE_HZ for the accelerometer.Written on c++ and connected to java code through the NDK.

Sensors can be read reading directly from system "files" like:

/sys/class/sensors/light_sensor/lux or /sys/class/sensors/light_sensor/raw_data

I wonder if there is a more direct way to do it, reading directly from the chip.

Like something in /dev/...

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top