Merge branch 'bugfix/support_cert_test' into 'master'

All chip support cert_test

Closes WIFI-5432, IDFGH-12197, and IDFHG-10756

See merge request espressif/esp-idf!27977
This commit is contained in:
Jiang Jiang Jian 2024-09-14 16:44:21 +08:00
commit db50b1ac63
9 changed files with 32 additions and 16 deletions

View File

@ -73,6 +73,19 @@ if(CONFIG_ESP_PHY_ENABLED)
idf_component_get_property(esp_phy_lib esp_phy COMPONENT_LIB)
if(CONFIG_ESP_PHY_ENABLE_CERT_TEST)
if(CONFIG_IDF_TARGET_ESP32)
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${esp_phy_lib}> libbttestmode.a
librftest.a $<TARGET_FILE:${esp_phy_lib}>)
elseif(CONFIG_IDF_TARGET_ESP32S2)
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${esp_phy_lib}> librftest.a
librfate.a $<TARGET_FILE:${esp_phy_lib}>)
else()
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${esp_phy_lib}> libbttestmode.a
librfate.a librftest.a $<TARGET_FILE:${esp_phy_lib}>)
endif()
endif()
if(CONFIG_IDF_TARGET_ESP32)
target_link_libraries(${COMPONENT_LIB} PUBLIC rtc)
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${esp_phy_lib}> libphy.a librtc.a
@ -85,12 +98,7 @@ if(CONFIG_ESP_PHY_ENABLED)
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${esp_phy_lib}> libphy.a
$<TARGET_FILE:${esp_phy_lib}>)
endif()
if(CONFIG_ESP_PHY_ENABLE_CERT_TEST)
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${esp_phy_lib}> libbttestmode.a
librfate.a librftest.a $<TARGET_FILE:${esp_phy_lib}>)
endif()
endif()
if(CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION)
idf_component_get_property(esp_common_dir esp_common COMPONENT_DIR)

View File

@ -130,7 +130,6 @@ menu "PHY"
config ESP_PHY_ENABLE_CERT_TEST
bool "Enable RF certification test functions"
default n
depends on IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3
help
If enabled, you can use RF certification test APIs.

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -63,7 +63,7 @@ typedef struct {
uint32_t phy_rx_correct_count; /*!< The number of desired packets received */
int phy_rx_rssi; /*!< Average RSSI of desired packets */
uint32_t phy_rx_total_count; /*!< The number of total packets received */
uint32_t phy_rx_result_flag; /*!< 0 means no RX info; 1 means the lastest Wi-Fi RX info; 2 means the lastest BLE RX info. */
uint32_t phy_rx_result_flag; /*!< 0 means no RX info; 1 means the latest Wi-Fi RX info; 2 means the latest BLE RX info. */
} esp_phy_rx_result_t;
/**
@ -120,7 +120,7 @@ void esp_phy_cbw40m_en(bool en);
void esp_phy_wifi_tx(uint32_t chan, esp_phy_wifi_rate_t rate, int8_t backoff, uint32_t length_byte, uint32_t packet_delay, uint32_t packet_num);
/**
* @brief Test start/stop command, used to stop transmitting or reciving state.
* @brief Test start/stop command, used to stop transmitting or receiving state.
*
* @param value:
* Value should be set to 3 before TX/RX.

@ -1 +1 @@
Subproject commit b526a0d7204fb36cb322ead9b1096ffd6a097dc9
Subproject commit 8608fcf54d51e81f2e74ebf335fa33f61953f7c8

View File

@ -8,7 +8,9 @@ examples/phy/antenna:
- if: IDF_TARGET in ["esp32p4", "esp32h2"]
reason: not supported
examples/phy/cert_test:
enable:
- if: IDF_TARGET in ["esp32c3", "esp32s3"]
disable:
- if: IDF_TARGET in ["esp32p4"]
reason: not supported
- if: IDF_TARGET in ["esp32c5", "esp32c61"]
temporary: true
reason: the other targets are not tested yet
reason: not supported yet # TODO: [ESP32C5] IDF-8851

View File

@ -1,5 +1,5 @@
| Supported Targets | ESP32-C3 | ESP32-S3 |
| ----------------- | -------- | -------- |
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-H2 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- |
# Certification Test Example
@ -121,4 +121,4 @@ For BLE test, if you want to use `fcc_le_tx` and `rw_le_rx_per` legacy commands
## Troubleshooting
For any technical queries, please open an [issue](https://github.com/espressif/esp-idf/issues) on GitHub. We will get back to you soon.
For any technical queries, please open an [issue](https://github.com/espressif/esp-idf/issues) on GitHub. We will get back to you soon.

View File

@ -38,7 +38,9 @@ void app_main(void)
register_phy_cmd();
/* rftest.a requirements */
#ifndef CONFIG_IDF_TARGET_ESP32H2
esp_wifi_power_domain_on();
#endif
esp_phy_rftest_config(1);
esp_phy_rftest_init();

View File

@ -2,3 +2,4 @@ CONFIG_ESP_TASK_WDT_EN=n
CONFIG_ESP_PHY_INIT_DATA_IN_PARTITION=y
CONFIG_ESP_PHY_ENABLE_CERT_TEST=y
CONFIG_BT_ENABLED=y

View File

@ -0,0 +1,4 @@
#
# ESP32S3-specific
#
CONFIG_ESP_MAIN_TASK_STACK_SIZE=4096