summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJongpil Jung <jongpil19.jung@samsung.corp-partner.google.com>2019-08-06 18:57:41 +0900
committerCommit Bot <commit-bot@chromium.org>2019-08-13 23:10:10 +0000
commit15abbd295bc127b6b2ad3cf2e1a2a65901a9dcc1 (patch)
tree7b928579af48d14fa104490d05dd04cdd05fff7f
parenteb0dbd82171e322621f8b43a0d73610ebffd4ac2 (diff)
downloadchrome-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>
-rw-r--r--driver/als_bh1730.c4
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;