diff options
author | Jongpil Jung <jongpil19.jung@samsung.corp-partner.google.com> | 2019-08-06 18:57:41 +0900 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-08-13 23:10:10 +0000 |
commit | 15abbd295bc127b6b2ad3cf2e1a2a65901a9dcc1 (patch) | |
tree | 7b928579af48d14fa104490d05dd04cdd05fff7f /driver | |
parent | eb0dbd82171e322621f8b43a0d73610ebffd4ac2 (diff) | |
download | chrome-ec-15abbd295bc127b6b2ad3cf2e1a2a65901a9dcc1.tar.gz |
motion: bh1730: use 1K scale for d1_1k/d0_1k
To use integer instead of float, we use d1_1k/d0_1k instead of d1/d0.
But when we devide value, d1_1k/d0_1k is not 1k base.
So, before we use value, we need to multiply value by 1K.
BUG=b:130835790
BRANCH=none
TEST=make -j BOARD=kohaku
flash ec.bin on kokaku and read lux with ectool motionsense
Change-Id: If4e6abae43b4d296007680452f0584366825ad1e
Signed-off-by: Jongpil Jung <jongpil19.jung@samsung.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1739028
Tested-by: Philip Chen <philipchen@chromium.org>
Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
Reviewed-by: Philip Chen <philipchen@chromium.org>
Commit-Queue: Philip Chen <philipchen@chromium.org>
Diffstat (limited to 'driver')
-rw-r--r-- | driver/als_bh1730.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/driver/als_bh1730.c b/driver/als_bh1730.c index 9480b4c5f0..872fdaa012 100644 --- a/driver/als_bh1730.c +++ b/driver/als_bh1730.c @@ -24,11 +24,13 @@ static int bh1730_convert_to_lux(uint32_t data0_1) uint16_t data1 = data0_1 >> 16; uint32_t d0_1k = data0 * 1000; uint32_t d1_1k = data1 * 1000; - uint32_t d_temp = d1_1k / d0_1k; + uint32_t d_temp; uint32_t d_lux; if (data0 == 0) return 0; + else + d_temp = d1_1k / data0; if(d_temp < BH1730_LUXTH1_1K) { d0_1k = BH1730_LUXTH1_D0_1K * data0; |