APS(4)

NAME
aps - ThinkPad Active Protection System accelerometer

SYNOPSIS
To compile this driver into the kernel, place the following lines in your kernel configuration file:

device isa
device aps0 at isa? port 0x1600

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):

    aps_load="YES"

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

The sensors currently supported are:
Sensor | Units | Typical Use
X_ACCEL | Unknown | X Acceleration
Y_ACCEL | Unknown | Y Acceleration
X_VAR | Unknown | Weighted X Acceleration?
Y_VAR | Unknown | Weighted Y Acceleration?
Temp1 | uK | Unknown
Temp2 | uK | Unknown
Keyboard Active | boolean | Keyboard activity
Mouse Active | boolean | Mouse activity
Lid Open | boolean | Lid state

Sensor values are made available through the HW_SENSORS sysctl(3) interface, and can be monitored with the systat(1) sensors display, sensorsd(8) and sysctl(8) hw.sensors. For example, on a ThinkPad R51:

    %sysctl hw.sensors.aps0
    hw.sensors.aps0.raw0: 488 (X_ACCEL)
    hw.sensors.aps0.raw1: 481 (Y_ACCEL)
    hw.sensors.aps0.raw2: 488 (X_VAR)
    hw.sensors.aps0.raw3: 481 (Y_VAR)
    hw.sensors.aps0.temp0: 52.00 degC
    hw.sensors.aps0.temp1: 52.00 degC
    hw.sensors.aps0.indicator0: Off (Keyboard Active)
    hw.sensors.aps0.indicator1: Off (Mouse Active)
    hw.sensors.aps0.indicator2: On (Lid Open)

SEE ALSO
systat(1), sysctl(3), intro(4), isa(4), sensorsd(8), sysctl(8)

HISTORY
The aps driver first appeared in OpenBSD 3.8. DragonFly support was added in DragonFly 2.5.

AUTHORS
-nosplit The aps driver was written by Jonathan Gray <jsg@openbsd.org>. It was adapted to DragonFly by Constantine A. Murenin, University of Waterloo.

CAVEATS
The aps driver does not yet maintain state and subsequently does not take evasive action when it thinks the hard drive is in danger.

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.

As IBM provides no documentation, it is not known what all the available sensors are used for.