SE4710条码扫描头:
具体实施步骤:
1. 打开 vi~/mt6735/kernel-3.10/drivers/misc/se4750/se4750.c 添加读 se4710 ID 的代码
2.在 mt6735/vendor/mediatek/proprietary/custom/mt6735/hal/D1/sendepfeature/ 目录下新建一个 se4710_mipi_raw 文件夹,我选择直接复制 se4750_mipi_raw 文件夹,然后对里面的参数进行修改。
进入 config.ftbl.se4710_mipi_raw.h 文件下修改se4710采集图像的分辨率,1360*960 改为 1360*800
vi mt6735/vendor/mediatek/proprietary/custom/mt6735/hal/D1/sendepfeature/se4710_mipi_raw/config.ftbl.se4710_mipi_raw.h3. 添加se4710_mipi_raw文件,该文件包含:Makefile se4710mipi_Sensor.c se4710mipi_Sensor.h
在se4710mipi_Sensor.c中修改分辨率,将1360*960全部修改为1360*800。
在 Makefile 中添加 se4710mipi_Sensor.o
4. 在下列文件中添加 se4710_mipi_raw 文件,文件内容来源于 se4750_mipi_raw 的修改。
cd ~mt6573/vendor/mediatek/proprietary/custom/mt6735/hal/D1/imgsensor/se4710_mipi_raw
5. 进入kd_camera_hw.c 对控制 se4710 的电源的GPIO口进行配置,以及代码的适配。
vi~/mt6735/kernel-3.10/drivers/misc/mediatek/mach/mt6735/p6s_65u_l1/camera/camera/kd_camera_hw.c
6.进入 vi ~/mt6735/device/raindi/p6s_65u_l1/ ProjectConfig.mk 对se4710_mipi_raw文件,进行一些必要的关联。
同样打开vi ~/mt6735/kernel-3.10/arch/arm64/configs/p6s_65u_l1_defconfig
对se4710_mipi_raw文件,进行关联。这里p6s_65u_l1_defconfig修改比较特殊,需要打开使用menuconfig进行配置。
7.进入 vi ~/mt6735/kernel-3.10/drivers/misc/mediatek/imgsensor/inc/kd_imgsensor.h 对SENSOR_DRVNAME_SE4710_MIPI_RAW 进行定义
同理,进入vi ~/mt6735/vendor/mediatek/proprietary/custom/common/kernel/imgsensor/inc/kd_imgsensor.h
8. 进入 vi ~/mt6735/vendor/mediatek/proprietary/custom/mt6735/hal/D1/imgsensor_src/sensorlist.cpp
对se4710_mipi_raw 进行关联
9. 在makefile定义变量
vi ~/mt6735/device/raindi/p6s_65u_l1/device.mk
图中 $(findstring "$(CUSTOM_KERNEL_SUB_IMGSENSOR)","se4710_mipi_raw") 书写的ifneq 参考了以下规则。
$(findstring FIND,IN)
函数名称:查找字符串函数—findstring。
函数功能:搜索字串“IN”,查找“FIND”字串。
返回值:如果在“IN”之中存在“FIND”,则返回“FIND”,否则返回空。
函数说明:字串“IN”之中可以包含空格、[Tab]。搜索需要是严格的文本匹配。
10. 实现的效果