[Android][sensor][motion\stationary]动静传感器原理,以及更改机器对motion事件的灵敏度

欧阳楚
2023-12-01

动静传感器原理

motion detect sensor (使用acc)监测运动。
stationary detect sensor (使用acc)监测静止。

当上层对motion detect sensor 进行注册监听时,motion detect sensor将向AMD发送运动事件,AMD向acc驱动发送请求,以请求传感器数据,AMD使用这些数据变化来了解设备是否处于motion状态(AMD过滤掉那些小于指定阈值的数据,若acc数据变化超过指定阈值时,即判定为motion状态),如果是,AMD将向motion detect sensor和计步器(高通原生软计步器)分别发送事件。

motion detect sensor将上报至注册监听它的上层服务;
计步器开始运行计步算法,以确定它是否有效的步行步长。

静止传感器类似。

更改机器对motion事件的灵敏度

方法一

更改acc驱动器中检测motion的灵敏度(联系传感器供应商)

方法二

更改AMD阈值(参考vendor/qcom/proprietary/sensors-see/registry/config/common/sns_amd.json, increase param1)

值增加时(值的单位为 m / s 2 m/s^2 m/s2),设备对motion事件的敏感度将降低。

 类似资料: