pytest_i2s_std.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
  2. # SPDX-License-Identifier: CC0-1.0
  3. import pytest
  4. from pytest_embedded import Dut
  5. @pytest.mark.esp32
  6. @pytest.mark.esp32s2
  7. @pytest.mark.esp32s3
  8. @pytest.mark.esp32c3
  9. @pytest.mark.esp32c6
  10. @pytest.mark.esp32h2
  11. @pytest.mark.generic
  12. def test_i2s_basic_example(dut: Dut) -> None:
  13. dut.expect(r'D \(([0-9]+)\) i2s_common: tx channel is registered on I2S0 successfully', timeout=5)
  14. dut.expect(r'D \(([0-9]+)\) i2s_common: rx channel is registered on I2S0 successfully', timeout=5)
  15. dut.expect(r'D \(([0-9]+)\) i2s_common: DMA malloc info: dma_desc_num = ([0-9]+), '
  16. r'dma_desc_buf_size = dma_frame_num \* slot_num \* data_bit_width = ([0-9]+)', timeout=5)
  17. dut.expect(r'D \(([0-9]+)\) i2s_std: Clock division info: \[sclk\] ([0-9]+) Hz '
  18. r'\[mdiv\] ([0-9]+) \[mclk\] ([0-9]+) Hz \[bdiv\] ([0-9]+) \[bclk\] ([0-9]+) Hz', timeout=5)
  19. dut.expect(r'D \(([0-9]+)\) i2s_std: The tx channel on I2S0 has been initialized to STD mode successfully', timeout=5)
  20. dut.expect(r'D \(([0-9]+)\) i2s_common: DMA malloc info: dma_desc_num = ([0-9]+), '
  21. r'dma_desc_buf_size = dma_frame_num \* slot_num \* data_bit_width = ([0-9]+)', timeout=5)
  22. dut.expect(r'D \(([0-9]+)\) i2s_std: Clock division info: \[sclk\] ([0-9]+) Hz '
  23. r'\[mdiv\] ([0-9]+) \[mclk\] ([0-9]+) Hz \[bdiv\] ([0-9]+) \[bclk\] ([0-9]+) Hz', timeout=5)
  24. dut.expect(r'D \(([0-9]+)\) i2s_std: The rx channel on I2S0 has been initialized to STD mode successfully', timeout=5)
  25. chan_enable_pattern = [
  26. r'D \(([0-9]+)\) i2s_common: i2s tx channel enabled',
  27. r'D \(([0-9]+)\) i2s_common: i2s rx channel enabled'
  28. ]
  29. dut.expect(chan_enable_pattern, timeout=5)
  30. dut.expect(chan_enable_pattern, timeout=5)
  31. dut.expect(r'Write Task: i2s write ([0-9]+) bytes', timeout=5)
  32. dut.expect(r'Read Task: i2s read ([0-9]+) bytes', timeout=5)
  33. dut.expect(r'-----------------------------------', timeout=5)
  34. dut.expect(r'\[0\] 12 \[1\] 34 \[2\] 56 \[3\] 78', timeout=10)
  35. dut.expect(r'\[4\] 9a \[5\] bc \[6\] de \[7\] f0', timeout=10)