APS(4) | Device Drivers Manual | APS(4)

# NAME

`aps` — ThinkPad Active Protection System accelerometer

# SYNOPSIS

`aps0 at isa? port 0x1600`

# DESCRIPTION

The `aps` driver provides support for several sensors found in some ThinkPad laptops.

The sensors currently exposed via the envsys(4) interface are:

Sensor | Units | Typical Use
`x-acceleration` | integer | X-axis acceleration
`y-acceleration` | integer | Y-axis acceleration
`x-variable` | integer | Weighted X acceleration?
`y-variable` | integer | Weighted Y acceleration?
`temperature 1` | degC | Unknown temperature
`temperature 2` | degC | Unknown temperature
`keyboard active` | boolean | Keyboard activity
`mouse active` | boolean | Mouse activity
`lid open` | boolean | Lid state

# SEE ALSO

envsys(4), hpacel(4), thinkpad(4), envstat(8)

# HISTORY

The `aps` driver first appeared in OpenBSD 3.8 and was then ported to NetBSD 5.0.

# AUTHORS

The `aps` driver was written by Jonathan Gray <jsg@openbsd.org>.

# CAVEATS

Few issues can be mentioned.

- The `aps` driver does not maintain state and subsequently does not take evasive action when it thinks the hard drive is in danger. Possible actions would include spinning down the hard drive in case excessive tremor is detected by the sensors.
- The Y axis on X40 and possibly other models seems to be inverted. It is unknown how to distinguish between different versions of the accelerometer to compensate for this in the driver at this time.
- The sensor values are refreshed every 0.5 seconds. Because no protection measures are taken, this is unnecessary and may have a negative effect on battery life.
- As IBM provides no documentation, it is not known what all the available sensors are used for.

July 13, 2011 | NetBSD 10.99