找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 26|回复: 1

[AD13][MT8766][sensor]非sensorhub点亮kernel sensor方法

[复制链接]

1

主题

2

帖子

17

积分

新手上路

Rank: 1

积分
17
 楼主| 发表于 2024-11-12 14:57:03 | 显示全部楼层 |阅读模式
本帖最后由 linhongyi 于 2024-11-12 15:29 编辑

背景:
福建魔方(以下叫"客户")需要点亮光感近距和重力传感器,只有没有走sensorhub框架的代码、也没有fae提供支持,需要从kernel点亮。
光感近距IC:rpr0521
重力IC:qma6100p

1. 先当普通模块点亮sensor到模块流程跑完
kernel sensor模块配置方法:http://my-wiki.agenew.cn:9090/document/index?document_id=445

此时会发现虽然流程跑完了,但是从测试app里还是没有数据,甚至光感、近距、加速度等测试项都未检测到传感器。

2. 关闭sensorhub的数据传递,修改方法:
(基本逻辑就是关闭对应sensor带HUB关键词的功能,包括NANOHUB,直接关闭scp的数据传递,scp的修改是顺便的)
  1. diff kernel-4.19/arch/arm/configs/AGN_H1503BP_ATA_TGO_defconfig

  2. CONFIG_MTK_SENSOR_SUPPORT=y
  3. #
  4. # GYROSCOPE
  5. #
  6. -CONFIG_CUSTOM_KERNEL_GYROSCOPE=y
  7. -CONFIG_MTK_GYROHUB=y
  8. +CONFIG_CUSTOM_KERNEL_GYROSCOPE=n
  9. +CONFIG_MTK_GYROHUB=n

  10. CONFIG_MTK_SENSOR_ARCHITECTURE="1.0"
  11. CONFIG_CUSTOM_KERNEL_ACCELEROMETER=y
  12. -CONFIG_MTK_ACCELHUB=y

  13. CONFIG_CUSTOM_KERNEL_ALSPS=y
  14. -CONFIG_MTK_ALSPSHUB=y
  15. +CONFIG_MTK_ACCELHUB=n
  16. +CONFIG_CUSTOM_KERNEL_ALS=n
  17. +CONFIG_MTK_ALSPSHUB=n

  18. CONFIG_CUSTOM_KERNEL_MAGNETOMETER=y
  19. -CONFIG_MTK_MAGHUB=y
  20. +CONFIG_MTK_MAGHUB=n
  21. CONFIG_MTK_HWMON=y
  22. # CONFIG_CUSTOM_KERNEL_BAROMETER=y
  23. # CONFIG_MTK_BAROHUB=y
  24. -CONFIG_CUSTOM_KERNEL_STEP_COUNTER=y
  25. -CONFIG_MTK_STEPSIGNHUB=y
  26. -CONFIG_CUSTOM_KERNEL_SITUATION=y
  27. -CONFIG_MTK_STATHUB=y
  28. -CONFIG_MTK_WAKEHUB=y
  29. -CONFIG_MTK_GLGHUB=y
  30. -CONFIG_MTK_PICKUPHUB=y
  31. -CONFIG_MTK_DEVICE_ORIENTATION_HUB=y
  32. -CONFIG_MTK_TILTDETECTHUB=y
  33. -CONFIG_CUSTOM_KERNEL_SENSORHUB=y
  34. +CONFIG_CUSTOM_KERNEL_STEP_COUNTER=n
  35. +CONFIG_MTK_STEPSIGNHUB=n
  36. +CONFIG_CUSTOM_KERNEL_SITUATION=n
  37. +CONFIG_MTK_STATHUB=n
  38. +CONFIG_MTK_WAKEHUB=n
  39. +CONFIG_MTK_GLGHUB=n
  40. +CONFIG_MTK_PICKUPHUB=n
  41. +CONFIG_MTK_DEVICE_ORIENTATION_HUB=n
  42. +CONFIG_MTK_TILTDETECTHUB=n
  43. +CONFIG_CUSTOM_KERNEL_SENSORHUB=n
  44. CONFIG_MTK_SENSORS_1_0=y
  45. -CONFIG_NANOHUB=y
  46. -CONFIG_NANOHUB_MTK_IPI=y
  47. -CONFIG_CUSTOM_KERNEL_SENSOR_FUSION=y
  48. -CONFIG_CUSTOM_KERNEL_GRV_SENSOR=y
  49. -CONFIG_CUSTOM_KERNEL_GMRV_SENSOR=y
  50. -CONFIG_CUSTOM_KERNEL_RV_SENSOR=y
  51. -CONFIG_CUSTOM_KERNEL_LINEARACCEL_SENSOR=y
  52. -CONFIG_CUSTOM_KERNEL_GRAVITY_SENSOR=y
  53. +CONFIG_NANOHUB=n
  54. +CONFIG_NANOHUB_MTK_IPI=n
  55. +CONFIG_CUSTOM_KERNEL_SENSOR_FUSION=n
  56. +CONFIG_CUSTOM_KERNEL_GRV_SENSOR=n
  57. +CONFIG_CUSTOM_KERNEL_GMRV_SENSOR=n
  58. +CONFIG_CUSTOM_KERNEL_RV_SENSOR=n
  59. +CONFIG_CUSTOM_KERNEL_LINEARACCEL_SENSOR=n
  60. +CONFIG_CUSTOM_KERNEL_GRAVITY_SENSOR=n
  61. CONFIG_CUSTOM_KERNEL_UNCALI_ACC_SENSOR=n
  62. CONFIG_CUSTOM_KERNEL_UNCALI_MAG_SENSOR=n
  63. -CONFIG_MTK_UNCALI_ACCHUB=y
  64. +CONFIG_MTK_UNCALI_ACCHUB=n
  65. CONFIG_MTK_CCCI_DEVICES=y
  66. CONFIG_MTK_MD1_SUPPORT=9
  67. CONFIG_MTK_ECCCI_DRIVER=y
