N900 light meter

The light meter lets the software on the N900 sense ambient light levels.

[edit] Hardware

The device is a TAOS TSL2563, now AMS TSL2563

[edit] Software

It is handled by the kernel module tsl2563.

The kernel driver exposes the lux value in the sysfs file

cat /sys/class/i2c-adapter/i2c-2/2-0029/lux
21

Under MeeGo it's available as

cat /sys/class/i2c-adapter/i2c-2/2-0029/device0/illuminance0_input

Under Maemo-Leste it is available as

/sys/class/i2c-adapter/i2c-2/2-0029/iio:device1/in_illuminance0_input

Note: please check! This might only be one of the two different spectral channels and thus yield vastly incorrect LUX values when massive IR light has impact on the sensor. The lux value of N900 is a derived value from an algorithm calculating visible lux from roughly a difference between the two sensor values the ALS provides

The TSL2562 and TSL2563 are second-generation ambient light sensor devices. Each contains two integrating analog-to-digital converters (ADC) that integrate currents from two photodiodes. Integration of both channels occurs simultaneously. Upon completion of the conversion cycle, the conversion result is transferred to the Channel 0 and Channel 1 data registers, respectively. 
The transfers are double-buffered to ensure that the integrity of the data is maintained. After the transfer, the device automatically s begins the next integration cycle.

diagram of spectral sensitivity channel0/1

Third party applications that use this sensor include Luxus Light Meter and photographic light meter.

The sensor is also used to modulate the backlight in response to ambient light, although this behaviour can be disabled.