OPT4060 driver¶
1. Overview¶
This driver supports the Texas Instrument RGBW high resolution color sensor over I2C. https://www.ti.com/lit/gpn/opt4060
The driver supports: - Raw values for red, green, blue and clear. - Illuminance values. - Scaled color values for red, green and blue. - IIO events for thresholds. - IIO triggered buffer using both its own data ready trigger and triggers from other drivers.
2. Illuminance calculation¶
Illuminance is calculated using the wide spectrum green channel.
lux = GREEN_RAW x 2.15e-3
The value is accessed from: /sys/bus/iio/devices/iio:deviceX/in_illuminance_input
See section 8.4.5.2 in the data sheet for additional details.
3. Color scale values¶
The sensor has different sensitivity for the different color components and compensating factors are exposed from the driver.
The values are accessed from: /sys/bus/iio/devices/iio:deviceX/in_intensity_red_scale /sys/bus/iio/devices/iio:deviceX/in_intensity_green_scale /sys/bus/iio/devices/iio:deviceX/in_intensity_blue_scale
A userspace application can multiply the raw values with the scale values so that for a particular test light source, typically white, the measurement intensity is the same across the different color channels. This is calculated in the following way:
R = RED_RAW x SCALE_RED(2.4) G = GREEN_RAW x SCALE_GREEN(1.0) B = BLUE_RAW x SCALE_BLUE(1.3)
The data sheet suggests using the scaled values to normalize the scaled R, G and B values. This is useful to get a value for the ratio between colors independent of light intensity. A userspace application can do this in the following way:
R_NORMALIZED = R / (R + G + B) G_NORMALIZED = G / (R + G + B) B_NORMALIZED = B / (R + G + B)
See section 8.4.5.2 in the data sheet for additional details.