2022-01-17 14:46:28 +08:00
|
|
|
# SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
|
|
|
|
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
import pytest
|
|
|
|
from pytest_embedded.dut import Dut
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.esp32
|
|
|
|
@pytest.mark.esp32s2
|
|
|
|
@pytest.mark.esp32s3
|
2024-06-27 20:19:49 +08:00
|
|
|
@pytest.mark.esp32c5
|
2022-10-27 18:55:07 +08:00
|
|
|
@pytest.mark.esp32c6
|
2023-01-17 15:21:26 +08:00
|
|
|
@pytest.mark.esp32h2
|
2024-01-02 10:21:45 +08:00
|
|
|
@pytest.mark.esp32p4
|
2022-01-17 14:46:28 +08:00
|
|
|
@pytest.mark.generic
|
2022-03-11 18:34:44 +08:00
|
|
|
def test_rotary_encoder(dut: Dut) -> None:
|
2022-01-17 14:46:28 +08:00
|
|
|
dut.expect_exact('install pcnt unit')
|
|
|
|
dut.expect_exact('set glitch filter')
|
|
|
|
dut.expect_exact('install pcnt channels')
|
|
|
|
dut.expect_exact('set edge and level actions for pcnt channels')
|
|
|
|
dut.expect_exact('add watch points and register callbacks')
|
|
|
|
dut.expect_exact('clear pcnt unit')
|
|
|
|
dut.expect_exact('start pcnt unit')
|
|
|
|
res = dut.expect(r'Pulse count: (\d+)')
|
|
|
|
count_val = res.group(1).decode('utf8')
|
|
|
|
assert -100 <= int(count_val) <= 100
|