因此,Android JAVA SDK 提供了进行传感器融合的规定。它可以结合陀螺仪和加速度计读数来生成可靠的重力矢量。这在 API 中以传感器类型TYPE_GRAVITY 公开。
现在,NDK 也支持传感器,例如,这里有一个示例 NDK 应用程序,它以 60Hz 读取加速度计:NativeActivity 示例源
但是,从sensor.h 源代码来看,NDK 只允许我生成以下传感器类型:
- 加速度计
- 磁场
- 陀螺仪
- 光
- 接近
所以示例代码使用了 ASENSOR_TYPE_ACCELEROMETER。可悲的是,没有 ASENSOR_TYPE_GRAVITY。这仅仅是 NDK 只做 SDK API 的准系统子集的一个例子吗?
如何在 Android NDK 上进行传感器融合?我想避免从 Java 中引入值,因为在 Java 中进行高频读取时,我已经阅读了有关 CPU 使用过多的警告。
谢谢你。