pytest_rotary_encoder.py 757 B

12345678910111213141516171819202122
  1. # SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
  2. # SPDX-License-Identifier: CC0-1.0
  3. import pytest
  4. from pytest_embedded.dut import Dut
  5. @pytest.mark.esp32
  6. @pytest.mark.esp32s2
  7. @pytest.mark.esp32s3
  8. @pytest.mark.generic
  9. def test_rotary_encoder(dut: Dut) -> None:
  10. dut.expect_exact('install pcnt unit')
  11. dut.expect_exact('set glitch filter')
  12. dut.expect_exact('install pcnt channels')
  13. dut.expect_exact('set edge and level actions for pcnt channels')
  14. dut.expect_exact('add watch points and register callbacks')
  15. dut.expect_exact('clear pcnt unit')
  16. dut.expect_exact('start pcnt unit')
  17. res = dut.expect(r'Pulse count: (\d+)')
  18. count_val = res.group(1).decode('utf8')
  19. assert -100 <= int(count_val) <= 100