blob: effe949a7282cccd600365bffe78dd70541b9aa3 [file] [log] [blame]
Pavel Machek455fbdd2008-11-12 13:27:02 -08001Kernel driver lis3lv02d
Pavel Machek2b872902009-03-31 15:24:25 -07002=======================
Pavel Machek455fbdd2008-11-12 13:27:02 -08003
4Supported chips:
5
6 * STMicroelectronics LIS3LV02DL and LIS3LV02DQ
7
Pavel Machek2b872902009-03-31 15:24:25 -07008Authors:
Pavel Machek455fbdd2008-11-12 13:27:02 -08009 Yan Burman <burman.yan@gmail.com>
10 Eric Piel <eric.piel@tremplin-utc.net>
11
12
13Description
14-----------
15
Pavel Machek219beb22009-01-15 13:51:24 -080016This driver provides support for the accelerometer found in various HP
17laptops sporting the feature officially called "HP Mobile Data
Pavel Machek2b872902009-03-31 15:24:25 -070018Protection System 3D" or "HP 3D DriveGuard". It detects automatically
Pavel Machek219beb22009-01-15 13:51:24 -080019laptops with this sensor. Known models (for now the HP 2133, nc6420,
20nc2510, nc8510, nc84x0, nw9440 and nx9420) will have their axis
21automatically oriented on standard way (eg: you can directly play
22neverball). The accelerometer data is readable via
Pavel Machek455fbdd2008-11-12 13:27:02 -080023/sys/devices/platform/lis3lv02d.
24
25Sysfs attributes under /sys/devices/platform/lis3lv02d/:
26position - 3D position that the accelerometer reports. Format: "(x,y,z)"
Pavel Machek219beb22009-01-15 13:51:24 -080027calibrate - read: values (x, y, z) that are used as the base for input
28 class device operation.
29 write: forces the base to be recalibrated with the current
Pavel Machek2b872902009-03-31 15:24:25 -070030 position.
Pavel Machek455fbdd2008-11-12 13:27:02 -080031rate - reports the sampling rate of the accelerometer device in HZ
32
33This driver also provides an absolute input class device, allowing
34the laptop to act as a pinball machine-esque joystick.
35
Pavel Machekef2cfc72009-02-18 14:48:23 -080036Another feature of the driver is misc device called "freefall" that
37acts similar to /dev/rtc and reacts on free-fall interrupts received
38from the device. It supports blocking operations, poll/select and
39fasync operation modes. You must read 1 bytes from the device. The
40result is number of free-fall interrupts since the last successful
41read (or 255 if number of interrupts would not fit).
42
43
Pavel Machek455fbdd2008-11-12 13:27:02 -080044Axes orientation
45----------------
46
47For better compatibility between the various laptops. The values reported by
48the accelerometer are converted into a "standard" organisation of the axes
49(aka "can play neverball out of the box"):
50 * When the laptop is horizontal the position reported is about 0 for X and Y
Pavel Machek2b872902009-03-31 15:24:25 -070051 and a positive value for Z
Pavel Machek455fbdd2008-11-12 13:27:02 -080052 * If the left side is elevated, X increases (becomes positive)
Pavel Machek219beb22009-01-15 13:51:24 -080053 * If the front side (where the touchpad is) is elevated, Y decreases
54 (becomes negative)
Pavel Machek455fbdd2008-11-12 13:27:02 -080055 * If the laptop is put upside-down, Z becomes negative
56
Pavel Machek219beb22009-01-15 13:51:24 -080057If your laptop model is not recognized (cf "dmesg"), you can send an
58email to the authors to add it to the database. When reporting a new
59laptop, please include the output of "dmidecode" plus the value of
60/sys/devices/platform/lis3lv02d/position in these four cases.
Pavel Machek455fbdd2008-11-12 13:27:02 -080061
Pavel Machek2b872902009-03-31 15:24:25 -070062Q&A
63---
64
65Q: How do I safely simulate freefall? I have an HP "portable
66workstation" which has about 3.5kg and a plastic case, so letting it
67fall to the ground is out of question...
68
69A: The sensor is pretty sensitive, so your hands can do it. Lift it
70into free space, follow the fall with your hands for like 10
71centimeters. That should be enough to trigger the detection.