diff --git a/components/esp_wifi/test_apps/wifi_connect/pytest_wifi_connect.py b/components/esp_wifi/test_apps/wifi_connect/pytest_wifi_connect.py index db91ffbcbf..e4b87e35d3 100644 --- a/components/esp_wifi/test_apps/wifi_connect/pytest_wifi_connect.py +++ b/components/esp_wifi/test_apps/wifi_connect/pytest_wifi_connect.py @@ -26,3 +26,32 @@ def test_wifi_connect_cases(case_tester: CaseTester) -> None: # type: ignore @idf_parametrize('target', ['esp32c2'], indirect=['target']) def test_wifi_connect_cases_esp32c2_xtal26m(case_tester: CaseTester) -> None: case_tester.run_all_cases() + + +@pytest.mark.esp32c2eco4 +@pytest.mark.wifi_two_dut +@pytest.mark.xtal_26mhz +@pytest.mark.parametrize( + 'count, config, baud', + [ + (2, 'esp32c2eco4_xtal26m', '74880'), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c2'], indirect=['target']) +def test_wifi_connect_cases_esp32c2eco4_xtal26m(case_tester: CaseTester) -> None: + case_tester.run_all_cases() + + +@pytest.mark.wifi_two_dut +@pytest.mark.esp32c3eco7 +@pytest.mark.parametrize( + 'count, config', + [ + (2, 'esp32c3eco7'), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c3'], indirect=['target']) +def test_wifi_connect_cases_esp32c3eco7(case_tester: CaseTester) -> None: + case_tester.run_all_cases() diff --git a/components/esp_wifi/test_apps/wifi_connect/sdkconfig.ci.esp32c2eco4_xtal26m b/components/esp_wifi/test_apps/wifi_connect/sdkconfig.ci.esp32c2eco4_xtal26m new file mode 100644 index 0000000000..651a6cc578 --- /dev/null +++ b/components/esp_wifi/test_apps/wifi_connect/sdkconfig.ci.esp32c2eco4_xtal26m @@ -0,0 +1,3 @@ +CONFIG_IDF_TARGET="esp32c2" +CONFIG_XTAL_FREQ_26=y +CONFIG_ESP32C2_REV_MIN_200=y diff --git a/components/esp_wifi/test_apps/wifi_connect/sdkconfig.ci.esp32c3eco7 b/components/esp_wifi/test_apps/wifi_connect/sdkconfig.ci.esp32c3eco7 new file mode 100644 index 0000000000..ad055155c9 --- /dev/null +++ b/components/esp_wifi/test_apps/wifi_connect/sdkconfig.ci.esp32c3eco7 @@ -0,0 +1,2 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_ESP32C3_REV_MIN_101=y diff --git a/components/esp_wifi/test_apps/wifi_function/pytest_wifi_function.py b/components/esp_wifi/test_apps/wifi_function/pytest_wifi_function.py index 6d39624d92..6a67370f4b 100644 --- a/components/esp_wifi/test_apps/wifi_function/pytest_wifi_function.py +++ b/components/esp_wifi/test_apps/wifi_function/pytest_wifi_function.py @@ -26,3 +26,32 @@ def test_wifi_unit_test(dut: Dut) -> None: @idf_parametrize('target', ['esp32c2'], indirect=['target']) def test_wifi_unit_test_esp32c2_xtal26m(dut: Dut) -> None: dut.run_all_single_board_cases() + + +@pytest.mark.esp32c2eco4 +@pytest.mark.xtal_26mhz +@pytest.mark.generic +@pytest.mark.parametrize( + 'config, baud', + [ + ('esp32c2eco4_xtal26m', '74880'), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c2'], indirect=['target']) +def test_wifi_unit_test_esp32c2eco4_xtal26m(dut: Dut) -> None: + dut.run_all_single_board_cases() + + +@pytest.mark.esp32c3eco7 +@pytest.mark.generic +@pytest.mark.parametrize( + 'config', + [ + 'esp32c3eco7', + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c3'], indirect=['target']) +def test_wifi_unit_test_esp32c3eco7(dut: Dut) -> None: + dut.run_all_single_board_cases() diff --git a/components/esp_wifi/test_apps/wifi_function/sdkconfig.ci.esp32c2eco4_xtal26m b/components/esp_wifi/test_apps/wifi_function/sdkconfig.ci.esp32c2eco4_xtal26m new file mode 100644 index 0000000000..651a6cc578 --- /dev/null +++ b/components/esp_wifi/test_apps/wifi_function/sdkconfig.ci.esp32c2eco4_xtal26m @@ -0,0 +1,3 @@ +CONFIG_IDF_TARGET="esp32c2" +CONFIG_XTAL_FREQ_26=y +CONFIG_ESP32C2_REV_MIN_200=y diff --git a/components/esp_wifi/test_apps/wifi_function/sdkconfig.ci.esp32c3eco7 b/components/esp_wifi/test_apps/wifi_function/sdkconfig.ci.esp32c3eco7 new file mode 100644 index 0000000000..ad055155c9 --- /dev/null +++ b/components/esp_wifi/test_apps/wifi_function/sdkconfig.ci.esp32c3eco7 @@ -0,0 +1,2 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_ESP32C3_REV_MIN_101=y diff --git a/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py b/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py index 0b535dd157..f0783a827d 100644 --- a/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py +++ b/components/wpa_supplicant/test_apps/pytest_wpa_supplicant_ut.py @@ -48,3 +48,43 @@ def test_wpa_supplicant_ut_psram(case_tester: CaseTester) -> None: for case in case_tester.test_menu: if case.attributes.get('test_env') == 'wifi_two_dut': case_tester.run_multi_dev_case(case=case, reset=True) + + +@pytest.mark.wifi_two_dut +@pytest.mark.esp32c2eco4 +@pytest.mark.xtal_26mhz +@pytest.mark.parametrize( + 'count, config, baud', + [ + ( + 2, + 'esp32c2eco4_xtal26m', + '74880', + ), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c2'], indirect=['target']) +def test_wpa_supplicant_esp32c2eco4_xtal26mhz(case_tester: CaseTester) -> None: + for case in case_tester.test_menu: + if case.attributes.get('test_env') == 'wifi_two_dut': + case_tester.run_multi_dev_case(case=case, reset=True) + + +@pytest.mark.wifi_two_dut +@pytest.mark.esp32c3eco7 +@pytest.mark.parametrize( + 'count, config', + [ + ( + 2, + 'esp32c3eco7', + ), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c3'], indirect=['target']) +def test_wpa_supplicant_esp32c3eco7(case_tester: CaseTester) -> None: + for case in case_tester.test_menu: + if case.attributes.get('test_env') == 'wifi_two_dut': + case_tester.run_multi_dev_case(case=case, reset=True) diff --git a/components/wpa_supplicant/test_apps/sdkconfig.ci.esp32c2eco4_xtal26m b/components/wpa_supplicant/test_apps/sdkconfig.ci.esp32c2eco4_xtal26m new file mode 100644 index 0000000000..651a6cc578 --- /dev/null +++ b/components/wpa_supplicant/test_apps/sdkconfig.ci.esp32c2eco4_xtal26m @@ -0,0 +1,3 @@ +CONFIG_IDF_TARGET="esp32c2" +CONFIG_XTAL_FREQ_26=y +CONFIG_ESP32C2_REV_MIN_200=y diff --git a/components/wpa_supplicant/test_apps/sdkconfig.ci.esp32c3eco7 b/components/wpa_supplicant/test_apps/sdkconfig.ci.esp32c3eco7 new file mode 100644 index 0000000000..ad055155c9 --- /dev/null +++ b/components/wpa_supplicant/test_apps/sdkconfig.ci.esp32c3eco7 @@ -0,0 +1,2 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_ESP32C3_REV_MIN_101=y diff --git a/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c2_xtal26m b/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c2_xtal26m index 91a180954c..92a3c67b8f 100644 --- a/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c2_xtal26m +++ b/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c2_xtal26m @@ -1,4 +1,5 @@ CONFIG_IDF_TARGET="esp32c2" CONFIG_XTAL_FREQ_26=y + CONFIG_EXAMPLE_USE_CI_ADDRESS=y CONFIG_EXAMPLE_PEER_ADDR="${CI_PIPELINE_ID}" diff --git a/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c2eco4_xtal26m b/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c2eco4_xtal26m new file mode 100644 index 0000000000..14abf63b86 --- /dev/null +++ b/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c2eco4_xtal26m @@ -0,0 +1,6 @@ +CONFIG_IDF_TARGET="esp32c2" +CONFIG_XTAL_FREQ_26=y +CONFIG_ESP32C2_REV_MIN_200=y + +CONFIG_EXAMPLE_USE_CI_ADDRESS=y +CONFIG_EXAMPLE_PEER_ADDR="${CI_PIPELINE_ID}" diff --git a/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c3eco7 b/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c3eco7 new file mode 100644 index 0000000000..bfdd97290d --- /dev/null +++ b/examples/bluetooth/nimble/blecent/sdkconfig.ci.esp32c3eco7 @@ -0,0 +1,12 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_ESP32C3_REV_MIN_101=y + +# +# BT config +# +CONFIG_BT_ENABLED=y +CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y +CONFIG_BTDM_CTRL_MODE_BR_EDR_ONLY=n +CONFIG_BTDM_CTRL_MODE_BTDM=n +CONFIG_BT_BLUEDROID_ENABLED=n +CONFIG_BT_NIMBLE_ENABLED=y diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.ci.esp32c2eco4_xtal26m b/examples/bluetooth/nimble/power_save/sdkconfig.ci.esp32c2eco4_xtal26m new file mode 100644 index 0000000000..dd266cb6de --- /dev/null +++ b/examples/bluetooth/nimble/power_save/sdkconfig.ci.esp32c2eco4_xtal26m @@ -0,0 +1,7 @@ +CONFIG_IDF_TARGET="esp32c2" +CONFIG_XTAL_FREQ_26=y +CONFIG_ESP32C2_REV_MIN_200=y + + +CONFIG_EXAMPLE_USE_CI_ADDRESS=y +CONFIG_EXAMPLE_CI_ADDRESS_OFFSET="${CI_PIPELINE_ID}" diff --git a/examples/bluetooth/nimble/power_save/sdkconfig.ci.esp32c3eco7 b/examples/bluetooth/nimble/power_save/sdkconfig.ci.esp32c3eco7 new file mode 100644 index 0000000000..2e43231011 --- /dev/null +++ b/examples/bluetooth/nimble/power_save/sdkconfig.ci.esp32c3eco7 @@ -0,0 +1,14 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_ESP32C3_REV_MIN_101=y + + +# MODEM SLEEP Options +CONFIG_BT_CTRL_MODEM_SLEEP=y +CONFIG_BT_CTRL_MODEM_SLEEP_MODE_1=y +# Bluetooth low power clock +CONFIG_BT_CTRL_LPCLK_SEL_MAIN_XTAL=y +# Power up main XTAL during light sleep +CONFIG_BT_CTRL_MAIN_XTAL_PU_DURING_LIGHT_SLEEP=y + +# Enable power down of MAC and baseband in light sleep mode +CONFIG_ESP_PHY_MAC_BB_PD=y diff --git a/examples/bluetooth/nimble/pytest_nimble_test.py b/examples/bluetooth/nimble/pytest_nimble_test.py index 47eb5488ef..8f9d8a1e65 100644 --- a/examples/bluetooth/nimble/pytest_nimble_test.py +++ b/examples/bluetooth/nimble/pytest_nimble_test.py @@ -66,3 +66,63 @@ def test_power_save_conn_esp32c2_26mhz(dut: Tuple[IdfDut, IdfDut]) -> None: peripheral.expect('connection established; status=0', timeout=30) output = peripheral.expect(pexpect.TIMEOUT, timeout=30) assert 'rst:' not in str(output) and 'boot:' not in str(output) + + +# Case 2: BLE power save test for ESP32C2ECO4 +@pytest.mark.wifi_two_dut +@pytest.mark.xtal_26mhz +@pytest.mark.esp32c2eco4 +@pytest.mark.parametrize( + 'config, count, app_path, baud', + [ + ( + 'esp32c2eco4_xtal26m', + 2, + f'{os.path.join(os.path.dirname(__file__), "power_save")}|{os.path.join(os.path.dirname(__file__), "blecent")}', + '74880', + ), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c2'], indirect=['target']) +def test_power_save_conn_esp32c2eco4(dut: Tuple[IdfDut, IdfDut]) -> None: + peripheral = dut[0] + central = dut[1] + + peripheral.expect('NimBLE_BLE_PRPH: BLE Host Task Started', timeout=5) + central.expect('NimBLE_BLE_CENT: BLE Host Task Started', timeout=5) + peripheral.expect('Returned from app_main()', timeout=5) + central.expect('Returned from app_main()', timeout=5) + central.expect('Connection established', timeout=30) + peripheral.expect('connection established; status=0', timeout=30) + output = peripheral.expect(pexpect.TIMEOUT, timeout=30) + assert 'rst:' not in str(output) and 'boot:' not in str(output) + + +# Case 2: BLE power save test for ESP32C3ECO7 +@pytest.mark.wifi_two_dut +@pytest.mark.esp32c3eco7 +@pytest.mark.parametrize( + 'config, count, app_path', + [ + ( + 'esp32c3eco7', + 2, + f'{os.path.join(os.path.dirname(__file__), "power_save")}|{os.path.join(os.path.dirname(__file__), "blecent")}', + ), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c3'], indirect=['target']) +def test_power_save_conn_esp32c3eco7(dut: Tuple[IdfDut, IdfDut]) -> None: + peripheral = dut[0] + central = dut[1] + + peripheral.expect('NimBLE_BLE_PRPH: BLE Host Task Started', timeout=5) + central.expect('NimBLE_BLE_CENT: BLE Host Task Started', timeout=5) + peripheral.expect('Returned from app_main()', timeout=5) + central.expect('Returned from app_main()', timeout=5) + central.expect('Connection established', timeout=30) + peripheral.expect('connection established; status=0', timeout=30) + output = peripheral.expect(pexpect.TIMEOUT, timeout=30) + assert 'rst:' not in str(output) and 'boot:' not in str(output) diff --git a/examples/wifi/getting_started/pytest_wifi_getting_started.py b/examples/wifi/getting_started/pytest_wifi_getting_started.py index bc19c5c85e..5a3ad64d27 100644 --- a/examples/wifi/getting_started/pytest_wifi_getting_started.py +++ b/examples/wifi/getting_started/pytest_wifi_getting_started.py @@ -78,3 +78,65 @@ def test_wifi_getting_started_esp32c2_xtal_26mhz(dut: Tuple[IdfDut, IdfDut]) -> station.expect(f'{tag}: got ip:', timeout=60) station.expect(f'{tag}: connected to ap SSID:{ssid} password:{password}', timeout=60) softap.expect('station .+ join, AID=', timeout=60) + + +@pytest.mark.wifi_two_dut +@pytest.mark.xtal_26mhz +@pytest.mark.esp32c2eco4 +@pytest.mark.parametrize( + 'count, config, baud, app_path', + [ + ( + 2, + 'esp32c2eco4_xtal26m', + '74880', + f'{os.path.join(os.path.dirname(__file__), "softAP")}|{os.path.join(os.path.dirname(__file__), "station")}', + ), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c2'], indirect=['target']) +def test_wifi_getting_started_esp32c2eco4_xtal_26mhz(dut: Tuple[IdfDut, IdfDut]) -> None: + softap = dut[0] + station = dut[1] + + assert station.app.sdkconfig['ESP_WIFI_SOFTAP_SUPPORT'] is False + ssid = softap.app.sdkconfig.get('ESP_WIFI_SSID') + password = softap.app.sdkconfig.get('ESP_WIFI_PASSWORD') + assert station.app.sdkconfig.get('ESP_WIFI_SSID') == ssid + assert station.app.sdkconfig.get('ESP_WIFI_PASSWORD') == password + + tag = 'wifi station' + station.expect(f'{tag}: got ip:', timeout=60) + station.expect(f'{tag}: connected to ap SSID:{ssid} password:{password}', timeout=60) + softap.expect('station .+ join, AID=', timeout=60) + + +@pytest.mark.wifi_two_dut +@pytest.mark.esp32c3eco7 +@pytest.mark.parametrize( + 'count, config, app_path', + [ + ( + 2, + 'esp32c3eco7', + f'{os.path.join(os.path.dirname(__file__), "softAP")}|{os.path.join(os.path.dirname(__file__), "station")}', + ), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c3'], indirect=['target']) +def test_wifi_getting_started_esp32c3eco7(dut: Tuple[IdfDut, IdfDut]) -> None: + softap = dut[0] + station = dut[1] + + assert station.app.sdkconfig['ESP_WIFI_SOFTAP_SUPPORT'] is False + ssid = softap.app.sdkconfig.get('ESP_WIFI_SSID') + password = softap.app.sdkconfig.get('ESP_WIFI_PASSWORD') + assert station.app.sdkconfig.get('ESP_WIFI_SSID') == ssid + assert station.app.sdkconfig.get('ESP_WIFI_PASSWORD') == password + + tag = 'wifi station' + station.expect(f'{tag}: got ip:', timeout=60) + station.expect(f'{tag}: connected to ap SSID:{ssid} password:{password}', timeout=60) + softap.expect('station .+ join, AID=', timeout=60) diff --git a/examples/wifi/getting_started/softAP/sdkconfig.ci.c3eco7 b/examples/wifi/getting_started/softAP/sdkconfig.ci.c3eco7 new file mode 100644 index 0000000000..ad055155c9 --- /dev/null +++ b/examples/wifi/getting_started/softAP/sdkconfig.ci.c3eco7 @@ -0,0 +1,2 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_ESP32C3_REV_MIN_101=y diff --git a/examples/wifi/getting_started/softAP/sdkconfig.ci.esp32c2eco4_xtal26m b/examples/wifi/getting_started/softAP/sdkconfig.ci.esp32c2eco4_xtal26m new file mode 100644 index 0000000000..651a6cc578 --- /dev/null +++ b/examples/wifi/getting_started/softAP/sdkconfig.ci.esp32c2eco4_xtal26m @@ -0,0 +1,3 @@ +CONFIG_IDF_TARGET="esp32c2" +CONFIG_XTAL_FREQ_26=y +CONFIG_ESP32C2_REV_MIN_200=y diff --git a/examples/wifi/getting_started/station/sdkconfig.ci.c3eco7 b/examples/wifi/getting_started/station/sdkconfig.ci.c3eco7 new file mode 100644 index 0000000000..ad055155c9 --- /dev/null +++ b/examples/wifi/getting_started/station/sdkconfig.ci.c3eco7 @@ -0,0 +1,2 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_ESP32C3_REV_MIN_101=y diff --git a/examples/wifi/getting_started/station/sdkconfig.ci.esp32c2eco4_xtal26m b/examples/wifi/getting_started/station/sdkconfig.ci.esp32c2eco4_xtal26m new file mode 100644 index 0000000000..651a6cc578 --- /dev/null +++ b/examples/wifi/getting_started/station/sdkconfig.ci.esp32c2eco4_xtal26m @@ -0,0 +1,3 @@ +CONFIG_IDF_TARGET="esp32c2" +CONFIG_XTAL_FREQ_26=y +CONFIG_ESP32C2_REV_MIN_200=y diff --git a/examples/wifi/power_save/pytest_wifi_power_save.py b/examples/wifi/power_save/pytest_wifi_power_save.py index 6b87e9a90e..2fd93d95c1 100644 --- a/examples/wifi/power_save/pytest_wifi_power_save.py +++ b/examples/wifi/power_save/pytest_wifi_power_save.py @@ -76,3 +76,32 @@ def test_wifi_power_save_pd_top(dut: Dut) -> None: @idf_parametrize('target', ['esp32c2'], indirect=['target']) def test_wifi_power_save_esp32c2_26mhz(dut: Dut) -> None: _run_test(dut) + + +@pytest.mark.wifi_ap +@pytest.mark.xtal_26mhz +@pytest.mark.esp32c2eco4 +@pytest.mark.parametrize( + 'config, baud', + [ + ('c2eco4_xtal26m', '74880'), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c2'], indirect=['target']) +def test_wifi_power_save_esp32c2eco4_26mhz(dut: Dut) -> None: + _run_test(dut) + + +@pytest.mark.wifi_ap +@pytest.mark.esp32c3eco7 +@pytest.mark.parametrize( + 'config', + [ + 'c3eco7', + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c3'], indirect=['target']) +def test_wifi_power_save_esp32c3eco7(dut: Dut) -> None: + _run_test(dut) diff --git a/examples/wifi/power_save/sdkconfig.ci.c2eco4_xtal26m b/examples/wifi/power_save/sdkconfig.ci.c2eco4_xtal26m new file mode 100644 index 0000000000..a302168187 --- /dev/null +++ b/examples/wifi/power_save/sdkconfig.ci.c2eco4_xtal26m @@ -0,0 +1,4 @@ +CONFIG_IDF_TARGET="esp32c2" +CONFIG_XTAL_FREQ_26=y +CONFIG_EXAMPLE_GET_AP_INFO_FROM_STDIN=y +CONFIG_ESP32C2_REV_MIN_200=y diff --git a/examples/wifi/power_save/sdkconfig.ci.c3eco7 b/examples/wifi/power_save/sdkconfig.ci.c3eco7 new file mode 100644 index 0000000000..6b25329043 --- /dev/null +++ b/examples/wifi/power_save/sdkconfig.ci.c3eco7 @@ -0,0 +1,3 @@ +CONFIG_IDF_TARGET="esp32c3" +CONFIG_ESP32C3_REV_MIN_101=y +CONFIG_EXAMPLE_GET_AP_INFO_FROM_STDIN=y diff --git a/tools/ci/idf_pytest/constants.py b/tools/ci/idf_pytest/constants.py index 3e48953c47..b3bc74449a 100644 --- a/tools/ci/idf_pytest/constants.py +++ b/tools/ci/idf_pytest/constants.py @@ -140,6 +140,8 @@ ENV_MARKERS = { 'twai_std': 'twai runner with all twai supported targets connect to usb-can adapter', 'lp_i2s': 'lp_i2s runner tested with hp_i2s', 'ram_app': 'ram_app runners', + 'esp32c3eco7': 'esp32c3 major version(v1.1) chips', + 'esp32c2eco4': 'esp32c2 major version(v2.0) chips', } # by default the timeout is 1h, for some special cases we need to extend it diff --git a/tools/test_apps/phy/phy_tsens/pytest_phy_tsens.py b/tools/test_apps/phy/phy_tsens/pytest_phy_tsens.py index ff194f265d..f2fc1e87b4 100644 --- a/tools/test_apps/phy/phy_tsens/pytest_phy_tsens.py +++ b/tools/test_apps/phy/phy_tsens/pytest_phy_tsens.py @@ -187,3 +187,56 @@ def test_phy_tsens_coexist_c2_xtal26m(dut: Tuple[Dut, Dut]) -> None: _dut.expect('boot:') _dut.expect('esp>') run_phy_tsens_test_with_light_sleep(dut) + + +@pytest.mark.wifi_two_dut +@pytest.mark.xtal_26mhz +@pytest.mark.esp32c2eco4 +@pytest.mark.parametrize( + 'count, config, baud', + [ + (2, 'c2_eco4', '74880'), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c2'], indirect=['target']) +def test_phy_tsens_coexist_c2eco4_xtal26m(dut: Tuple[Dut, Dut]) -> None: + for _dut in dut: + _dut.expect('esp>') + run_phy_tsens_test(dut) + for _dut in dut: + _dut.write('restart') + _dut.expect('boot:') + _dut.expect('esp>') + run_phy_tsens_test_init_wifi_first(dut) + for _dut in dut: + _dut.write('restart') + _dut.expect('boot:') + _dut.expect('esp>') + run_phy_tsens_test_with_light_sleep(dut) + + +@pytest.mark.wifi_two_dut +@pytest.mark.esp32c3eco7 +@pytest.mark.parametrize( + 'count, config', + [ + (2, 'c3_eco7'), + ], + indirect=True, +) +@idf_parametrize('target', ['esp32c3'], indirect=['target']) +def test_phy_tsens_coexist_c3eco7(dut: Tuple[Dut, Dut]) -> None: + for _dut in dut: + _dut.expect('esp>') + run_phy_tsens_test(dut) + for _dut in dut: + _dut.write('restart') + _dut.expect('boot:') + _dut.expect('esp>') + run_phy_tsens_test_init_wifi_first(dut) + for _dut in dut: + _dut.write('restart') + _dut.expect('boot:') + _dut.expect('esp>') + run_phy_tsens_test_with_light_sleep(dut) diff --git a/tools/test_apps/phy/phy_tsens/sdkconfig.ci.c2_eco4 b/tools/test_apps/phy/phy_tsens/sdkconfig.ci.c2_eco4 index 0a1996d938..b9cda6e21a 100644 --- a/tools/test_apps/phy/phy_tsens/sdkconfig.ci.c2_eco4 +++ b/tools/test_apps/phy/phy_tsens/sdkconfig.ci.c2_eco4 @@ -1,2 +1,3 @@ CONFIG_IDF_TARGET="esp32c2" CONFIG_ESP32C2_REV_MIN_200=y +CONFIG_XTAL_FREQ_26=y