From 430dd5e644fb5695848b587cb407d34704bb7ef0 Mon Sep 17 00:00:00 2001 From: Gwendal Grignou Date: Tue, 15 Nov 2016 12:52:48 -0800 Subject: [PATCH] reef: Add matrix for lid accelerometer. No matrix was set, the reported data by the accelerometer was not in the proper referential. BUG=chrome-os-partner:58792 BRANCH=none TEST=with ectool motionsense, check the data matches the standard. Change-Id: I25aa3a1774ba80f1a0f8a41adc976af832436c63 Signed-off-by: Gwendal Grignou Reviewed-on: https://chromium-review.googlesource.com/411358 Commit-Ready: Daisuke Nojiri Tested-by: Daisuke Nojiri Reviewed-by: David Hendricks Reviewed-by: Daisuke Nojiri --- board/reef/board.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/board/reef/board.c b/board/reef/board.c index 094a6c26c5..997664d3a1 100644 --- a/board/reef/board.c +++ b/board/reef/board.c @@ -734,6 +734,12 @@ static struct mutex g_lid_mutex; static struct mutex g_base_mutex; /* Matrix to rotate accelrator into standard reference frame */ +const matrix_3x3_t lid_standard_ref = { + { FLOAT_TO_FP(1), 0, 0}, + { 0, FLOAT_TO_FP(-1), 0}, + { 0, 0, FLOAT_TO_FP(-1)} +}; + const matrix_3x3_t base_standard_ref = { { 0, FLOAT_TO_FP(-1), 0}, { FLOAT_TO_FP(1), 0, 0}, @@ -762,7 +768,7 @@ struct motion_sensor_t motion_sensors[] = { .drv_data = &g_kx022_data, .port = I2C_PORT_LID_ACCEL, .addr = KX022_ADDR1, - .rot_standard_ref = NULL, /* Identity matrix. */ + .rot_standard_ref = &lid_standard_ref, .default_range = 2, /* g, enough for laptop. */ .config = { /* AP: by default use EC settings */