1、Android sensor 框架描述
1.1、Android 支持的sensor 类型
1.2、Android sensor 系统架构
1.3、HAL 和Driver的工作流程
1.4 sensor 相关的代码
2、sensor 客制化
2.1 HAL 客制化
在alps\device\mediatek\$(proj)\ProjectConfig.mk中 配置对应的传感器为y
等效路径(kernel3.18\arch\arm64\configs\$(proj).deconfig)
example:
CONFIG_MTK_SENSOR_SUPPORT=y
CONFIG_CUSTOM_KERNEL_ACCELEROMETER=y
CONFIG_MTK_ICM20645G=y
CONFIG_CUSTOM_KERNEL_ALSPS=y
CONFIG_MTK_CM36558=y
CONFIG_CUSTOM_KERNEL_BAROMETER=y
CONFIG_MTK_BMP280=y
CONFIG_CUSTOM_KERNEL_GYROSCOPE=y
CONFIG_MTK_ICM20645GY=y
CONFIG_CUSTOM_KERNEL_HUMIDITY=y
sensor 参数描述
Accelerometer HAL 客制化
alps\vendor\mediatek\proprietary\hardware\sensor\sensors.c
Magnetic Sensor Daemon Configure
step1:
-----路径alps\metdiatek\$(platform)\init.$(platform).rc
-----增加daemon service in init.$(paltform).rc 和factory_init.project.rc
step2:
---配置编译路径编译 daemon device\mediatek\$(proj)\device.mk中
---增加 daemon 名到PRODUCT_PACKAGES
PRODUCT_PACKAGES+=akmd09911
---增加一个daemon
----路径 \vendor\mediatek\libs\$(proj)\
修改Android.mk的内容
step3 Magnetometer Selinux问题