如何添加新的sensor type
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
添加新的sensor type到android架构,和hwmsen架构中。
example:
4合1 sensor集成ALS,PS,Motion,Face detect等sensor功能,Motion和Face
detect功能Android不支持,需要添加这两个type到软件架构中。
Sensor的类型分别是Motion和Facedetect,sensor的name是motiondemo和facedetectdemo。
[SOLUTION]
Step1. sensor.java中添加type:
file:Sensor.java(php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks\base\core\java\android\hardware\)

file:current.txt(frameworks\base\api\)

Step2.hwmsen.h 中加入define:
file:
hwmsensor.h (mediatek\kernel\include\linux\)
hwmsensor.h (bionic\libc\kernel\common\linux\)
两个文件都要修改,而且定义值要和sensor.java中的相同

Step3.添加makefile中的宏定义:
file1:ProjectConfig.mk(mediatek\config\$(project)\)

file2:ProjectConfig.mk(mediatek\config\common\)

Step4.添加对应name的folder和driver文件:
注意以下的folder和file name的path和定义

Step5.添加custom sensor info:
file:hwmsen_chip_info.c(mediatek\hardware\sensor\hwmsen)

Step6.添加device code:
file: mt_devs.c(mediatek\platform\$(mt65xx)\kernel\core\)

Step7.添加对应的driver code:
file:motiondemo.c(mediatek\custom\common\kernel\motion\motiondemo)

同时请完成对应的operate函数,可以参考其他sensor的函数。
-------------start----step9在kk版本需要操作,在JB版本不需要操作-----------
---------------------------------
Step9.添加hal层code
——>file:hwmsen.h
这里添加sensortype

——>file:hwmsen.cpp

这里添加sensorEvent
(1)添加pendingEvent

(2)添加到enable列表中

(3)添加到setdelay列表中

(4)添加数据处理(上报几个数据由添加的sensor决定)

--------------end---step9在kk版本需要操作,在JB版本不需要操作-------------
-------------------------------
Step10.添加framework层调用代码:
file: demo.java(framework\base\core\java\android\view)
这里是自定义的客制化java函数文件。

重新new之后,可以通过log看是否添加sensor type成功。
添加新的sensor type到android架构,和hwmsen架构中。
example:
4合1 sensor集成ALS,PS,Motion,Face detect等sensor功能,Motion和Face
detect功能Android不支持,需要添加这两个type到软件架构中。
Sensor的类型分别是Motion和Facedetect,sensor的name是motiondemo和facedetectdemo。
[SOLUTION]
Step1. sensor.java中添加type:
file:Sensor.java(php?mod=tag&id=6090" target="_blank" class="relatedlink">Frameworks\base\core\java\android\hardware\)

file:current.txt(frameworks\base\api\)

Step2.hwmsen.h 中加入define:
file:
hwmsensor.h (mediatek\kernel\include\linux\)
hwmsensor.h (bionic\libc\kernel\common\linux\)
两个文件都要修改,而且定义值要和sensor.java中的相同

Step3.添加makefile中的宏定义:
file1:ProjectConfig.mk(mediatek\config\$(project)\)

file2:ProjectConfig.mk(mediatek\config\common\)

Step4.添加对应name的folder和driver文件:
注意以下的folder和file name的path和定义

Step5.添加custom sensor info:
file:hwmsen_chip_info.c(mediatek\hardware\sensor\hwmsen)

Step6.添加device code:
file: mt_devs.c(mediatek\platform\$(mt65xx)\kernel\core\)

Step7.添加对应的driver code:
file:motiondemo.c(mediatek\custom\common\kernel\motion\motiondemo)

同时请完成对应的operate函数,可以参考其他sensor的函数。
-------------start----step9在kk版本需要操作,在JB版本不需要操作-----------
---------------------------------
Step9.添加hal层code
——>file:hwmsen.h
这里添加sensortype

——>file:hwmsen.cpp

这里添加sensorEvent
(1)添加pendingEvent

(2)添加到enable列表中

(3)添加到setdelay列表中

(4)添加数据处理(上报几个数据由添加的sensor决定)

--------------end---step9在kk版本需要操作,在JB版本不需要操作-------------
-------------------------------
Step10.添加framework层调用代码:
file: demo.java(framework\base\core\java\android\view)
这里是自定义的客制化java函数文件。

重新new之后,可以通过log看是否添加sensor type成功。
谢谢分享
