2023-09-20 01:57:44 +08:00
|
|
|
# Copyright (c) 2023 Espressif Systems (Shanghai) Co., Ltd.
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
description: |
|
|
|
|
Zephyr input touch sensor parent node
|
|
|
|
|
|
|
|
This defines a group of touch sensors that can generate input events. Each touch
|
|
|
|
sensor is defined in a child node of the touch-sensor node and defines a specific key
|
|
|
|
code.
|
|
|
|
|
|
|
|
For example:
|
|
|
|
|
|
|
|
#include <zephyr/dt-bindings/input/input-event-codes.h>
|
|
|
|
#include <zephyr/dt-bindings/input/esp32-touch-sensor-input.h>
|
|
|
|
|
|
|
|
&touch {
|
|
|
|
compatible = "espressif,esp32-touch";
|
|
|
|
status = "okay";
|
|
|
|
|
|
|
|
debounce-interval-ms = <30>;
|
|
|
|
href-microvolt = <27000000>;
|
|
|
|
lref-microvolt = <500000>;
|
|
|
|
href-atten-microvolt = <1000000>;
|
|
|
|
filter-mode = <ESP32_TOUCH_FILTER_MODE_IIR_16>;
|
|
|
|
filter-debounce-cnt = <1>;
|
|
|
|
filter-noise-thr = <ESP32_TOUCH_FILTER_NOISE_THR_4_8TH>;
|
|
|
|
filter-jitter-step = <4>;
|
|
|
|
filter-smooth-level = <ESP32_TOUCH_FILTER_SMOOTH_MODE_IIR_2>;
|
|
|
|
|
|
|
|
touch_sensor_0 {
|
2024-04-08 17:57:39 +08:00
|
|
|
channel-num = <1>;
|
|
|
|
channel-sens = <20>;
|
2023-09-20 01:57:44 +08:00
|
|
|
zephyr,code = <INPUT_KEY_0>;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
compatible: "espressif,esp32-touch"
|
|
|
|
|
|
|
|
include: base.yaml
|
|
|
|
|
|
|
|
properties:
|
|
|
|
debounce-interval-ms:
|
|
|
|
type: int
|
|
|
|
default: 30
|
|
|
|
description: Debouncing interval time in milliseconds.
|
|
|
|
|
|
|
|
href-microvolt:
|
|
|
|
type: int
|
|
|
|
enum:
|
|
|
|
- 2400000
|
|
|
|
- 2500000
|
|
|
|
- 2500000
|
|
|
|
- 2700000
|
|
|
|
default: 2700000
|
|
|
|
description: Touch sensor high reference voltage.
|
|
|
|
|
|
|
|
lref-microvolt:
|
|
|
|
type: int
|
|
|
|
enum:
|
|
|
|
- 500000
|
|
|
|
- 600000
|
|
|
|
- 700000
|
|
|
|
- 800000
|
|
|
|
default: 500000
|
|
|
|
description: Touch sensor low reference voltage.
|
|
|
|
|
|
|
|
href-atten-microvolt:
|
|
|
|
type: int
|
|
|
|
enum:
|
|
|
|
- 1500000
|
|
|
|
- 1000000
|
|
|
|
- 500000
|
|
|
|
- 0
|
|
|
|
default: 1000000
|
|
|
|
description: Touch sensor high reference attenuation voltage.
|
|
|
|
|
|
|
|
filter-mode:
|
|
|
|
type: int
|
|
|
|
default: 2
|
|
|
|
description: |
|
|
|
|
Touch sensor IIR filter coefficient.
|
|
|
|
If not specified defaults to ESP32_TOUCH_FILTER_MODE_IIR_16.
|
|
|
|
|
|
|
|
filter-debounce-cnt:
|
|
|
|
type: int
|
|
|
|
default: 1
|
|
|
|
description: |
|
|
|
|
Touch sensor debounce count.
|
|
|
|
If not specified defaults to 1.
|
|
|
|
|
|
|
|
filter-noise-thr:
|
|
|
|
type: int
|
|
|
|
default: 0
|
|
|
|
description: |
|
|
|
|
Touch sensor noise threshold coefficient.
|
|
|
|
If not specified defaults to ESP32_TOUCH_FILTER_NOISE_THR_4_8TH.
|
|
|
|
|
|
|
|
filter-jitter-step:
|
|
|
|
type: int
|
|
|
|
default: 4
|
|
|
|
description: |
|
|
|
|
Touch sensor jitter filter step size.
|
|
|
|
If not specified defaults to 4.
|
|
|
|
|
|
|
|
filter-smooth-level:
|
|
|
|
type: int
|
|
|
|
default: 1
|
|
|
|
description: |
|
|
|
|
Touch sensor level of filter applied on the original data against large noise interference.
|
|
|
|
If not specified defaults to ESP32_TOUCH_FILTER_SMOOTH_MODE_IIR_2.
|
|
|
|
|
|
|
|
child-binding:
|
|
|
|
description: Touch sensor child node
|
|
|
|
properties:
|
|
|
|
channel-num:
|
|
|
|
type: int
|
|
|
|
required: true
|
|
|
|
description: Touch sensor channel number
|
|
|
|
|
|
|
|
channel-sens:
|
|
|
|
type: int
|
|
|
|
default: 20
|
|
|
|
description: |
|
|
|
|
Touch sensor channel sensibility in 100th.
|
|
|
|
If not specified defaults to 20.
|
|
|
|
|
|
|
|
zephyr,code:
|
|
|
|
type: int
|
|
|
|
required: true
|
|
|
|
description: Key code to emit.
|