我需要以固定的采样率从 Android 上的加速度计上每秒读取大约 100 个样本。当前的传感器管理器既不提供也不提供。
他似乎可以访问使他的生活更轻松的驱动程序代码。
我很好奇是否有人能够在没有那种知识的情况下通过 NDK 做这样的事情。
提前致谢!
我需要以固定的采样率从 Android 上的加速度计上每秒读取大约 100 个样本。当前的传感器管理器既不提供也不提供。
他似乎可以访问使他的生活更轻松的驱动程序代码。
我很好奇是否有人能够在没有那种知识的情况下通过 NDK 做这样的事情。
提前致谢!
我查看了 sensor.h,API 看起来很有前途;但是,关于如何处理 ASensorEventQueue 和 ASensorEventQueue_hasEvents 等的一点方法将非常有用。
哈!更新:
这看起来是您想要做的代码示例。
http://developer.android.com/reference/android/app/NativeActivity.html
由于 Android SDK 版本 9(适用于 Android > 2.2),似乎可以通过 NDK 使用传感器。
请参阅文档中包含的 STABLE_APIS.html 文件。(搜索“sensor.h”)。该文件的镜像在这里。
来自谷歌https://github.com/googlesamples/android-ndk/tree/master/sensor-graph的示例。他们的代码允许您控制加速度计的 SENSOR_REFRESH_RATE_HZ。写在 c++ 上并通过 NDK 连接到 java 代码。
传感器可以直接从系统“文件”中读取,例如:
/sys/class/sensors/light_sensor/lux 或 /sys/class/sensors/light_sensor/raw_data
我想知道是否有更直接的方法可以做到这一点,直接从芯片中读取。
就像 /dev/...