diff options
author | Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com> | 2021-08-20 10:01:08 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-08-20 09:15:03 +0000 |
commit | d63ba9739b77bece9e0be136dd256c89ce2fd688 (patch) | |
tree | 1f7a0434a4c9e48605b78f5ca98bc3e28e6b897b | |
parent | 625cf5c3726c259a7a218f800efb7ff3671a2850 (diff) | |
download | chrome-ec-d63ba9739b77bece9e0be136dd256c89ce2fd688.tar.gz |
hayato: Fix gyro sensor rotation mistake
Because rotation matrix will be overwritten by function
"update_rotation_matrix" when AP SW SYNC.
Modify update_rotation_matrix condition to fix it.
BUG=b:193752214
BRANCH=asurada
TEST=Run "watch ectool motionsense lid_angle"
Signed-off-by: Michael5 Chen1 <michael5_chen1@pegatron.corp-partner.google.com>
Change-Id: Ia39265ed7acc1f3cb2cbd2fa3971a8dc65362779
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3106633
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
-rw-r--r-- | board/asurada/board.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/board/asurada/board.c b/board/asurada/board.c index 52b3a1985f..ac77c9e3cd 100644 --- a/board/asurada/board.c +++ b/board/asurada/board.c @@ -53,6 +53,15 @@ static struct mutex g_lid_mutex; static struct bmi_drv_data_t g_bmi160_data; static struct stprivate_data g_lis2dwl_data; +static struct icm_drv_data_t g_icm426xx_data; + +enum base_accelgyro_type { + BASE_GYRO_NONE = 0, + BASE_GYRO_BMI160 = 1, + BASE_GYRO_ICM426XX = 2, +}; + +static enum base_accelgyro_type base_accelgyro_config; #ifdef BOARD_ASURADA_REV0 /* Matrix to rotate accelerometer into standard reference frame */ @@ -137,6 +146,9 @@ static const mat33_fp_t base_standard_ref = { static void update_rotation_matrix(void) { + if (base_accelgyro_config == BASE_GYRO_ICM426XX) + return; + if (board_get_version() >= 2) { motion_sensors[BASE_ACCEL].rot_standard_ref = &base_standard_ref; @@ -148,16 +160,6 @@ DECLARE_HOOK(HOOK_INIT, update_rotation_matrix, HOOK_PRIO_INIT_ADC + 2); #endif -static struct icm_drv_data_t g_icm426xx_data; - -enum base_accelgyro_type { - BASE_GYRO_NONE = 0, - BASE_GYRO_BMI160 = 1, - BASE_GYRO_ICM426XX = 2, -}; - -static enum base_accelgyro_type base_accelgyro_config; - struct motion_sensor_t icm426xx_base_accel = { .name = "Base Accel", .active_mask = SENSOR_ACTIVE_S0_S3, |