mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-14 00:26:30 +00:00
nocturne: Fix accel/gyro reference.
The BMI160 driver requires that the macro I2C_PORT_ACCEL is defined. This commit simply defines that macro and defines a matrix to rotate the sensor data into the standard frame. BUG=b:79715267 BRANCH=master TEST=Flash nocturne, verify that the BMI160 initializes successfully. Verify that when device is struck from the left edge, positive acceleration is seen on the X axis. When device is struck from the bottom edge, positive acceleration is seen on Y axis. Change-Id: I6407b21fdfe311fa8ac7d83a8050ebfb27b4e0d8 Signed-off-by: Aseda Aboagye <aaboagye@google.com> Reviewed-on: https://chromium-review.googlesource.com/1059535 Commit-Ready: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
9be407f10e
commit
1d114ffa3c
@@ -155,6 +155,12 @@ static struct opt3001_drv_data_t g_opt3001_data = {
|
||||
.offset = 0,
|
||||
};
|
||||
|
||||
/* Matrix to rotate accel/gyro into standard reference frame. */
|
||||
const matrix_3x3_t lid_standard_ref = {
|
||||
{ 0, FLOAT_TO_FP(-1), 0},
|
||||
{ FLOAT_TO_FP(-1), 0, 0},
|
||||
{ 0, 0, FLOAT_TO_FP(1)}
|
||||
};
|
||||
|
||||
struct motion_sensor_t motion_sensors[] = {
|
||||
[LID_ACCEL] = {
|
||||
@@ -168,7 +174,7 @@ struct motion_sensor_t motion_sensors[] = {
|
||||
.drv_data = &g_bmi160_data,
|
||||
.port = I2C_PORT_ALS_GYRO,
|
||||
.addr = BMI160_ADDR0,
|
||||
.rot_standard_ref = NULL,
|
||||
.rot_standard_ref = &lid_standard_ref,
|
||||
.default_range = 4, /* g, enough for laptop. */
|
||||
.min_frequency = BMI160_ACCEL_MIN_FREQ,
|
||||
.max_frequency = BMI160_ACCEL_MAX_FREQ,
|
||||
@@ -192,7 +198,7 @@ struct motion_sensor_t motion_sensors[] = {
|
||||
.drv_data = &g_bmi160_data,
|
||||
.port = I2C_PORT_ALS_GYRO,
|
||||
.addr = BMI160_ADDR0,
|
||||
.rot_standard_ref = NULL,
|
||||
.rot_standard_ref = &lid_standard_ref,
|
||||
.default_range = 1000, /* dps */
|
||||
.min_frequency = BMI160_GYRO_MIN_FREQ,
|
||||
.max_frequency = BMI160_GYRO_MAX_FREQ,
|
||||
|
||||
@@ -146,6 +146,7 @@
|
||||
#define I2C_PORT_POWER NPCX_I2C_PORT0_0
|
||||
#define I2C_PORT_BATTERY NPCX_I2C_PORT4_1
|
||||
#define I2C_PORT_ALS_GYRO NPCX_I2C_PORT5_0
|
||||
#define I2C_PORT_ACCEL I2C_PORT_ALS_GYRO
|
||||
#define I2C_PORT_USB_C0 NPCX_I2C_PORT1_0
|
||||
#define I2C_PORT_USB_C1 NPCX_I2C_PORT2_0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user