summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/eve/board.h4
-rw-r--r--board/kukui/board.h1
-rw-r--r--board/samus/board.h2
-rw-r--r--common/gesture.c2
-rw-r--r--common/motion_sense.c8
-rw-r--r--driver/accel_lis2dw12.c8
-rw-r--r--driver/accelgyro_bmi160.c10
-rw-r--r--include/config.h6
8 files changed, 21 insertions, 20 deletions
diff --git a/board/eve/board.h b/board/eve/board.h
index fb75e67791..3bf3dedf50 100644
--- a/board/eve/board.h
+++ b/board/eve/board.h
@@ -146,12 +146,12 @@
/* Enable double tap detection */
#define CONFIG_GESTURE_DETECTION
#define CONFIG_GESTURE_HOST_DETECTION
-#define CONFIG_GESTURE_SENSOR_BATTERY_TAP 1
+#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP 1
#define CONFIG_GESTURE_SAMPLING_INTERVAL_MS 5
#define CONFIG_GESTURE_TAP_THRES_MG 100
#define CONFIG_GESTURE_TAP_MAX_INTERSTICE_T 500
#define CONFIG_GESTURE_DETECTION_MASK \
- BIT(CONFIG_GESTURE_SENSOR_BATTERY_TAP)
+ BIT(CONFIG_GESTURE_SENSOR_DOUBLE_TAP)
/* USB */
#define CONFIG_USB_CHARGER
diff --git a/board/kukui/board.h b/board/kukui/board.h
index f7e55e001d..4ac375b19b 100644
--- a/board/kukui/board.h
+++ b/board/kukui/board.h
@@ -154,6 +154,7 @@ int board_discharge_on_ac(int enable);
#define CONFIG_GESTURE_DETECTION
#define CONFIG_GESTURE_HOST_DETECTION
#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP 0
+#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP_FOR_HOST
#define CONFIG_GESTURE_SAMPLING_INTERVAL_MS 5
#define CONFIG_GESTURE_TAP_THRES_MG 100
#define CONFIG_GESTURE_TAP_MAX_INTERSTICE_T 500
diff --git a/board/samus/board.h b/board/samus/board.h
index f4bc5f6663..1e3154c2e3 100644
--- a/board/samus/board.h
+++ b/board/samus/board.h
@@ -213,7 +213,7 @@ void jtag_interrupt(enum gpio_signal signal);
void set_pp5000_in_g3(int mask, int enable);
/* Define for sensor tasks */
-#define CONFIG_GESTURE_SENSOR_BATTERY_TAP 0
+#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP 0
#define CONFIG_GESTURE_TAP_OUTER_WINDOW_T 200
#define CONFIG_GESTURE_TAP_INNER_WINDOW_T 30
#define CONFIG_GESTURE_TAP_MIN_INTERSTICE_T 120
diff --git a/common/gesture.c b/common/gesture.c
index b5e3c99851..86039e33bb 100644
--- a/common/gesture.c
+++ b/common/gesture.c
@@ -67,7 +67,7 @@ enum tap_states {
/* Tap sensor to use */
static struct motion_sensor_t *sensor =
-&motion_sensors[CONFIG_GESTURE_SENSOR_BATTERY_TAP];
+&motion_sensors[CONFIG_GESTURE_SENSOR_DOUBLE_TAP];
/* Tap state information */
static int history_z[MAX_WINDOW]; /* Changes in Z */
diff --git a/common/motion_sense.c b/common/motion_sense.c
index 7e1d06186b..ce8c3588ca 100644
--- a/common/motion_sense.c
+++ b/common/motion_sense.c
@@ -730,7 +730,7 @@ static void check_and_queue_gestures(uint32_t *event)
/* Run gesture recognition engine */
gesture_calc(event);
#endif
-#ifdef CONFIG_GESTURE_DETECTION_MASK
+#ifdef CONFIG_GESTURE_SENSOR_DOUBLE_TAP
if (*event & TASK_EVENT_MOTION_ACTIVITY_INTERRUPT(
MOTIONSENSE_ACTIVITY_DOUBLE_TAP)) {
#ifdef CONFIG_GESTURE_HOST_DETECTION
@@ -741,10 +741,10 @@ static void check_and_queue_gestures(uint32_t *event)
* AP is ignoring double tap event, do no wake up and no
* automatic disable.
*/
-#ifdef CONFIG_GESTURE_SENSOR_BATTERY_TAP
- vector.flags = 0;
-#else
+#ifdef CONFIG_GESTURE_SENSOR_DOUBLE_TAP_FOR_HOST
vector.flags = MOTIONSENSE_SENSOR_FLAG_WAKEUP;
+#else
+ vector.flags = 0;
#endif
vector.activity = MOTIONSENSE_ACTIVITY_DOUBLE_TAP;
vector.state = 1; /* triggered */
diff --git a/driver/accel_lis2dw12.c b/driver/accel_lis2dw12.c
index f51f83b5ce..ba7514309f 100644
--- a/driver/accel_lis2dw12.c
+++ b/driver/accel_lis2dw12.c
@@ -150,7 +150,7 @@ static int lis2dw12_config_interrupt(const struct motion_sensor_t *s)
return ret;
#endif /* CONFIG_ACCEL_FIFO */
-#ifdef CONFIG_GESTURE_SENSOR_BATTERY_TAP
+#ifdef CONFIG_GESTURE_SENSOR_DOUBLE_TAP
/*
* Configure D-TAP event detection on 3 axis.
* For more details please refer to AN5038.
@@ -186,7 +186,7 @@ static int lis2dw12_config_interrupt(const struct motion_sensor_t *s)
ret = st_write_data_with_mask(s, LIS2DW12_INT1_TAP_ADDR,
LIS2DW12_INT1_DTAP_MASK,
LIS2DW12_EN_BIT);
-#endif /* CONFIG_GESTURE_SENSOR_BATTERY_TAP */
+#endif /* CONFIG_GESTURE_SENSOR_DOUBLE_TAP */
return ret;
}
@@ -221,7 +221,7 @@ static int lis2dw12_irq_handler(struct motion_sensor_t *s, uint32_t *event)
return EC_ERROR_NOT_HANDLED;
}
-#ifdef CONFIG_GESTURE_SENSOR_BATTERY_TAP
+#ifdef CONFIG_GESTURE_SENSOR_DOUBLE_TAP
{
int status = 0;
@@ -231,7 +231,7 @@ static int lis2dw12_irq_handler(struct motion_sensor_t *s, uint32_t *event)
if (status & LIS2DW12_DOUBLE_TAP)
*event |= CONFIG_GESTURE_TAP_EVENT;
}
-#endif /* CONFIG_GESTURE_SENSOR_BATTERY_TAP */
+#endif /* CONFIG_GESTURE_SENSOR_DOUBLE_TAP */
#ifdef CONFIG_ACCEL_FIFO
{
diff --git a/driver/accelgyro_bmi160.c b/driver/accelgyro_bmi160.c
index 41ac393b23..e46a367b6a 100644
--- a/driver/accelgyro_bmi160.c
+++ b/driver/accelgyro_bmi160.c
@@ -772,7 +772,7 @@ int manage_activity(const struct motion_sensor_t *s,
break;
}
#endif
-#ifdef CONFIG_GESTURE_DETECTION_MASK
+#ifdef CONFIG_GESTURE_SENSOR_DOUBLE_TAP
case MOTIONSENSE_ACTIVITY_DOUBLE_TAP: {
int tmp;
/* Set double tap interrupt */
@@ -1059,7 +1059,7 @@ static int config_interrupt(const struct motion_sensor_t *s)
raw_write8(s->port, s->i2c_spi_addr_flags,
BMI160_CMD_REG, BMI160_CMD_INT_RESET);
-#ifdef CONFIG_GESTURE_DETECTION_MASK
+#ifdef CONFIG_GESTURE_SENSOR_DOUBLE_TAP
raw_write8(s->port, s->i2c_spi_addr_flags,
BMI160_INT_TAP_0,
BMI160_TAP_DUR(s, CONFIG_GESTURE_TAP_MAX_INTERSTICE_T));
@@ -1099,7 +1099,7 @@ static int config_interrupt(const struct motion_sensor_t *s)
#ifdef CONFIG_GESTURE_SIGMO
tmp |= BMI160_INT_ANYMOTION;
#endif
-#ifdef CONFIG_GESTURE_DETECTION_MASK
+#ifdef CONFIG_GESTURE_SENSOR_DOUBLE_TAP
tmp |= BMI160_INT_D_TAP;
#endif
#ifdef CONFIG_BMI160_ORIENTATION_SENSOR
@@ -1207,7 +1207,7 @@ static int irq_handler(struct motion_sensor_t *s, uint32_t *event)
if (rv)
return rv;
-#ifdef CONFIG_GESTURE_DETECTION_MASK
+#ifdef CONFIG_GESTURE_SENSOR_DOUBLE_TAP
if (interrupt & BMI160_D_TAP_INT)
*event |= TASK_EVENT_MOTION_ACTIVITY_INTERRUPT(
MOTIONSENSE_ACTIVITY_DOUBLE_TAP);
@@ -1311,7 +1311,7 @@ static int init(const struct motion_sensor_t *s)
data->disabled_activities |=
1 << MOTIONSENSE_ACTIVITY_SIG_MOTION;
#endif
-#ifdef CONFIG_GESTURE_DETECTION_MASK
+#ifdef CONFIG_GESTURE_SENSOR_DOUBLE_TAP
data->disabled_activities |=
1 << MOTIONSENSE_ACTIVITY_DOUBLE_TAP;
#endif
diff --git a/include/config.h b/include/config.h
index 138a19b6d4..c51fd4d4d1 100644
--- a/include/config.h
+++ b/include/config.h
@@ -1933,12 +1933,12 @@
/* Sensor sampling interval for gesture recognition */
#undef CONFIG_GESTURE_SAMPLING_INTERVAL_MS
-/* Which sensor to look for battery tap recognition */
-#undef CONFIG_GESTURE_SENSOR_BATTERY_TAP
-
/* Which sensor to look for double tap recognition */
#undef CONFIG_GESTURE_SENSOR_DOUBLE_TAP
+/* Use for waking up host */
+#undef CONFIG_GESTURE_SENSOR_DOUBLE_TAP_FOR_HOST
+
/*
* Double tap detection parameters
* Double tap works by looking for two isolated Z-axis accelerometer impulses