高通 P

您所在的位置:网站首页 高通9008端口驱动安装不上怎么办 高通 P

高通 P

2023-07-01 11:24| 来源: 网络整理| 查看: 265

阈值效果debug

        距离传感器调试基本没有太多工作量,主要根据整机来调整阈值,选择最合适的 P-Sensor 感应效果。高通平台sensor代码主要在modem侧,阈值设置是在AP侧,对应配置文件一般是:

vendor/qcom/proprietary/sensors-see/registry/config/device/bengal_epl_0.json

".ps":{ "owner": "sns_epl", ".fac_cal":{ "owner": "sns_epl", "near_threshold":{ "type": "flt", "ver": "2", "data": "1600.0" }, "far_threshold":{ "type": "flt", "ver": "2", "data": "1300.0" }, "ctir_config":{ "type": "flt", "ver": "0", "data": "0.0" } },

        near_threshold 值表示靠近阈值,far_threshold 表示远离阈值。遮挡物距离 P-sensor 越近,则数值越大。一般 far_threshold 和 near_threshold 需要预留一定间隔,避免遮挡物处于临界距离时,P-sensor 频繁的在遮挡(0)和无遮挡(5)两种状态切换。

         Debug时候需要注意:修改后可以手动push到设备,但需要手动清空旧文件,然后进行同步,步骤如下。

adb wait-for-device root adb wait-for-device remount adb shell rm /vendor/etc/sensors/config/bengal_epl* adb push bengal_epl_0.json /vendor/etc/sensors/config/ adb shell chmod 644 /vendor/etc/sensors/config/bengal_epl_0.json adb shell rm /mnt/vendor/persist/sensors/registry/registry/* adb shell sync adb reboot

        注:Debug 完成后,正式提交时,需要更新下 near_threshold/far_threshold 中ver值,进行 +1,否则由于这个配置值是被初始化保存在 persist 分区,而 persist 分区组装时是不更新的,不会重新初始化。如果文件版本号也不修改的情形下,系统不会重新加载配置,无法生效。

异常时抓取 Sensor log

        由于sensor主要代码都在BP侧,抓取kernel log意义不大,需要抓取QXDM log进行分析。QXDM 状态栏中选择 Tools - CFG File Generator 。只选择 SNS 过滤其他log。

 在过滤后的log中,搜索 epl_sensor 字段,找与PS相关日志进行分析。

SENSOR EXT/Error [sns_epl_sensor_instance_island.c 77] Received invalid event id=1025 SENSOR EXT/Low [sns_epl_sensor_instance_island.c 69] IRQ event! SENSOR EXT/High [sns_epl_hal_island.c 2070] [epl_get_data_dri]: xxxxxxxxxxxxxxxxx SENSOR EXT/High [sns_epl_hal_island.c 2071] [epl_get_data_dri]: enable_pflag=1, enable_lflag=0 SENSOR EXT/High [sns_epl_hal_island.c 1466] ps: ~~~~ PS ~~~~~ SENSOR EXT/High [sns_epl_hal_island.c 1467] ps: i2c_read_data = 0xf SENSOR EXT/High [sns_epl_hal_island.c 1470] ps: sat = 0x0 SENSOR EXT/High [sns_epl_hal_island.c 1471] ps: cmp h = 0x0, l = 0x8 SENSOR EXT/High [sns_epl_hal_island.c 1472] ps: int_flag = 0x4 SENSOR EXT/High [sns_epl_hal_island.c 1473] ps: cmp_rstn = 0x2, lock = 1 SENSOR EXT/High [sns_epl_hal_island.c 1474] [epl_sensor_read_ps]: data = 0 SENSOR EXT/High [sns_epl_hal_island.c 1475] [epl_sensor_read_ps]: ir data = 3351 SENSOR EXT/High [sns_epl_hal_island.c 1139] [set_psensor_intr_threshold] - rc=0, low_thd = 1200, high_thd = 1500 SENSOR EXT/High [sns_epl_hal_island.c 1704] [epl_sensor_ps_report]: ------------------- ps_status=1

         上面的log中。set_psensor_intr_threshold 表示bengal_epl_0中设置的阈值。epl_sensor_read_ps 中data值是当前实际传感器感应值,为0表示无遮挡物;ir data是红外灯的值,一般是一个固定范围值,如果偏差大,那可能是ir灯有问题。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3