feat(touch_sens): support touch sensor on esp32s31

This commit is contained in:
Hu Rui
2026-04-07 17:36:08 +08:00
parent 54ecf4c09f
commit b9d3b161e4
22 changed files with 1401 additions and 1118 deletions
+1 -1
View File
@@ -710,7 +710,7 @@ examples/peripherals/touch_sensor/touch_sens_basic:
examples/peripherals/touch_sensor/touch_sens_sleep:
disable:
- if: SOC_TOUCH_SENSOR_SUPPORTED != 1 or SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP != 1
- if: SOC_TOUCH_SENSOR_SUPPORTED != 1 or SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP != 1 or SOC_TOUCH_SUPPORT_SLEEP_WAKEUP != 1
depends_components:
- esp_driver_touch_sens
- esp_hal_touch_sens
+1 -1
View File
@@ -2,4 +2,4 @@
| ------- | ----------------- |
| V1 | ESP32 |
| V2 | ESP32S2, ESP32S3 |
| V3 | ESP32P4 |
| V3 | ESP32P4, ESP32H4, ESP32S31 |
@@ -1,5 +1,5 @@
| Supported Targets | ESP32 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- |
| Supported Targets | ESP32 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 | ESP32-S31 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- |
# Capacity Touch Sensor Example
@@ -6,7 +6,7 @@ from pytest_embedded_idf.utils import idf_parametrize
@pytest.mark.generic
@idf_parametrize('target', ['esp32', 'esp32s2', 'esp32s3', 'esp32p4'], indirect=['target'])
@idf_parametrize('target', ['esp32', 'esp32s2', 'esp32s3', 'esp32p4', 'esp32s31'], indirect=['target'])
def test_touch_sens(dut: Dut) -> None:
dut.expect(r'Touch \[CH [0-9]+\] enabled on GPIO[0-9]+')
dut.expect_exact('Initial benchmark and new threshold are:')
@@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
# SPDX-FileCopyrightText: 2025-2026 Espressif Systems (Shanghai) CO LTD
# SPDX-License-Identifier: Unlicense OR CC0-1.0
import pytest
from pytest_embedded import Dut
@@ -17,7 +17,11 @@ from pytest_embedded_idf.utils import soc_filtered_targets
)
@idf_parametrize(
'target',
soc_filtered_targets('SOC_TOUCH_SENSOR_SUPPORTED == 1 and SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP == 1'),
soc_filtered_targets(
'SOC_TOUCH_SENSOR_SUPPORTED == 1 and '
'SOC_PM_SUPPORT_TOUCH_SENSOR_WAKEUP == 1 and '
'SOC_TOUCH_SUPPORT_SLEEP_WAKEUP == 1'
),
indirect=['target'],
)
def test_touch_sens_sleep(dut: Dut) -> None: