mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
# 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)
|