summaryrefslogtreecommitdiff
path: root/board/kukui
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2019-08-21 20:07:20 +0800
committerCommit Bot <commit-bot@chromium.org>2019-09-17 14:53:52 +0000
commit4a0ad118628467805340d6ea4739b9669bd19ba2 (patch)
tree20da3165b9283354917c40f0443f0a6810d9f52b /board/kukui
parentf92ed4041eee8da75801d2f9fc4197561c0a2656 (diff)
downloadchrome-ec-4a0ad118628467805340d6ea4739b9669bd19ba2.tar.gz
krane: als: add tcs3400 coefficients
Recent tcs3400 driver change requires board file to provide a conversion matrix to convert raw data into lux value. The coeffcients requires some complex step to measure (b:139366662), before the measurement is done, we need some non-precise value instead of the default zero matrix for functional test in next build. Based on the observation in b:135166710, I pick Y(lux) = C/10 in this CL. BUG=b:139366662 TEST=`cat /sys/bus/iio/devices/*/in_illuminance_input`, verify that the sensor readings is around 250 on my desk. (according to wikipedia, office lighting is around 320~500 lux, 250 is a little bit low, but good enough for ALS functional test) BRANCH=master Change-Id: I46cb417b919c40de6a81ce9254fcd2bcb51c0d5f Signed-off-by: Ting Shen <phoenixshen@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1763897 Tested-by: Ting Shen <phoenixshen@chromium.org> Reviewed-by: Yilun Lin <yllin@chromium.org> Commit-Queue: Sean Abraham <seanabraham@chromium.org>
Diffstat (limited to 'board/kukui')
-rw-r--r--board/kukui/board.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/board/kukui/board.c b/board/kukui/board.c
index b25bd3c07f..85e7de3db0 100644
--- a/board/kukui/board.c
+++ b/board/kukui/board.c
@@ -339,12 +339,20 @@ static struct als_drv_data_t g_tcs3400_data = {
};
static struct tcs3400_rgb_drv_data_t g_tcs3400_rgb_data = {
+ /*
+ * TODO(b:139366662): calculates the actual coefficients and scaling
+ * factors
+ */
.rgb_cal[X] = {
.offset = 0,
.scale = {
.k_channel_scale = ALS_CHANNEL_SCALE(1.0), /* kr */
.cover_scale = ALS_CHANNEL_SCALE(1.0)
},
+ .coeff[TCS_RED_COEFF_IDX] = FLOAT_TO_FP(0),
+ .coeff[TCS_GREEN_COEFF_IDX] = FLOAT_TO_FP(0),
+ .coeff[TCS_BLUE_COEFF_IDX] = FLOAT_TO_FP(0),
+ .coeff[TCS_CLEAR_COEFF_IDX] = FLOAT_TO_FP(0),
},
.rgb_cal[Y] = {
.offset = 0,
@@ -352,6 +360,10 @@ static struct tcs3400_rgb_drv_data_t g_tcs3400_rgb_data = {
.k_channel_scale = ALS_CHANNEL_SCALE(1.0), /* kg */
.cover_scale = ALS_CHANNEL_SCALE(1.0)
},
+ .coeff[TCS_RED_COEFF_IDX] = FLOAT_TO_FP(0),
+ .coeff[TCS_GREEN_COEFF_IDX] = FLOAT_TO_FP(0),
+ .coeff[TCS_BLUE_COEFF_IDX] = FLOAT_TO_FP(0),
+ .coeff[TCS_CLEAR_COEFF_IDX] = FLOAT_TO_FP(0.1),
},
.rgb_cal[Z] = {
.offset = 0,
@@ -359,6 +371,10 @@ static struct tcs3400_rgb_drv_data_t g_tcs3400_rgb_data = {
.k_channel_scale = ALS_CHANNEL_SCALE(1.0), /* kb */
.cover_scale = ALS_CHANNEL_SCALE(1.0)
},
+ .coeff[TCS_RED_COEFF_IDX] = FLOAT_TO_FP(0),
+ .coeff[TCS_GREEN_COEFF_IDX] = FLOAT_TO_FP(0),
+ .coeff[TCS_BLUE_COEFF_IDX] = FLOAT_TO_FP(0),
+ .coeff[TCS_CLEAR_COEFF_IDX] = FLOAT_TO_FP(0),
},
.saturation.again = TCS_DEFAULT_AGAIN,
.saturation.atime = TCS_DEFAULT_ATIME,