| 1234567891011121314151617181920212223242526272829303132 |
- # SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
- # SPDX-License-Identifier: Unlicense OR CC0-1.0
- import pytest
- from pytest_embedded_idf import IdfDut
- EXPECT_TIMEOUT = 20
- @pytest.mark.esp32
- @pytest.mark.ccs811
- def test_i2ctools_example(dut: IdfDut) -> None:
- dut.expect_exact('i2c-tools>', timeout=EXPECT_TIMEOUT)
- # Get i2c address
- dut.write('i2cdetect')
- dut.expect_exact('5b', timeout=EXPECT_TIMEOUT)
- # Get chip ID
- dut.write('i2cget -c 0x5b -r 0x20 -l 1')
- dut.expect_exact('0x81', timeout=EXPECT_TIMEOUT)
- # Reset sensor
- dut.write('i2cset -c 0x5b -r 0xFF 0x11 0xE5 0x72 0x8A')
- dut.expect_exact('OK', timeout=EXPECT_TIMEOUT)
- # Get status
- dut.write('i2cget -c 0x5b -r 0x00 -l 1')
- dut.expect_exact('0x10', timeout=EXPECT_TIMEOUT)
- # Change work mode
- dut.write('i2cset -c 0x5b -r 0xF4')
- dut.expect_exact('OK', timeout=EXPECT_TIMEOUT)
- dut.write('i2cset -c 0x5b -r 0x01 0x10')
- dut.expect_exact('OK', timeout=EXPECT_TIMEOUT)
- # Get new status
- dut.write('i2cget -c 0x5b -r 0x00 -l 1')
- dut.expect_exact(['0x98', '0x90'], timeout=EXPECT_TIMEOUT)
|