diff options
-rw-r--r-- | board/eve/board.h | 6 | ||||
-rw-r--r-- | board/kakadu/board.h | 6 | ||||
-rw-r--r-- | board/kukui/board.h | 8 | ||||
-rw-r--r-- | board/samus/board.h | 3 | ||||
-rw-r--r-- | common/gesture.c | 2 | ||||
-rw-r--r-- | common/motion_sense.c | 4 | ||||
-rw-r--r-- | include/config.h | 29 | ||||
-rw-r--r-- | include/motion_sense.h | 6 |
8 files changed, 38 insertions, 26 deletions
diff --git a/board/eve/board.h b/board/eve/board.h index ab1af7cb5c..ea09b9c8e3 100644 --- a/board/eve/board.h +++ b/board/eve/board.h @@ -159,12 +159,12 @@ /* Enable double tap detection */ #define CONFIG_GESTURE_DETECTION #define CONFIG_GESTURE_HOST_DETECTION -#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP 1 +#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP #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_DOUBLE_TAP) +#define CONFIG_GESTURE_DETECTION_MASK BIT(CONFIG_GESTURE_TAP_SENSOR) +#define CONFIG_GESTURE_TAP_SENSOR 1 /* USB */ #define CONFIG_USB_PID 0x504B diff --git a/board/kakadu/board.h b/board/kakadu/board.h index 415b0438bd..cc3b757433 100644 --- a/board/kakadu/board.h +++ b/board/kakadu/board.h @@ -129,13 +129,13 @@ int board_discharge_on_ac(int enable); /* Enable double tap detection */ #define CONFIG_GESTURE_DETECTION #define CONFIG_GESTURE_HOST_DETECTION -#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP 0 +#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP +#define CONFIG_GESTURE_TAP_SENSOR 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 -#define CONFIG_GESTURE_DETECTION_MASK \ - BIT(CONFIG_GESTURE_SENSOR_DOUBLE_TAP) +#define CONFIG_GESTURE_DETECTION_MASK BIT(CONFIG_GESTURE_TAP_SENSOR) #endif /* !__ASSEMBLER__ */ diff --git a/board/kukui/board.h b/board/kukui/board.h index 3320a53472..e78fdc6ac3 100644 --- a/board/kukui/board.h +++ b/board/kukui/board.h @@ -156,13 +156,13 @@ int board_discharge_on_ac(int enable); /* Enable double tap detection */ #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_SENSOR_DOUBLE_TAP +#define CONFIG_GESTURE_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 -#define CONFIG_GESTURE_DETECTION_MASK \ - BIT(CONFIG_GESTURE_SENSOR_DOUBLE_TAP) +#define CONFIG_GESTURE_TAP_SENSOR 0 +#define CONFIG_GESTURE_DETECTION_MASK BIT(CONFIG_GESTURE_TAP_SENSOR) #endif /* !__ASSEMBLER__ */ diff --git a/board/samus/board.h b/board/samus/board.h index c021275a0e..65542587f6 100644 --- a/board/samus/board.h +++ b/board/samus/board.h @@ -213,11 +213,12 @@ void jtag_interrupt(enum gpio_signal signal); void set_pp5000_in_g3(int mask, int enable); /* Define for sensor tasks */ -#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP 0 +#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP #define CONFIG_GESTURE_TAP_OUTER_WINDOW_T 200 #define CONFIG_GESTURE_TAP_INNER_WINDOW_T 30 #define CONFIG_GESTURE_TAP_MIN_INTERSTICE_T 120 #define CONFIG_GESTURE_TAP_MAX_INTERSTICE_T 500 +#define CONFIG_GESTURE_TAP_SENSOR 0 #define CONFIG_LID_ANGLE_SENSOR_BASE BASE_ACCEL #define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL diff --git a/common/gesture.c b/common/gesture.c index 86039e33bb..88d79448a5 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_DOUBLE_TAP]; +&motion_sensors[CONFIG_GESTURE_TAP_SENSOR]; /* 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 e3b6e71943..d18128633a 100644 --- a/common/motion_sense.c +++ b/common/motion_sense.c @@ -717,7 +717,7 @@ static int motion_sense_process(struct motion_sensor_t *sensor, if (has_data_read) { #ifdef CONFIG_GESTURE_SW_DETECTION /* Run gesture recognition engine */ - if (sensor_num == CONFIG_GESTURE_SENSOR_DOUBLE_TAP) + if (sensor_num == CONFIG_GESTURE_TAP_SENSOR) gesture_calc(event); #endif #ifdef CONFIG_BODY_DETECTION @@ -1088,7 +1088,7 @@ static enum ec_status host_cmd_motion_sense(struct host_cmd_handler_args *args) if (args->version >= 3) { out->info_3.min_frequency = sensor->min_frequency; out->info_3.max_frequency = sensor->max_frequency; - out->info_3.fifo_max_event_count = MAX_FIFO_EVENT_COUNT; + out->info_3.fifo_max_event_count = CONFIG_ACCEL_FIFO_SIZE; args->response_size = sizeof(out->info_3); } if (args->version >= 4) { diff --git a/include/config.h b/include/config.h index b1e32d94fb..4310e5776b 100644 --- a/include/config.h +++ b/include/config.h @@ -1980,12 +1980,9 @@ /* Sensor sampling interval for gesture recognition */ #undef CONFIG_GESTURE_SAMPLING_INTERVAL_MS -/* Which sensor to look for double tap recognition */ +/* Enable double tap support. */ #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 @@ -1997,15 +1994,19 @@ * which to check for relatively calm periods. In between the two impulses * there is a minimum and maximum interstice time allowed. * - * Define an acceleration threshold to dectect a tap, in mg. + * Define an acceleration threshold to detect a tap, in mg. + * Which sensor to look for double tap recognition. + * Use for waking up host. */ #undef CONFIG_GESTURE_TAP_OUTER_WINDOW_T #undef CONFIG_GESTURE_TAP_INNER_WINDOW_T #undef CONFIG_GESTURE_TAP_MIN_INTERSTICE_T #undef CONFIG_GESTURE_TAP_MAX_INTERSTICE_T #undef CONFIG_GESTURE_TAP_THRES_MG +#undef CONFIG_GESTURE_TAP_SENSOR +#undef CONFIG_GESTURE_TAP_FOR_HOST -/* Which sensor to look for significant motion activity */ +/* Significant motion activity */ #undef CONFIG_GESTURE_SIGMO /* @@ -2014,6 +2015,7 @@ * and check for movement again with proof milli-seconds. */ #undef CONFIG_GESTURE_SIGMO_PROOF_MS +#undef CONFIG_GESTURE_SIGMO_SENSOR #undef CONFIG_GESTURE_SIGMO_SKIP_MS #undef CONFIG_GESTURE_SIGMO_THRES_MG @@ -5810,4 +5812,19 @@ #endif /* ifndef(CONFIG_BODY_DETECTION_CUSTOM) */ #endif /* CONFIG_BODY_DETECTION */ +/* + * Set parameters to dummy values to use IS_ENABLED(). + * If a parameter is already set, it will trigger a compilatin error. + */ + +/* To be able to use IS_ENABLED(CONFIG_GESTURE_SENSOR_DOUBLE_TAP) */ +#ifndef CONFIG_GESTURE_SENSOR_DOUBLE_TAP +#define CONFIG_GESTURE_TAP_THRES_MG 0 +#define CONFIG_GESTURE_TAP_MAX_INTERSTICE_T 0 +#endif /* CONFIG_GESTURE_SENSOR_DOUBLE_TAP */ + +#ifndef CONFIG_ACCEL_FIFO +#define CONFIG_ACCEL_FIFO_SIZE 0 +#endif + #endif /* __CROS_EC_CONFIG_H */ diff --git a/include/motion_sense.h b/include/motion_sense.h index 89284cbc1a..c010abf36d 100644 --- a/include/motion_sense.h +++ b/include/motion_sense.h @@ -76,12 +76,6 @@ enum sensor_config { #define BASE_ODR(_odr) ((_odr) & ~ROUND_UP_FLAG) #define BASE_RANGE(_range) ((_range) & ~ROUND_UP_FLAG) -#ifdef CONFIG_ACCEL_FIFO -#define MAX_FIFO_EVENT_COUNT CONFIG_ACCEL_FIFO_SIZE -#else -#define MAX_FIFO_EVENT_COUNT 0 -#endif - /* * I2C/SPI Slave Address encoding for motion sensors * - The generic defines, I2C_ADDR_MASK and I2C_IS_BIG_ENDIAN_MASK |