drivers/sensor: lis2dw12: Set tap triggers only if detection is on
Set single/double tap triggers only if tap detection is enabled. Signed-off-by: Armando Visconti <armando.visconti@st.com>
This commit is contained in:
parent
de0ff0c354
commit
40f843ae54
1 changed files with 15 additions and 4 deletions
|
@ -102,13 +102,24 @@ int lis2dw12_trigger_set(const struct device *dev,
|
|||
break;
|
||||
#ifdef CONFIG_LIS2DW12_TAP
|
||||
case SENSOR_TRIG_TAP:
|
||||
lis2dw12->tap_handler = handler;
|
||||
return lis2dw12_enable_int(dev, SENSOR_TRIG_TAP, state);
|
||||
break;
|
||||
case SENSOR_TRIG_DOUBLE_TAP:
|
||||
/* check if tap detection is enabled */
|
||||
if ((cfg->tap_threshold[0] == 0) &&
|
||||
(cfg->tap_threshold[1] == 0) &&
|
||||
(cfg->tap_threshold[2] == 0)) {
|
||||
LOG_ERR("Unsupported sensor trigger");
|
||||
return -ENOTSUP;
|
||||
}
|
||||
|
||||
/* Set single TAP trigger */
|
||||
if (trig->type == SENSOR_TRIG_TAP) {
|
||||
lis2dw12->tap_handler = handler;
|
||||
return lis2dw12_enable_int(dev, SENSOR_TRIG_TAP, state);
|
||||
}
|
||||
|
||||
/* Set double TAP trigger */
|
||||
lis2dw12->double_tap_handler = handler;
|
||||
return lis2dw12_enable_int(dev, SENSOR_TRIG_DOUBLE_TAP, state);
|
||||
break;
|
||||
#endif /* CONFIG_LIS2DW12_TAP */
|
||||
default:
|
||||
LOG_ERR("Unsupported sensor trigger");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue