diff options
author | Gwendal Grignou <gwendal@google.com> | 2021-08-13 11:32:38 -0700 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-05-16 10:00:17 +0000 |
commit | 9c20af1aee1856e36b68f6aeca2910e5ee76cd46 (patch) | |
tree | f421d6c6c4aa00732cbe4b14778fa930a5b49de1 | |
parent | 3452fa9ebd9dc90aa259ce50652a3d0f93e97500 (diff) | |
download | chrome-ec-9c20af1aee1856e36b68f6aeca2910e5ee76cd46.tar.gz |
driver: bmi260: integrate body detection
Body detection is accelerometer agnostics. It was added in BMI260,
but not finalized. Add list_activity function to enable/disable body
detection.
BRANCH=volteer
BUG=b:195908820
TEST=Check cros-ec-activity is loaded.
Enable proximity event:
echo 1 > events/in_proximity_change_either_en
Load iio_event_monitor, check we get events when moving device on lap to
floor:
Event: time: 925239910373, type: proximity, channel: 0, evtype: change,
direction: falling
Event: time: 945020001791, type: proximity, channel: 0, evtype: change,
direction: rising
...
Conflicts:
driver/accelgyro_bmi260.c: CONFIG_BODY_DETECTION not support
Change-Id: I423c7044761d2addac36d435781ea19c1f1b18ed
Signed-off-by: Gwendal Grignou <gwendal@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3097151
Tested-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Ching-Kang Yen <chingkang@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
(cherry picked from commit fc298a0ada0350ae9cb2dab21e790efb4d8c4a36)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3143632
Tested-by: Rong Chang <rongchang@chromium.org>
Reviewed-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3631905
Tested-by: Zick Wei <zick.wei@quanta.corp-partner.google.com>
Reviewed-by: Henry Sun <henrysun@google.com>
Commit-Queue: Henry Sun <henrysun@google.com>
-rw-r--r-- | driver/accelgyro_bmi260.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/driver/accelgyro_bmi260.c b/driver/accelgyro_bmi260.c index 78cce521e2..79cc4e09ed 100644 --- a/driver/accelgyro_bmi260.c +++ b/driver/accelgyro_bmi260.c @@ -258,6 +258,18 @@ end_perform_calib: return ret; } +#ifdef CONFIG_GESTURE_HOST_DETECTION +int list_activities(const struct motion_sensor_t *s, + uint32_t *enabled, + uint32_t *disabled) +{ + struct bmi_drv_data_t *data = BMI_GET_DATA(s); + *enabled = data->enabled_activities; + *disabled = data->disabled_activities; + return EC_RES_SUCCESS; +} +#endif + #ifdef CONFIG_ACCEL_INTERRUPTS /** @@ -493,6 +505,9 @@ const struct accelgyro_drv bmi260_drv = { #ifdef CONFIG_ACCEL_INTERRUPTS .irq_handler = irq_handler, #endif +#ifdef CONFIG_GESTURE_HOST_DETECTION + .list_activities = list_activities, +#endif }; #ifdef CONFIG_CMD_I2C_STRESS_TEST_ACCEL |