复制代码
  1. diff  device/agenew/AGN_H1503BP_ATA_TGO/ProjectConfig.mk

  2. -CUSTOM_KERNEL_SENSORHUB = yes
  3. +CUSTOM_KERNEL_SENSORHUB = no
  4. CUSTOM_KERNEL_ACTIVITY_SENSOR = no
  5. CUSTOM_KERNEL_ACCELEROMETER = yes
  6. CUSTOM_KERNEL_ALSPS = yes

  7. -MTK_SENSOR_HUB_SUPPORT = yes
  8. +MTK_SENSOR_HUB_SUPPORT = no
  9. MTK_SENSOR_SUPPORT = yes
  10. MTK_SENSORS_1_0 = yes

  11. -AGN_MMITEST_GSENSORHUB_SUPPORT = yes
  12. +AGN_MMITEST_GSENSORHUB_SUPPORT = no

复制代码
  1. diff  vendor/mediatek/proprietary/tinysys/freertos/source/project/CM4_A/mt6765/AGN_H1503BP_ATA_TGO/ProjectConfig.mk

  2. @@ -14,14 +14,14 @@ CFG_MTK_VOW_SUPPORT = no

  3. -CFG_ALSPS_SUPPORT = yes
  4. +CFG_ALSPS_SUPPORT = no

  5. -CFG_MAGNETOMETER_SUPPORT = yes
  6. -CFG_MAG_CALIBRATION_IN_AP = yes
  7. +CFG_MAGNETOMETER_SUPPORT = no
  8. +CFG_MAG_CALIBRATION_IN_AP = no#yes

  9. -CFG_ACCGYRO_SUPPORT = yes
  10. +CFG_ACCGYRO_SUPPORT = no
复制代码
近距测试节点 /sys/class/sensor/m_ps_misc/psactive
类似还有加速度(重力)设备 /sys/class/sensor/m_acc_misc/

3. 备注:
-- 这个方法很明显是不能两种点亮方式同时进行的,sensorhub和非sensorhub只能二选一。光感点在kernel,重力点在scp,这种方法至少是不支持的(有点难以理解为什么TP的仿近距能在scp点亮的前提下完成了);
从mtk的回复看,去除手势相关的scp支持后,在非sensorhub点亮需要用到三方算法,谷歌的算法不一定可用,如果客户有需求还是尽量推荐走sensorhub框架
--  这个修改是关闭了陀螺仪CONFIG_CUSTOM_KERNEL_GYROSCOPE,只保留加速度传感器的,如有需要别改错。

回复

使用道具 举报

1

主题

2

帖子

17

积分

新手上路

Rank: 1

积分
17
 楼主| 发表于 2024-11-12 14:59:53 | 显示全部楼层
本帖最后由 linhongyi 于 2024-11-12 15:31 编辑

版本是kernel4.19,安卓13,MT8766
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|www.agenewtech.com

GMT+8, 2025-1-12 10:53 , Processed in 0.050761 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表