diff options
author | Ting Shen <phoenixshen@google.com> | 2019-08-21 20:07:20 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-09-17 14:53:52 +0000 |
commit | 4a0ad118628467805340d6ea4739b9669bd19ba2 (patch) | |
tree | 20da3165b9283354917c40f0443f0a6810d9f52b /board/kukui | |
parent | f92ed4041eee8da75801d2f9fc4197561c0a2656 (diff) | |
download | chrome-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.c | 16 |
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, |