diff --git a/examples/peripherals/.build-test-rules.yml b/examples/peripherals/.build-test-rules.yml index 391a727b4f..5412877979 100644 --- a/examples/peripherals/.build-test-rules.yml +++ b/examples/peripherals/.build-test-rules.yml @@ -186,16 +186,16 @@ examples/peripherals/touch_sensor: examples/peripherals/touch_sensor/touch_element: enable: - - if: IDF_TARGET == "esp32s2" - reason: only test on esp32s2 + - if: IDF_TARGET in ["esp32s2", "esp32s3"] + reason: only supports esp32s2 and esp32s3 examples/peripherals/touch_sensor/touch_sensor_v1: disable: - - if: SOC_TOUCH_SENSOR_NUM != 10 + - if: SOC_TOUCH_VERSION_1 != 1 examples/peripherals/touch_sensor/touch_sensor_v2: disable: - - if: SOC_TOUCH_SENSOR_NUM != 15 + - if: SOC_TOUCH_VERSION_2 != 1 examples/peripherals/twai: disable: diff --git a/examples/peripherals/touch_sensor/touch_element/touch_button/README.md b/examples/peripherals/touch_sensor/touch_element/touch_button/README.md index c2737075f8..4a205c2537 100644 --- a/examples/peripherals/touch_sensor/touch_element/touch_button/README.md +++ b/examples/peripherals/touch_sensor/touch_element/touch_button/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32-S2 | -| ----------------- | -------- | +| Supported Targets | ESP32-S2 | ESP32-S3 | +| ----------------- | -------- | -------- | # Touch button example diff --git a/examples/peripherals/touch_sensor/touch_element/touch_button/pytest_touch_button.py b/examples/peripherals/touch_sensor/touch_element/touch_button/pytest_touch_button.py new file mode 100644 index 0000000000..013bf9dbb0 --- /dev/null +++ b/examples/peripherals/touch_sensor/touch_element/touch_button/pytest_touch_button.py @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Unlicense OR CC0-1.0 +import pytest +from pytest_embedded import Dut + + +@pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.generic +def test_touch_button(dut: Dut) -> None: + dut.expect_exact('Touch Button Example: Touch element library installed') + dut.expect_exact('Touch Button Example: Touch button installed') + dut.expect_exact('Touch Button Example: Touch buttons created') + dut.expect_exact('Touch Button Example: Touch element library start') diff --git a/examples/peripherals/touch_sensor/touch_element/touch_element_waterproof/README.md b/examples/peripherals/touch_sensor/touch_element/touch_element_waterproof/README.md index 074761aa1e..026167f50b 100644 --- a/examples/peripherals/touch_sensor/touch_element/touch_element_waterproof/README.md +++ b/examples/peripherals/touch_sensor/touch_element/touch_element_waterproof/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32-S2 | -| ----------------- | -------- | +| Supported Targets | ESP32-S2 | ESP32-S3 | +| ----------------- | -------- | -------- | # Touch Element waterproof Example diff --git a/examples/peripherals/touch_sensor/touch_element/touch_element_waterproof/pytest_touch_element_waterproof.py b/examples/peripherals/touch_sensor/touch_element/touch_element_waterproof/pytest_touch_element_waterproof.py new file mode 100644 index 0000000000..7e1e25e008 --- /dev/null +++ b/examples/peripherals/touch_sensor/touch_element/touch_element_waterproof/pytest_touch_element_waterproof.py @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Unlicense OR CC0-1.0 +import pytest +from pytest_embedded import Dut + + +@pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.generic +def test_touch_element_waterproof(dut: Dut) -> None: + dut.expect_exact('Touch Element Waterproof Example: Touch Element library install') + dut.expect_exact('Touch Element Waterproof Example: Touch Element waterproof install') + dut.expect_exact('Touch Element Waterproof Example: Touch button install') + dut.expect_exact('Touch Element Waterproof Example: Touch buttons create') diff --git a/examples/peripherals/touch_sensor/touch_element/touch_elements_combination/README.md b/examples/peripherals/touch_sensor/touch_element/touch_elements_combination/README.md index 9d5caded51..06ae77b5c8 100644 --- a/examples/peripherals/touch_sensor/touch_element/touch_elements_combination/README.md +++ b/examples/peripherals/touch_sensor/touch_element/touch_elements_combination/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32-S2 | -| ----------------- | -------- | +| Supported Targets | ESP32-S2 | ESP32-S3 | +| ----------------- | -------- | -------- | # Touch button example diff --git a/examples/peripherals/touch_sensor/touch_element/touch_elements_combination/pytest_touch_elements_combination.py b/examples/peripherals/touch_sensor/touch_element/touch_elements_combination/pytest_touch_elements_combination.py new file mode 100644 index 0000000000..d91e4fba80 --- /dev/null +++ b/examples/peripherals/touch_sensor/touch_element/touch_elements_combination/pytest_touch_elements_combination.py @@ -0,0 +1,16 @@ +# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Unlicense OR CC0-1.0 +import pytest +from pytest_embedded import Dut + + +@pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.generic +def test_touch_elements_combination(dut: Dut) -> None: + dut.expect_exact('Touch Elements Combination Example: Touch element library installed') + dut.expect_exact('Touch Elements Combination Example: Touch button installed') + dut.expect_exact('Touch Elements Combination Example: Touch buttons created') + dut.expect_exact('Touch Elements Combination Example: Touch slider installed') + dut.expect_exact('Touch Elements Combination Example: Touch slider created') + dut.expect_exact('Touch Elements Combination Example: Touch element library start') diff --git a/examples/peripherals/touch_sensor/touch_element/touch_matrix/README.md b/examples/peripherals/touch_sensor/touch_element/touch_matrix/README.md index 8c2456a640..8e7397d35f 100644 --- a/examples/peripherals/touch_sensor/touch_element/touch_matrix/README.md +++ b/examples/peripherals/touch_sensor/touch_element/touch_matrix/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32-S2 | -| ----------------- | -------- | +| Supported Targets | ESP32-S2 | ESP32-S3 | +| ----------------- | -------- | -------- | # Touch Element matrix example diff --git a/examples/peripherals/touch_sensor/touch_element/touch_matrix/pytest_touch_matrix.py b/examples/peripherals/touch_sensor/touch_element/touch_matrix/pytest_touch_matrix.py new file mode 100644 index 0000000000..cc6efd44e5 --- /dev/null +++ b/examples/peripherals/touch_sensor/touch_element/touch_matrix/pytest_touch_matrix.py @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Unlicense OR CC0-1.0 +import pytest +from pytest_embedded import Dut + + +@pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.generic +def test_touch_matrix(dut: Dut) -> None: + dut.expect_exact('Touch Matrix Example: Touch element library installed') + dut.expect_exact('Touch Matrix Example: Touch matrix installed') + dut.expect_exact('Touch Matrix Example: Touch matrix created') + dut.expect_exact('Touch Matrix Example: Touch element library start') diff --git a/examples/peripherals/touch_sensor/touch_element/touch_slider/README.md b/examples/peripherals/touch_sensor/touch_element/touch_slider/README.md index b80ca2c6eb..d194742d14 100644 --- a/examples/peripherals/touch_sensor/touch_element/touch_slider/README.md +++ b/examples/peripherals/touch_sensor/touch_element/touch_slider/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32-S2 | -| ----------------- | -------- | +| Supported Targets | ESP32-S2 | ESP32-S3 | +| ----------------- | -------- | -------- | # Touch Element slider example diff --git a/examples/peripherals/touch_sensor/touch_element/touch_slider/pytest_touch_slider.py b/examples/peripherals/touch_sensor/touch_element/touch_slider/pytest_touch_slider.py new file mode 100644 index 0000000000..18edc4f240 --- /dev/null +++ b/examples/peripherals/touch_sensor/touch_element/touch_slider/pytest_touch_slider.py @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Unlicense OR CC0-1.0 +import pytest +from pytest_embedded import Dut + + +@pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.generic +def test_touch_slider(dut: Dut) -> None: + dut.expect_exact('Touch Slider Example: Touch element library installed') + dut.expect_exact('Touch Slider Example: Touch slider installed') + dut.expect_exact('Touch Slider Example: Touch slider created') + dut.expect_exact('Touch Slider Example: Touch element library start') diff --git a/examples/peripherals/touch_sensor/touch_sensor_v1/touch_pad_interrupt/pytest_touch_pad_interrupt_v1.py b/examples/peripherals/touch_sensor/touch_sensor_v1/touch_pad_interrupt/pytest_touch_pad_interrupt_v1.py new file mode 100644 index 0000000000..816b9c2e99 --- /dev/null +++ b/examples/peripherals/touch_sensor/touch_sensor_v1/touch_pad_interrupt/pytest_touch_pad_interrupt_v1.py @@ -0,0 +1,14 @@ +# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Unlicense OR CC0-1.0 +import pytest +from pytest_embedded import Dut + + +@pytest.mark.esp32 +@pytest.mark.generic +def test_touch_pad_interrupt_v1(dut: Dut) -> None: + dut.expect_exact('Touch pad: Initializing touch pad') + dut.expect(r'test init: touch pad \[\d+\] val is \d+') + dut.expect_exact('Touch pad: Waiting for any pad being touched...') + dut.expect_exact('Touch pad: Change mode...filter mode') + dut.expect_exact('Touch pad: Waiting for any pad being touched...') diff --git a/examples/peripherals/touch_sensor/touch_sensor_v1/touch_pad_read/pytest_touch_pad_read_v1.py b/examples/peripherals/touch_sensor/touch_sensor_v1/touch_pad_read/pytest_touch_pad_read_v1.py new file mode 100644 index 0000000000..72fd5efa22 --- /dev/null +++ b/examples/peripherals/touch_sensor/touch_sensor_v1/touch_pad_read/pytest_touch_pad_read_v1.py @@ -0,0 +1,12 @@ +# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Unlicense OR CC0-1.0 +import pytest +from pytest_embedded import Dut + + +@pytest.mark.esp32 +@pytest.mark.generic +def test_touch_pad_read_v1(dut: Dut) -> None: + dut.expect_exact('Touch Sensor filter mode read, the output format is:') + dut.expect(r'T0:\[\s*\d+,\s*\d+\] T1:\[\s*\d+,\s*\d+\] T2:\[\s*\d+,\s*\d+\] T3:\[\s*\d+,\s*\d+\] T4:\[\s*\d+,\s*\d+\]' + r' T5:\[\s*\d+,\s*\d+\] T6:\[\s*\d+,\s*\d+\] T7:\[\s*\d+,\s*\d+\] T8:\[\s*\d+,\s*\d+\] T9:\[\s*\d+,\s*\d+\]') diff --git a/examples/peripherals/touch_sensor/touch_sensor_v2/touch_pad_interrupt/pytest_touch_pad_interrupt_v2.py b/examples/peripherals/touch_sensor/touch_sensor_v2/touch_pad_interrupt/pytest_touch_pad_interrupt_v2.py new file mode 100644 index 0000000000..890b110e91 --- /dev/null +++ b/examples/peripherals/touch_sensor/touch_sensor_v2/touch_pad_interrupt/pytest_touch_pad_interrupt_v2.py @@ -0,0 +1,15 @@ +# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Unlicense OR CC0-1.0 +import pytest +from pytest_embedded import Dut + + +@pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.generic +def test_touch_pad_interrupt_v2(dut: Dut) -> None: + dut.expect_exact('Touch pad: Initializing touch pad') + dut.expect_exact('Touch pad: Denoise function init') + dut.expect_exact('Touch pad: touch pad waterproof init') + dut.expect_exact('Touch pad: touch pad filter init') + dut.expect(r'touch pad \[\d+\] base \d+, thresh \d+') diff --git a/examples/peripherals/touch_sensor/touch_sensor_v2/touch_pad_read/pytest_touch_pad_read_v2.py b/examples/peripherals/touch_sensor/touch_sensor_v2/touch_pad_read/pytest_touch_pad_read_v2.py new file mode 100644 index 0000000000..4c58c67492 --- /dev/null +++ b/examples/peripherals/touch_sensor/touch_sensor_v2/touch_pad_read/pytest_touch_pad_read_v2.py @@ -0,0 +1,13 @@ +# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD +# SPDX-License-Identifier: Unlicense OR CC0-1.0 +import pytest +from pytest_embedded import Dut + + +@pytest.mark.esp32s2 +@pytest.mark.esp32s3 +@pytest.mark.generic +def test_touch_pad_read_v2(dut: Dut) -> None: + dut.expect_exact('touch read: Denoise function init') + dut.expect(r'T1: \[\d+\] T2: \[\d+\] T3: \[\d+\] T4: \[\d+\] T5: \[\d+\] T6: \[\d+\] T7: \[\d+\] T8: \[\d+\] T9: \[\d+\]' + r' T10: \[\d+\] T11: \[\d+\] T12: \[\d+\] T13: \[\d+\] T14: \[\d+\]')