大部分的实体sensor(也称为物理sensor)并不直接被上层apk进行调用,而是经由其他虚拟sensor进行数据的处理、封装之后再发给上层。
常见的虚拟sensor有:计步器、心率检测、翻转手势、抬腕亮屏、落腕灭屏、状态识别、通话灭屏、防误触等。
有时候也会应上层算法进行适配,来添加一些虚拟sensor,比如运动状态的识别、跌倒检测、车祸检测等。
虚拟sensor bring up流程
1 bp侧添加虚拟sensor驱动
在adsp_proc/ssc/sensors/中添加虚拟sensor驱动。
2 bp侧添加.proto协议文件
在adsp_proc/ssc_api/pb/里添加.proto协议文件
3 bp侧修改编译文件
在adsp_proc/ssc/chipset /xxx/por.py 文件里添加虚拟sensor名称(.scons文件名即为bp侧虚拟sensor名称)
4 ap侧添加.proto协议文件
在vendor/qcom/proprietary/commonsys-intf/sensors-see/ssc/proto/添加.proto协议文件
5 ap侧添加.cpp文件
在vendor/qcom/proprietary/sensors-see/sensors-hal/sensors/添加.cpp文件。(.cpp文件名即为ap侧虚拟sensor名)
6.在ap侧添加配置
在vendor/qcom/proprietary/sensors-see/sensors-hal/framework/sensors_qti.h 添加sensor type
在

本文详细阐述了从底层传感器驱动到上层应用适配的虚拟传感器开发流程,包括在ADSP_PROC中添加驱动、定义.proto协议、修改编译文件,再到AP侧的协议添加、文件编写和配置调整。重点介绍了如何配合算法实现运动状态识别、跌倒检测等功能的适配过程。
最低0.47元/天 解锁文章
1427

被折叠的 条评论
为什么被折叠?



