内核驱动 lis3lv02d

支持的芯片

  • STMicroelectronics LIS3LV02DL, LIS3LV02DQ (12 位精度)

  • STMicroelectronics LIS302DL, LIS3L02DQ, LIS331DL (8 位) 和 LIS331DLH (16 位)

作者

描述

此驱动程序为各种惠普笔记本电脑中发现的加速度计提供支持,该功能正式称为“HP Mobile Data Protection System 3D”或“HP 3D DriveGuard”。它会自动检测具有此传感器的笔记本电脑。已知的型号(完整列表可以在 drivers/platform/x86/hp_accel.c 中找到)将自动将其轴定向到标准方式(例如:您可以直接玩 neverball)。加速度计数据可以通过 /sys/devices/faux/lis3lv02d 读取。报告的值被缩放到 mg 值(地球重力的 1/1000)。

/sys/devices/faux/lis3lv02d/ 下的 Sysfs 属性

位置
  • 加速度计报告的 3D 位置。格式:“(x,y,z)”

速率
  • 读操作报告加速度计设备的采样率,单位为 HZ。写操作更改加速度计设备的采样率。只接受硬件支持的值。

自检
  • 按照芯片制造商的规定对芯片执行自检。

此驱动程序还提供了一个绝对输入类设备,允许笔记本电脑充当弹球机式的操纵杆。可以校准操纵杆设备。操纵杆设备可以处于两种不同的模式。默认情况下,输出值缩放到 -32768 .. 32767 之间。在操纵杆原始模式下,操纵杆和 sysfs 位置条目具有相同的比例。由于输入系统的模糊性功能,可能存在很小的差异。事件也可以作为输入事件设备使用。

自检仅用于硬件诊断目的。不应在正常操作期间使用。在自检期间位置数据不会损坏,但不保证中断行为能够可靠地工作。在测试模式下,传感元件会在内部稍微移动一点。自检测量正常模式和测试模式之间的差异。芯片规格说明了每种芯片类型的验收限制。限制通过平台数据提供,以便在不更改实际驱动程序的情况下调整限制。自测试返回“OK x y z”或“FAIL x y z”,其中 x、y 和 z 是模式之间的测量差异。轴在自检模式下不会重新映射。提供测量值以帮助 HW 诊断应用程序做出最终决定。

在 HP 笔记本电脑上,如果激活了 LED 基础设施,将提供对指示磁盘保护的 LED 的支持,如 /sys/class/leds/hp::hddprotect。

驱动程序的另一个功能是名为“freefall”的 misc 设备,其行为类似于 /dev/rtc,并对从设备接收到的自由落体中断做出反应。它支持阻塞操作、poll/select 和 fasync 操作模式。您必须从设备读取 1 个字节。结果是自上次成功读取以来自由落体中断的数量(如果中断数量不适合,则为 255)。有关使用该设备的示例,请参见 freefall.c 文件。

轴方向

为了更好地兼容各种笔记本电脑,加速度计报告的值被转换为轴的“标准”组织(也称为“可以开箱即用玩 neverball”)

  • 当笔记本电脑水平放置时,X 和 Y 报告的位置约为 0,而 Z 为正值

  • 如果左侧升高,X 会增加(变为正值)

  • 如果正面(触摸板所在的位置)升高,Y 会减小(变为负值)

  • 如果笔记本电脑倒置,Z 变为负值

如果您的笔记本电脑型号未被识别(参见“dmesg”),您可以发送电子邮件给维护者以将其添加到数据库中。报告新笔记本电脑时,请包括 “dmidecode” 的输出以及在以下四种情况下 /sys/devices/faux/lis3lv02d/position 的值。

问答

问:如何安全地模拟自由落体?我有一台 HP “便携式工作站”,重约 3.5 公斤,外壳是塑料的,所以让它掉到地上是不可能的...

答:传感器非常灵敏,所以你的双手可以做到。将其抬到自由空间中,用你的双手跟随下落大约 10 厘米。这应该足以触发检测。