diff --git a/examples/bluetooth/.build-test-rules.yml b/examples/bluetooth/.build-test-rules.yml index 279c3bed76..ff4b2dfbcb 100644 --- a/examples/bluetooth/.build-test-rules.yml +++ b/examples/bluetooth/.build-test-rules.yml @@ -103,24 +103,6 @@ examples/bluetooth/esp_ble_mesh/aligenie_demo: depends_filepatterns: - examples/bluetooth/esp_ble_mesh/common_components/**/* -examples/bluetooth/esp_ble_mesh/coex_test: - enable: - - if: IDF_TARGET in ["esp32"] - temporary: true - reason: the other targets are not tested yet - depends_components: - - bt - - esp_phy - - esp_console - - vfs - - mbedtls - - esp_coex - - esp_wifi - - esp_netif - - esp_driver_gpio - depends_filepatterns: - - examples/bluetooth/esp_ble_mesh/common_components/**/* - examples/bluetooth/esp_ble_mesh/wifi_coexist: disable: - if: SOC_BLE_MESH_SUPPORTED != 1 diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/CMakeLists.txt b/examples/bluetooth/esp_ble_mesh/coex_test/CMakeLists.txt deleted file mode 100644 index 5ba2c074ec..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -# The following lines of boilerplate have to be in your project's CMakeLists -# in this exact order for cmake to work correctly -cmake_minimum_required(VERSION 3.16) - - -include($ENV{IDF_PATH}/tools/cmake/project.cmake) -project(coex_test) diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/README.md b/examples/bluetooth/esp_ble_mesh/coex_test/README.md deleted file mode 100644 index 4c9ebb1511..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/README.md +++ /dev/null @@ -1,110 +0,0 @@ -| Supported Targets | ESP32 | -| ----------------- | ----- | - -# Example of BLE Mesh and TCP Server/Client Coexistence - -This example introduces how to test the basic functions of `BLE Mesh data interface` and `TCP Server/Client Coexistence`. `BLE Mesh data interface` is GAP scanning and advertising. - -There are two working modes here: - - * In automatic mode, the program coordinates three development boards working through a synchronization mechanism. - - * In manual mode, you will work with three development boards via commands - - -## Test Preparation - -* Before running the test, you need to prepare a router and three ESP32 development boards. This Example of BLE Mesh and TCP Server/Client Coexistence has the following three items, and any of the three development boards is for running one specific item. - - * ble_dev : Run only the BLE program. - * coex_dev: Run BLE and Wi-Fi program. - * wifi_dev: Run only the Wi-Fi program. - -``Note: If you want better performance in BLE and WiFi coexistence, you should use a development board with PSRAM that could run a coexistence program. Such as ESP32_LyraT, ESP32-WROVER-B and etc.`` - -* The following structure shows the parameters you need to configure. And usually, there are two methods for configuration, i.e. configuring during initialization or configuring with the command `env`. - -```c -coex_test_env_t test_env = { -#if defined(CONFIG_EXAMPLE_MANAUL) - .ap_ssid = CONFIG_EXAMPLE_WIFI_SSID, - .ap_password = CONFIG_EXAMPLE_WIFI_PASSWORD, -#endif -#if defined(CONFIG_EXAMPLE_COEX_ROLE) - .ap_ssid = CONFIG_EXAMPLE_WIFI_SSID, - .ap_password = CONFIG_EXAMPLE_WIFI_PASSWORD, -#endif - .test_port = "8080", - .server_ip = "192.168.3.32", - .duration = "120000", - .is_start = false, -}; -``` - - -## Run Test Case Manually -Configure to Manual Mode via `Example Configuration --->run mode (manual) ` - -The meaning of the numeric argument of the command `run_tc` is as follows: - -| id | case name | description | -|:-:|:-|:-| -| 0 | wifi_tcp_tx_throughput| Test the case of Wi-Fi tcp tx, which will create a tcp client that will continuously send data to the tcp server. | -| 1 |wifi_tcp_rx_throughput| Test the case of Wi-Fi tcp rx, which will create a tcp server that will continuously receive data from the tcp client. | -| 2 | ble_adv | Test the case of BLE advertising. | -| 3 | ble_scan| Test the case of BLE Scan.| - - -### Case 1: tcp tx + scan -1. wifi_dev: run_tc -w 1 -2. coex_dev: env -s -k server_ip -v 192.168.3.34 run_tc -w 0 -b 3 -3. ble_dev : run_tc -b 2 - - -### Case 2: tcp rx + scan -1. coex_dev: run_tc -w 1 -b 3 -2. wifi_dev: env -s -k server_ip -v 192.168.3.34 run_tc -w 0 -3. ble_dev : run_tc -b 2 - -### Case 3: tcp tx + adv -1. wifi_dev: run_tc -w 1 -2. coex_dev: env -s -k server_ip -v 192.168.3.13 run_tc -w 0 -b 2 -3. ble_dev : run_tc -b 3 - - -### Case 4: tcp rx + adv -1. coex_dev: run_tc -w 1 -b 2 -2. wifi_dev: env -s -k server_ip -v 192.168.3.34 run_tc -w 0 -3. ble_dev : run_tc -b 3 - -## Run Test Case By Automation -Configure to Automatic Mode via `Example Configuration --->run mode (auto) ` - -### Coexistence device configuration -1. Select a development board as coexistence role by `Example Configuration --->select role (run device as coex role) ` -2. Select a test case by `Example Configuration --->select case `. -* There are four types of cases: - * TCP TX and BLE ADV: The TCP client will be created on the coexistence device, and bluetooth will start advertising when the Wi-Fi is running tx throughput program. - * TCP RX and BLE ADV: The TCP server will be created on the coexistence device, and bluetooth will start advertising when the Wi-Fi is running rx throughput program. - * TCP TX and BLE SCAN: The TCP client will be created on the coexistence device, and bluetooth will start scanning when the Wi-Fi is running tx throughput program. - * TCP RX and BLE SCAN: The TCP server will be created on the coexistence device, and bluetooth will start scanning when the Wi-Fi is running rx throughput program. - -### Bluetooth device configuration -1. Select a development board as bluetooth role by `select role (run device as bluetooth role) ` - -### Wi-Fi device configuration -1. Select a development board as bluetooth role by `select role (run device as wifi role) ` - - -## Coexistence Configuration -In theory, the performance of BLE and Wi-Fi coexistence will drop to half of the performance in BLE Only mode or Wi-Fi Only mode. - -* ESP32 working frequency: - * Component config ---> ESP32-specific ---> CPU frequency (240 MHz) - -* ESP32 external PSRAM - * Component config ---> ESP32-specific ---> Support for external, SPI-connected RAM - * Devices that do not support PSRAM cannot open this option! - -* ESP32 coexistence mode - * Component config ---> Wi-Fi ---> WiFi/Bluetooth coexistence performance preference (Balance) diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/CMakeLists.txt b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/CMakeLists.txt deleted file mode 100644 index b08fff2317..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -set(srcs "ble_unit.c" - "run_tc.c" - "sync.c" - "test_env.c" - "wifi_connect.c" - "wifi_unit.c") - -idf_component_register(SRCS "${srcs}" - INCLUDE_DIRS "." - REQUIRES console nvs_flash bt - REQUIRED_IDF_TARGETS esp32) diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/ble_unit.c b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/ble_unit.c deleted file mode 100644 index eb2ff48068..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/ble_unit.c +++ /dev/null @@ -1,255 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#include - -#include "ble_unit.h" -#include "sync.h" -#define TAG "BLE_UINT" - -#define GAP_TRANS_DEFAULT_SHORT_TO 50 // 50ms for events expected to reported as soon as API called - -static uint8_t default_adv_data[] = { - 0x02, 0x01, 0x06, - 0x02, 0x0a, 0xeb, 0x03, 0x03, 0xab, 0xcd -}; -static uint8_t default_scan_rsp_data[] = { - 0x0f, 0x09, 0x45, 0x53, 0x50, 0x5f, 0x47, 0x41, 0x54, 0x54, 0x53, 0x5f, 0x43, - 0x4f, 0x45, 0x58 -}; - -esp_ble_scan_params_t default_scan_param = { - .scan_type = BLE_SCAN_TYPE_ACTIVE, - .own_addr_type = BLE_ADDR_TYPE_PUBLIC, - .scan_filter_policy = BLE_SCAN_FILTER_ALLOW_ALL, - .scan_interval = 0x100, - .scan_window = 0x100 -}; - -esp_ble_adv_params_t default_adv_param = { - .adv_int_min = 0x40, - .adv_int_max = 0x40, - .adv_type = ADV_TYPE_IND, - .own_addr_type = BLE_ADDR_TYPE_PUBLIC, - .channel_map = ADV_CHNL_ALL, - .adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY, -}; - -ble_util_scan_count_t scan_count; - -static void ble_gap_event_default_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) -{ - switch (event) { - case ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT: { - if (param->scan_param_cmpl.status != ESP_BT_STATUS_SUCCESS) { - ESP_LOGE(TAG, "set scan parameter failed, error status = %x", param->scan_param_cmpl.status); - } - break; - } - case ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT: { - if (param->adv_data_raw_cmpl.status != ESP_BT_STATUS_SUCCESS) { - ESP_LOGE(TAG, "set row data failed, error status = %x", param->adv_data_raw_cmpl.status); - } - break; - } - case ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT: { - if (param->scan_rsp_data_raw_cmpl.status != ESP_BT_STATUS_SUCCESS) { - ESP_LOGE(TAG, "set scan response data failed, error status = %x", param->scan_rsp_data_raw_cmpl.status); - } - break; - } - case ESP_GAP_BLE_ADV_START_COMPLETE_EVT: { - if (param->adv_start_cmpl.status != ESP_BT_STATUS_SUCCESS) { - ESP_LOGE(TAG, "Advertising start failed"); - } - break; - } - case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT: - if (param->adv_stop_cmpl.status != ESP_BT_STATUS_SUCCESS) { - ESP_LOGE(TAG, "Advertising stop failed"); - } - break; - case ESP_GAP_BLE_SCAN_START_COMPLETE_EVT: { - if (param->scan_start_cmpl.status != ESP_BT_STATUS_SUCCESS) { - ESP_LOGE(TAG, "scan start failed, error status = %x", param->scan_start_cmpl.status); - } - break; - } - case ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT: - if (param->scan_stop_cmpl.status != ESP_BT_STATUS_SUCCESS) { - ESP_LOGE(TAG, "scan stop failed, error status = %x", param->scan_stop_cmpl.status); - } - break; - default: - break; - } -} - -static void ble_gap_util_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) -{ - if (sync_obj.cmd_recv != NULL) { - sync_obj.cmd_recv(param->scan_rst.ble_adv, param->scan_rst.adv_data_len); - } - - switch (event) { - case ESP_GAP_BLE_SCAN_RESULT_EVT: - switch (param->scan_rst.search_evt) { - case ESP_GAP_SEARCH_INQ_RES_EVT: - if (param->scan_rst.adv_data_len > 0 \ - && (memcmp(default_adv_data, param->scan_rst.ble_adv, sizeof(default_adv_data)) == 0)) { - scan_count.adv_count += 1; - if (scan_count.adv_count % 10 == 0) { - ESP_LOGI(TAG, "adv count:%" PRIu32 " scan_res count %" PRIu32, scan_count.adv_count, scan_count.scan_res_count); - } - } - - if (param->scan_rst.scan_rsp_len > 0 \ - && (memcmp(default_scan_rsp_data, (param->scan_rst.ble_adv + param->scan_rst.adv_data_len), sizeof(default_scan_rsp_data)) == 0)) { - scan_count.scan_res_count += 1; - } - break; - default: - break; - } - break; - default: - ble_gap_event_default_handler(event, param); - break; - } -} - - -esp_err_t ble_gap_util_set_adv_data(uint8_t *adv_data, uint32_t adv_data_len, uint8_t *scan_rsp_data, uint32_t scan_rsp_data_len) -{ - esp_err_t ret; - - ret = esp_ble_gap_config_adv_data_raw(adv_data, adv_data_len); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_config_adv_data_raw error, %d", ret); - return ret; - } - ret = esp_ble_gap_config_scan_rsp_data_raw(scan_rsp_data, scan_rsp_data_len); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_config_scan_rsp_data_raw error, %d", ret); - return ret; - } - return 0; -} - -esp_err_t ble_gap_util_set_default_adv_data(void) -{ - return ble_gap_util_set_adv_data(default_adv_data, sizeof(default_adv_data), default_scan_rsp_data, sizeof(default_scan_rsp_data)); -} - -esp_err_t ble_gap_util_start_adv(esp_ble_adv_params_t *adv_param) -{ - esp_err_t ret; - ret = esp_ble_gap_start_advertising(adv_param); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_start_advertising error, %d", ret); - return ret; - } - return 0; -} - -esp_err_t ble_gap_util_start_adv_default(void) -{ - esp_err_t ret; - - ret = esp_ble_gap_start_advertising(&default_adv_param); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_start_advertising error, %d", ret); - return ret; - } - return 0; -} - -esp_err_t ble_gap_util_stop_adv(void) -{ - esp_err_t ret; - ret = esp_ble_gap_stop_advertising(); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_stop_advertising error, %d", ret); - return ret; - } - return 0; -} - -esp_err_t ble_gap_util_set_scan_param(esp_ble_scan_params_t *scan_param) -{ - esp_err_t ret; - ret = esp_ble_gap_set_scan_params(scan_param); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_set_scan_params error, %d", ret); - return ret; - } - return 0; -} - -esp_err_t ble_gap_util_set_default_scan_param(void) -{ - return ble_gap_util_set_scan_param(&default_scan_param); -} - -esp_err_t ble_gap_util_start_scan(uint32_t duration) -{ - esp_err_t ret; - ret = esp_ble_gap_start_scanning(duration); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_start_scanning error, %d", ret); - return ret; - } - return 0; -} - -esp_err_t ble_gap_util_stop_scan(void) -{ - esp_err_t ret; - ret = esp_ble_gap_stop_scanning(); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_stop_scanning error, %d", ret); - return ret; - } - return 0; -} - - -void ble_gap_util_stop(void) -{ - ble_gap_util_stop_adv(); - ble_gap_util_stop_scan(); -} - -esp_err_t init_ble_gap_test_util(void) -{ - esp_err_t ret; - ret = esp_ble_gap_register_callback(ble_gap_util_handler); - if (ret) { - ESP_LOGE(TAG, "gap register error, error code = %x", ret); - } - return ret; -} - -void bt_test_init(void) -{ - ESP_ERROR_CHECK(esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT)); - esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_bt_controller_init(&bt_cfg)); - ESP_ERROR_CHECK(esp_bt_controller_enable(ESP_BT_MODE_BLE)); - esp_bluedroid_config_t bluedroid_cfg = BT_BLUEDROID_INIT_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_bluedroid_init_with_cfg(&bluedroid_cfg)); - ESP_ERROR_CHECK(esp_bluedroid_enable()); -} - -void bt_test_deinit(void) -{ - esp_bluedroid_disable(); - esp_bluedroid_deinit(); - esp_bt_controller_disable(); - esp_bt_controller_deinit(); -} diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/ble_unit.h b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/ble_unit.h deleted file mode 100644 index d5b4c5362c..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/ble_unit.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#ifndef _BLE_UNIT_H_ -#define _BLE_UNIT_H_ -#include -#include -#include "esp_system.h" -#include "esp_timer.h" -#include "esp_log.h" -#include "nvs_flash.h" -#include "esp_bt.h" - -#include "esp_gap_ble_api.h" -#include "esp_gatts_api.h" -#include "esp_gattc_api.h" -#include "esp_bt_defs.h" -#include "esp_bt_main.h" -#include "esp_gatt_common_api.h" - -#define BLE_TC_SCAN_REPORT_PERIOD 10000 - -typedef struct { - uint32_t adv_count; - uint32_t scan_res_count; -} ble_util_scan_count_t; - - -extern esp_bd_addr_t bt_addr; -extern ble_util_scan_count_t scan_count; -extern esp_ble_adv_params_t default_adv_param; -extern esp_ble_scan_params_t default_scan_param; - -void bt_test_init(void); -void bt_test_deinit(void); -void ble_gap_util_stop(void); - -esp_err_t ble_gap_util_set_adv_data(uint8_t *adv_data, uint32_t adv_data_len, uint8_t *scan_rsp_data, uint32_t scan_rsp_data_len); -esp_err_t ble_gap_util_set_default_adv_data(void); -esp_err_t ble_gap_util_start_adv(esp_ble_adv_params_t *adv_param); -esp_err_t ble_gap_util_start_adv_default(void); -esp_err_t ble_gap_util_stop_adv(void); - -esp_err_t ble_gap_util_set_scan_param(esp_ble_scan_params_t *scan_param); -esp_err_t ble_gap_util_set_default_scan_param(void); -esp_err_t ble_gap_util_start_scan(uint32_t duration); -esp_err_t ble_gap_util_stop_scan(void); - -esp_err_t init_ble_gap_test_util(void); - -#endif /* _BLE_UNIT_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/run_tc.c b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/run_tc.c deleted file mode 100644 index 08460ae998..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/run_tc.c +++ /dev/null @@ -1,286 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#include - -#include "run_tc.h" -#include "test_env.h" -#include "wifi_unit.h" -#include "ble_unit.h" -#include "sync.h" -#include "wifi_connect.h" - -#define TAG "CASE" - -QueueHandle_t xTaskQueue = 0; - -static const char *coex_get_case_env(coex_test_env_t *test_env, const char *keyword) -{ - const char *ret = NULL; - if (!strcmp(keyword, "ap_ssid")) { - ret = test_env->ap_ssid; - } else if (!strcmp(keyword, "ap_password")) { - ret = test_env->ap_password; - } else if (!strcmp(keyword, "test_port")) { - ret = test_env->test_port; - } else if (!strcmp(keyword, "server_ip")) { - ret = test_env->server_ip; - } else if (!strcmp(keyword, "duration")) { - ret = test_env->duration; - } - - return ret; -} - -static void wifi_tc_sta_throughput_timeout(void *arg) -{ - static uint32_t statistic_count = 0; - static uint64_t accumulate_speed = 0; - - uint32_t now = utils_get_system_ts(); - uint32_t *report = (uint32_t *) arg; - uint32_t last_timestamp = report[0]; - - if (now > last_timestamp) { - uint32_t speed = report[1] * 8 / (now - last_timestamp); - accumulate_speed += speed; - statistic_count += 1; - printf("speed: %" PRIu32 " kbps average speed: %lld kbps\n", speed, accumulate_speed / statistic_count ); - report[1] = 0; - report[0] = now; - } -} - -static esp_err_t create_statistic_timer(esp_timer_handle_t *timer_hdl , uint32_t statistic_date[]) -{ - esp_err_t ret; - esp_timer_create_args_t tca = { - .callback = (esp_timer_cb_t)wifi_tc_sta_throughput_timeout, - .dispatch_method = ESP_TIMER_TASK, - .name = "TCP_STATISTIC", - }; - tca.arg = statistic_date; - ret = esp_timer_create(&tca, timer_hdl); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "statistic_timer create failed"); - return ret; - } - esp_timer_start_periodic(*timer_hdl, 1000000); //1000ms - return ret; -} - - -void wifi_tcp_tx_throught_start(void *param) -{ - esp_timer_handle_t timer_hdl = NULL; - esp_err_t ret; - int sock = -1; - uint32_t statistic_date[2] = {0}; - - const char *ssid = coex_get_case_env(param, "ap_ssid"); - const char *passwd = coex_get_case_env(param, "ap_password"); - - - wifi_util_init(); - // wifi_unit_connect_ap(ssid, passwd); - example_connect(ssid, passwd); - -#if defined(CONFIG_EXAMPLE_AUTO) - if (((coex_test_env_t *)param)->run_mutex != NULL) { - //This will be blocked by the sync timer. - xSemaphoreTake(((coex_test_env_t *)param)->run_mutex, portMAX_DELAY); - xSemaphoreGive(((coex_test_env_t *)param)->run_mutex); - } -#endif - const char *ip = coex_get_case_env(param, "server_ip"); - const char *port = coex_get_case_env(param, "test_port"); - const char *duration = coex_get_case_env(param, "duration"); - wifi_unit_client_establish(&sock, ip, port); - - ret = create_statistic_timer(&timer_hdl, statistic_date); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "statistic_timer create failed"); - goto _stop; - } - - ret = wifi_util_tcp_send(sock, 1460, 0, &statistic_date[1], atoi(duration)); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "send failed, %x", ret); - } - -_stop: - if (timer_hdl) { - esp_timer_stop(timer_hdl); - esp_timer_delete(timer_hdl); - } - - if (sock > 0) { - close(sock); - } -} - -void wifi_tcp_tx_throught_end(void) -{ - esp_wifi_disconnect(); -} - -void wifi_tcp_rx_throught_start(void *param) -{ - esp_timer_handle_t timer_hdl = NULL; - esp_err_t ret; - int sock = -1; - uint32_t statistic_date[2] = {0}; - - const char *ssid = coex_get_case_env(param, "ap_ssid"); - const char *passwd = coex_get_case_env(param, "ap_password"); - const char *port = coex_get_case_env(param, "test_port"); - const char *duration = coex_get_case_env(param, "duration"); - - wifi_util_init(); - // wifi_unit_connect_ap(ssid, passwd); - example_connect(ssid, passwd); - wifi_unit_server_establish( &sock, port); - - ret = create_statistic_timer(&timer_hdl, statistic_date); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "statistic_timer create failed"); - goto _stop; - } - ret = wifi_unit_tcp_recv(sock, duration, statistic_date); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "tcp receive failed"); - goto _stop; - } -_stop: - if (timer_hdl) { - esp_timer_stop(timer_hdl); - esp_timer_delete(timer_hdl); - } - - if (sock > 0) { - close(sock); - } -} - -void wifi_tcp_rx_throught_end(void) -{ - esp_wifi_disconnect(); -} - -void ble_adv_start(void *param) -{ - esp_err_t ret; - const char *duration = coex_get_case_env(param, "duration"); -#if defined(CONFIG_EXAMPLE_MANAUL) - bt_test_init(); -#endif - ret = ble_gap_util_set_default_adv_data(); - - if (ret != ESP_OK) { - ESP_LOGE(TAG, "failed to set adv data"); - return; - } - - ret = ble_gap_util_start_adv(&default_adv_param); - - if (ret != ESP_OK) { - ESP_LOGE(TAG, "failed to start adv"); - return; - } - - vTaskDelay(atoi(duration) / portTICK_PERIOD_MS); - -} - -void ble_adv_end(void) -{ - ble_gap_util_stop(); -} - - -void ble_scan_start(void *param) -{ - esp_err_t ret; -#if defined(CONFIG_EXAMPLE_MANAUL) - bt_test_init(); - vTaskDelay(10 / portTICK_PERIOD_MS); - init_ble_gap_test_util(); -#endif - - - ret = ble_gap_util_set_scan_param(&default_scan_param); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "set scan param fail"); - return; - } - vTaskDelay(10 / portTICK_PERIOD_MS); - - scan_count.adv_count = 0; - scan_count.scan_res_count = 0; - - ret = esp_ble_gap_start_scanning(BLE_TC_SCAN_REPORT_PERIOD); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_start_scanning error, %d", ret); - return; - } -} - -void ble_scan_end(void) -{ - ESP_LOGI(TAG, "%s", __func__); -} - -tc_t tc_case[] = { - DECLARE_TC(TC_WIFI_COEX_TCP_TX_THROUGHPUT, 0, wifi_tcp_tx_throught_start, wifi_tcp_tx_throught_end, (void *)&test_env), - DECLARE_TC(TC_WIFI_COEX_TCP_RX_THROUGHPUT, 1, wifi_tcp_rx_throught_start, wifi_tcp_rx_throught_end, (void *)&test_env), - DECLARE_TC(TC_BLE_COEX_ADV, 2, ble_adv_start, ble_adv_end, (void *)&test_env), - DECLARE_TC(TC_BLE_COEX_SCAN, 3, ble_scan_start, ble_scan_end, (void *)&test_env), -}; - -static void excute_case(void *arg) -{ - tc_t *run_case = (tc_t *) arg; - if (run_case && run_case->func_start != NULL) { - run_case->func_start(run_case->param_list); - } - - if (run_case && run_case->func_stop != NULL ) { - vTaskDelay(100 / portTICK_PERIOD_MS); - run_case->func_stop(); - } - vTaskDelete(NULL); -} - -static void run_task(void *arg) -{ - tc_t *tc_case_table = (tc_t *) arg; - run_task_msg_t msg; - - for (;;) { - if (pdTRUE == xQueueReceive(xTaskQueue, &msg, (TickType_t)portMAX_DELAY)) { - if ( msg.case_id < sizeof(tc_case) / sizeof(tc_case[0]) ) { - xTaskCreatePinnedToCore(excute_case, tc_case_table->name, 4096, &tc_case_table[msg.case_id], RUN_TASK_PRIORITY, NULL, 0); - } else { - ESP_LOGW(TAG, "msg.case_id %d", msg.case_id); - } - - } - } - vTaskDelete(NULL); -} - - -void run_tc_init(void) -{ - xTaskQueue = xQueueCreate(RUN_TASK_QUEUE_LEN, sizeof(run_task_msg_t)); - if (!xTaskQueue) { - ESP_LOGE(TAG, "xTaskQueue create failed"); - return; - } - xTaskCreatePinnedToCore(run_task, "run_task", 4096, tc_case, RUN_TASK_PRIORITY, NULL, 0); -} diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/run_tc.h b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/run_tc.h deleted file mode 100644 index 9f07194acb..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/run_tc.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#ifndef __RUN_TC_H__ -#define __RUN_TC_H__ - -#include -#include -#include -#include - -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "freertos/queue.h" - -#define TC_NAME_LEN 63 -typedef void (*tc_func_start_t)(void *param); -typedef void (*tc_func_end_t)(void); - - -typedef struct tc { - char name[TC_NAME_LEN + 1]; - uint8_t case_id; - tc_func_start_t func_start; - tc_func_end_t func_stop; - void *param_list; -} tc_t; - - -#define TC_WIFI_COEX_TCP_TX_THROUGHPUT "TCP_COEX_TX_THROUGHPUT" -#define TC_WIFI_COEX_TCP_RX_THROUGHPUT "TCP_COEX_RX_THROUGHPUT" -#define TC_BLE_COEX_ADV "BLE_COEX_ADVERTISING" -#define TC_BLE_COEX_SCAN "BLE_COEX_SCAN" - -// run_task queue size -#define RUN_TASK_QUEUE_LEN 6 -#define RUN_TASK_PRIORITY 18 - -#define DECLARE_TC(name, id, start_func, stop_func, param_list) \ - {name, id, start_func, stop_func, param_list} - -typedef struct run_task_msg { - uint8_t case_id; -} run_task_msg_t; - -extern QueueHandle_t xTaskQueue ; - -void run_tc_init(void); - -#endif /* __RUN_TC_H__ */ diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/sync.c b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/sync.c deleted file mode 100644 index 0680cd5c69..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/sync.c +++ /dev/null @@ -1,541 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#include "sync.h" -#include "run_tc.h" -#include "wifi_unit.h" -#define TAG "SYNC" - -SemaphoreHandle_t client_mutex; - -struct sync_t sync_obj = { - .except_recv_wifi_id = false, - .except_recv_bt_id = false, - .recv_param_bit = 0x0, - .start_time = 0x0, - -#if defined(CONFIG_EXAMPLE_COEX_ROLE) - .state = ASSIGN_CASE, -#else - .state = WAIT_CASE, -#endif -#if defined(CONFIG_EXAMPLE_COEX_TX_ADV) - .own_wifi_case = WIFI_TCP_TX_CASE, - .own_ble_case = BLE_ADV_CASE, -#elif defined(CONFIG_EXAMPLE_COEX_RX_ADV) - .own_wifi_case = WIFI_TCP_RX_CASE, - .own_ble_case = BLE_ADV_CASE, -#elif defined(CONFIG_EXAMPLE_COEX_TX_SCAN) - .own_wifi_case = WIFI_TCP_TX_CASE, - .own_ble_case = BLE_SCAN_CASE, -#elif defined(CONFIG_EXAMPLE_COEX_RX_SCAN) - .own_wifi_case = WIFI_TCP_RX_CASE, - .own_ble_case = BLE_SCAN_CASE, -#else - .own_wifi_case = NOT_CASE, - .own_ble_case = NOT_CASE, -#endif -}; - - -auto_tc auto_tb[6] = { - {WIFI_TCP_TX_CASE, PARAMTER(0b011011)}, //need paramter: wifi_case_id ssid password server ip - {WIFI_TCP_RX_CASE, PARAMTER(0b010011)}, //need paramter: wifi_case_id ssid password - {BLE_ADV_CASE, PARAMTER(0b100000)}, //need paramter: ble_case_id - {BLE_SCAN_CASE, PARAMTER(0b100000)}, //need paramter: ble_case_id -}; - - -esp_err_t send_adv(uint8_t *raw_data, uint32_t raw_data_len) -{ - esp_err_t ret; - - esp_ble_adv_params_t adv_param = { - .adv_int_min = 0x40, - .adv_int_max = 0x40, - .adv_type = ADV_TYPE_NONCONN_IND, - .own_addr_type = BLE_ADDR_TYPE_PUBLIC, - .channel_map = ADV_CHNL_ALL, - .adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY, - }; - ret = esp_ble_gap_config_adv_data_raw(raw_data, raw_data_len); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_config_adv_data_raw error, %d", ret); - return ret; - } - - ret = esp_ble_gap_start_advertising(&adv_param); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_start_advertising error, %d", ret); - return ret; - } - vTaskDelay(30 / portTICK_PERIOD_MS); //every 30ms send one packet - - ret = esp_ble_gap_stop_advertising(); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_stop_advertising error, %d", ret); - return ret; - } - return 0; -} - -esp_err_t send_adv_data(sync_msg *msg) -{ - send_adv((uint8_t *)msg, sizeof(sync_msg)); - return 0; -} - -void send_start_msg(uint8_t start_time) -{ - sync_msg msg = { - .length = 30, - .type = MSG_TYPE, - .head = MSG_HEAD, - .msg_id = 0x4, - .ctl = MSG_CONTINUE, - .param_bit = 0b000100 << PARAM_MAX, - .reserve = 0xff, - .data = {start_time}, - }; - send_adv_data(&msg); -} -void send_start_countdown(void) -{ - if (sync_obj.except_recv_bt_id == true && sync_obj.except_recv_wifi_id == true) { - esp_timer_stop(sync_obj.sync_timer); - esp_timer_start_once(sync_obj.sync_timer, 1000000); - sync_obj.state = START_CASE; - } -} -void send_tcp_rx_inited_msg(void) -{ - uint8_t hex_ip[4]; - uint32_t ip = wifi_util_get_ip(); - memcpy(hex_ip, &ip, sizeof(hex_ip)); - if (hex_ip[0] == 0x0) { - return; - } - sync_msg msg = { - .length = 30, - .type = MSG_TYPE, - .head = MSG_HEAD, - .msg_id = MSG_ID_WIFI_DEV_INIT_FINISH, - .ctl = MSG_CONTINUE, - .param_bit = 0b001000 << PARAM_MAX, - .reserve = 0xff, - .data = {hex_ip[0], hex_ip[1], hex_ip[2], hex_ip[3]}, - }; - send_adv_data(&msg); -} -void send_case_inited_msg(uint8_t msg_id) -{ - sync_msg msg = { - .length = 30, - .type = MSG_TYPE, - .head = MSG_HEAD, - .msg_id = msg_id, - .ctl = MSG_CONTINUE, - .param_bit = 0b000000 << PARAM_MAX, - .reserve = 0xff, - .data = {0}, - }; - send_adv_data(&msg); -} - -void assign_case_to_dev(uint8_t ble_id, uint8_t wifi_id) -{ - if ( sync_obj.own_wifi_case == WIFI_TCP_RX_CASE ) { - uint8_t hex_ip[4]; - uint32_t ip = wifi_util_get_ip(); - ESP_LOGI(TAG, "ip:%s", inet_ntoa(ip)); - memcpy(hex_ip, &ip, sizeof(hex_ip)); - if (hex_ip[0] == 0x0) { - return; - } - sync_msg msg = { - .length = 30, - .type = MSG_TYPE, - .head = MSG_HEAD, - .msg_id = 0x1, - .ctl = MSG_CONTINUE, - .param_bit = 0b111000 << PARAM_MAX, - .reserve = 0xff, - .data = {ble_id, wifi_id, hex_ip[0], hex_ip[1], hex_ip[2], hex_ip[3]}, - }; - send_adv_data(&msg); - } else if ( sync_obj.own_wifi_case == WIFI_TCP_TX_CASE ) { - sync_msg msg1 = { - .length = 30, - .type = MSG_TYPE, - .head = MSG_HEAD, - .msg_id = 0x1, - .ctl = MSG_CONTINUE, - .param_bit = 0b110000 << PARAM_MAX, - .reserve = 0xff, - .data = {ble_id, wifi_id}, - }; - send_adv_data(&msg1); - } -#if defined(CONFIG_EXAMPLE_COEX_ROLE) - if (strlen(CONFIG_EXAMPLE_WIFI_SSID) < 20) { - sync_msg msg = { - .length = 30, - .type = MSG_TYPE, - .head = MSG_HEAD, - .msg_id = 0x1, - .ctl = MSG_CONTINUE, - .param_bit = 0b000010 << PARAM_MAX, - .reserve = 0xff, - .data[0] = strlen(CONFIG_EXAMPLE_WIFI_SSID), - }; - for (uint8_t i = 0 ; i < strlen(CONFIG_EXAMPLE_WIFI_SSID); i++) { - msg.data[i + 1] = CONFIG_EXAMPLE_WIFI_SSID[i] - '0'; - } - send_adv_data(&msg); - } - - if (strlen(CONFIG_EXAMPLE_WIFI_PASSWORD) < 20) { - sync_msg msg = { - .length = 30, - .type = MSG_TYPE, - .head = MSG_HEAD, - .msg_id = 0x1, - .ctl = MSG_END, - .param_bit = 0b000001 << PARAM_MAX, - .reserve = 0xff, - .data[0] = strlen(CONFIG_EXAMPLE_WIFI_PASSWORD), - }; - for (int i = 0 ; i < strlen(CONFIG_EXAMPLE_WIFI_PASSWORD); i++) { - msg.data[i + 1] = CONFIG_EXAMPLE_WIFI_PASSWORD[i] - '0'; - } - send_adv_data(&msg); - } -#endif -} - - -void excute_case(uint8_t run_case) -{ - run_task_msg_t msg; - msg.case_id = run_case; - if (xQueueSend(xTaskQueue, &msg, portMAX_DELAY) != pdTRUE) { - ESP_LOGE(TAG, "xTaskQueue Post failed"); - } -} - - -void assign_test_case(void) -{ -#if defined(CONFIG_EXAMPLE_COEX_TX_ADV) - assign_case_to_dev(BLE_SCAN_CASE, WIFI_TCP_RX_CASE); -#elif defined(CONFIG_EXAMPLE_COEX_RX_ADV) - assign_case_to_dev(BLE_SCAN_CASE, WIFI_TCP_TX_CASE); -#elif defined(CONFIG_EXAMPLE_COEX_TX_SCAN) - assign_case_to_dev(BLE_ADV_CASE, WIFI_TCP_RX_CASE); -#elif defined(CONFIG_EXAMPLE_COEX_RX_SCAN) - assign_case_to_dev(BLE_ADV_CASE, WIFI_TCP_TX_CASE); -#endif -} - - -void analys_param(uint16_t param_bit, uint8_t data[], uint16_t *recv_param_bit) -{ - - uint8_t data_ptr = 0; - - for (int i = 0 ; i < PARAM_MAX; i++ ) { - switch (GET_PARAM(param_bit, 0x1000 >> i)) { - case BLE_CASE_ID: - ESP_LOGD(TAG, "BLE_CASE_ID"); -#if defined(CONFIG_EXAMPLE_BT_ROLE) - sync_obj.own_ble_case = data[data_ptr]; - (*recv_param_bit) |= BLE_CASE_ID; -#endif - data_ptr += 1; - break; - case WIFI_CASE_ID: - ESP_LOGD(TAG, "WIFI_CASE_ID"); -#if defined(CONFIG_EXAMPLE_WIFI_ROLE) - sync_obj.own_wifi_case = data[data_ptr]; - (*recv_param_bit) |= WIFI_CASE_ID; -#endif - data_ptr += 1; - break; - case START_TIME: - ESP_LOGD(TAG, "START_TIME"); - sync_obj.start_time = data[data_ptr]; - data_ptr += 1; - break; - case SERVER_IP: { - ESP_LOGD(TAG, "SERVER_IP"); - char server_ip[16]; - memset(server_ip, '0', sizeof(server_ip)); - sprintf(server_ip, "%d.%d.%d.%d", data[data_ptr], data[data_ptr + 1], data[data_ptr + 2], data[data_ptr + 3]); // size conversion - coex_set_test_env("server_ip", server_ip, sizeof(server_ip)); - coex_print_test_env(); - data_ptr += 4; - (*recv_param_bit) |= SERVER_IP; - break; - } - case WIFI_SSID: { - ESP_LOGD(TAG, "WIFI_SSID"); - uint8_t length = data[data_ptr]; - data_ptr += 1; - if ( length > 20) { - ESP_LOGE(TAG, "ssid length error"); - break; - } - char *ssid = malloc(length + 1); - if (ssid == NULL) { - ESP_LOGE(TAG, "%s malloc fail", __func__); - return ; - } - memset(ssid, '0', sizeof(length + 1)); - - for (int i = length - 1 ; i >= 0 ; i--) { - ssid[i] = data[data_ptr + i] + '0'; - } - ssid[length] = '\n'; - coex_set_test_env("ap_ssid", ssid, length); - coex_print_test_env(); - (*recv_param_bit) |= WIFI_SSID; - free(ssid); - break; - } - case WIFI_PASSWIRD: { - ESP_LOGD(TAG, "WIFI_PASSWIRD"); - uint8_t length = data[data_ptr]; - data_ptr += 1; - if ( length > 20) { - ESP_LOGE(TAG, "password length error"); - break; - } - char *password = malloc(length + 1); - if (password == NULL) { - ESP_LOGE(TAG, "%s malloc fail", __func__); - return ; - } - memset(password, '0', sizeof(length + 1)); - for (int i = length - 1 ; i >= 0 ; i--) { - password[i] = data[data_ptr + i] + '0'; - } - password[length] = '\n'; - coex_set_test_env("ap_password", password, length); - coex_print_test_env(); - (*recv_param_bit) |= WIFI_PASSWIRD; - free(password); - break; - } - default: - break; - } - } - -} - -void sync_cmd_recv(uint8_t *raw_data, uint32_t raw_data_len) -{ - if (raw_data_len < MSG_MIN_LEN) { - ESP_LOGD(TAG, "msg length is low"); - } - sync_msg_head msg_head = {0}; - memcpy(&msg_head, raw_data, sizeof(sync_msg_head)); - - if (msg_head.type != MSG_TYPE || msg_head.head != MSG_HEAD) { - ESP_LOGD(TAG, "msg is unknown"); - return; - } - ESP_LOGD(TAG, "msg_id: %x", msg_head.msg_id); - // ESP_LOG_BUFFER_HEX("sync recv:", raw_data, raw_data_len); - switch (sync_obj.state) { -#if defined(CONFIG_EXAMPLE_WIFI_ROLE) || defined(CONFIG_EXAMPLE_BT_ROLE) - case WAIT_CASE: { - ESP_LOGD(TAG, "WAIT_CASE"); - if (msg_head.msg_id == MSG_ID_ASSIGN_CASE) { - analys_param(msg_head.param_bit, raw_data + MSG_DATA_BASE, &sync_obj.recv_param_bit ); -#if defined(CONFIG_EXAMPLE_WIFI_ROLE) - if (sync_obj.own_wifi_case != NOT_CASE) { - if ((sync_obj.recv_param_bit & auto_tb[sync_obj.own_wifi_case].excpet_param_bit) == auto_tb[sync_obj.own_wifi_case].excpet_param_bit) { - excute_case(sync_obj.own_wifi_case); - sync_obj.state = WAIT_START; - esp_timer_start_periodic(sync_obj.sync_timer, SYNC_TIMEOUT ); - } - } -#endif -#if defined(CONFIG_EXAMPLE_BT_ROLE) - if (sync_obj.own_ble_case != NOT_CASE) { - if ((sync_obj.recv_param_bit & auto_tb[sync_obj.own_ble_case].excpet_param_bit) == auto_tb[sync_obj.own_ble_case].excpet_param_bit) { - sync_obj.state = WAIT_START; - esp_timer_start_periodic(sync_obj.sync_timer, SYNC_TIMEOUT ); - } - } -#endif - } - break; - } - case WAIT_START: - ESP_LOGD(TAG, "WAIT_START"); - ESP_LOGD(TAG, "WAIT_START %x", msg_head.msg_id); - if (msg_head.msg_id == MSG_ID_START_CASE) { - analys_param(msg_head.param_bit, raw_data + MSG_DATA_BASE, &sync_obj.recv_param_bit ); - sync_obj.state = START_CASE; - ble_gap_util_stop(); -#if defined(CONFIG_EXAMPLE_WIFI_ROLE) - bt_test_deinit(); -#endif - esp_timer_stop(sync_obj.sync_timer); - esp_timer_start_once(sync_obj.sync_timer, sync_obj.start_time * 1000000); - } - break; -#endif -#if defined(CONFIG_EXAMPLE_COEX_ROLE) - case ASSIGN_CASE: - ESP_LOGD(TAG, "ASSIGN_CASE"); - switch (msg_head.msg_id) { - case MSG_ID_WIFI_DEV_INIT_FINISH: - if (msg_head.param_bit != 0x0) { - analys_param(msg_head.param_bit, raw_data + MSG_DATA_BASE, &sync_obj.recv_param_bit ); - } - sync_obj.except_recv_wifi_id = true; - break; - case MSG_ID_BT_DEV_INIT_FINISH: - sync_obj.except_recv_bt_id = true; - break; - default: - break; - } - send_start_countdown(); - break; -#endif - default: - ESP_LOGD(TAG, "state is unknown %s", __func__); - break; - } -} - -static void handle_sync_timeout(void *arg) -{ - static bool run_first = true; - if (run_first == true) { - xSemaphoreTake((SemaphoreHandle_t)arg, (TickType_t)portMAX_DELAY); - esp_timer_start_periodic( (esp_timer_handle_t)arg, 1000000); - run_first = false; - } - switch (sync_obj.state) { -#if defined(CONFIG_EXAMPLE_COEX_ROLE) - case ASSIGN_CASE: - ESP_LOGD(TAG, "ASSIGN_CASE"); - assign_test_case(); - esp_timer_start_periodic(sync_obj.sync_timer, SYNC_TIMEOUT); - break; -#endif - -#if defined(CONFIG_EXAMPLE_WIFI_ROLE) || defined(CONFIG_EXAMPLE_BT_ROLE) - case WAIT_START: { - ESP_LOGD(TAG, "WAIT_START"); -#if defined(CONFIG_EXAMPLE_WIFI_ROLE) - if ( WIFI_TCP_RX_CASE == sync_obj.own_wifi_case ) { - send_tcp_rx_inited_msg(); - } else { - send_case_inited_msg(MSG_ID_WIFI_DEV_INIT_FINISH); - } -#elif defined(CONFIG_EXAMPLE_BT_ROLE) - send_case_inited_msg(MSG_ID_BT_DEV_INIT_FINISH); -#endif - esp_timer_start_periodic(sync_obj.sync_timer, SYNC_TIMEOUT); - break; - } -#endif - - - case START_CASE: { - ESP_LOGD(TAG, "START_CASE"); -#if defined(CONFIG_EXAMPLE_BT_ROLE) - excute_case(sync_obj.own_ble_case); - -#elif defined(CONFIG_EXAMPLE_WIFI_ROLE) - ESP_LOGD(TAG, "START_CASE"); - if (arg != NULL) { - xSemaphoreGive((SemaphoreHandle_t)arg); - run_first = true; - esp_timer_stop(sync_obj.sync_timer); - - } -#else - static uint8_t send_start_count = 10; - if (send_start_count == 0) { - excute_case(sync_obj.own_ble_case); - xSemaphoreGive((SemaphoreHandle_t)arg); - run_first = true; - esp_timer_stop(sync_obj.sync_timer); - break; - } - - send_start_msg(send_start_count); - send_start_count -= 1; - esp_timer_start_once(sync_obj.sync_timer, 1000000); -#endif - break; - } - default: - ESP_LOGD(TAG, "state is unknown%s", __func__); - break; - } -} - -esp_err_t create_sync_timer(esp_timer_handle_t *timer_hdl) -{ - esp_err_t ret; - esp_timer_create_args_t tca = { - .callback = (esp_timer_cb_t)handle_sync_timeout, - .dispatch_method = ESP_TIMER_TASK, - .name = "SYNC_TIMER", - }; - tca.arg = client_mutex; - - ret = esp_timer_create(&tca, timer_hdl); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "timer create failed %d %x", __LINE__, ret); - return ret; - } - esp_timer_start_once( *timer_hdl, 10); - - return ret; -} - - -void sync_init(void) -{ - esp_err_t ret; - sync_obj.cmd_recv = &sync_cmd_recv; - client_mutex = xSemaphoreCreateMutex(); - if (!client_mutex) { - ESP_LOGE(TAG, "client_mutex Create failed "); - return; - } - coex_set_test_env("mutex", NULL, 0); - - bt_test_init(); - init_ble_gap_test_util(); - ret = esp_ble_gap_start_scanning(BLE_TC_SCAN_REPORT_PERIOD); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "esp_ble_gap_start_scanning error, %d", ret); - return ; - } - ret = create_sync_timer(&sync_obj.sync_timer); - if (ret != ESP_OK) { - ESP_LOGE(TAG, "sync timer create failed"); - return ; - } - -#if defined(CONFIG_EXAMPLE_COEX_ROLE) - excute_case(sync_obj.own_wifi_case); - vTaskDelay(3000 / portTICK_PERIOD_MS); -#endif - -} diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/sync.h b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/sync.h deleted file mode 100644 index d45325f448..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/sync.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#ifndef __SYNC_H__ -#define __SYNC_H__ - -#include -#include -#include -#include -#include "esp_log.h" -#include "esp_timer.h" -#include "ble_unit.h" -#include "test_env.h" - -#include "esp_bt.h" -#include "esp_bt_main.h" -#include "esp_bt_device.h" -#include "freertos/FreeRTOS.h" -#include "freertos/semphr.h" -#include "freertos/task.h" -#include "freertos/queue.h" - -#include "mesh/utils.h" -#define PARAM_MAX 7 - -#define SYNC_TIMEOUT 500000 //500ms -#define PARAMTER(value) (((uint32_t)value) << 7) - -#define WIFI_TCP_TX_CASE 0x0 -#define WIFI_TCP_RX_CASE 0x1 -#define BLE_ADV_CASE 0x2 -#define BLE_SCAN_CASE 0x3 -#define NOT_CASE 0xff - -#define MSG_HEAD 0xcbb3 -#define MSG_TYPE 0xff -#define MSG_CONTINUE 0x0 -#define MSG_END 0x1 -#define MSG_DATA_BASE 0x8 -#define MSG_ID_ASSIGN_CASE 0x1 -#define MSG_ID_WIFI_DEV_INIT_FINISH 0x2 -#define MSG_ID_BT_DEV_INIT_FINISH 0x3 -#define MSG_ID_START_CASE 0x4 - -#define BLE_CASE_ID 0b100000 << PARAM_MAX -#define WIFI_CASE_ID 0b010000 << PARAM_MAX -#define SERVER_IP 0b001000 << PARAM_MAX -#define START_TIME 0b000100 << PARAM_MAX -#define WIFI_SSID 0b000010 << PARAM_MAX -#define WIFI_PASSWIRD 0b000001 << PARAM_MAX - - -#define GET_PARAM(value,bit) (((value) & (bit)) ? bit:0x0) - -#define MSG_MIN_LEN 8 - -typedef void (*sync_recv)(uint8_t *raw_data, uint32_t raw_data_len); - -typedef struct { - uint8_t length; - uint8_t type; - uint16_t head; - uint8_t msg_id; - uint16_t ctl: 3, - param_bit: 13; -} __attribute__((packed)) sync_msg_head; - -typedef struct { - uint8_t length; - uint8_t type; - uint16_t head; - uint8_t msg_id; - uint16_t ctl: 3, - param_bit: 13; - uint8_t reserve; //reserved for extend param_bit - uint8_t data[23]; -} __attribute__((packed)) sync_msg; - -typedef struct { - uint8_t case_id; - const uint16_t excpet_param_bit; -} auto_tc; -extern auto_tc auto_tb[6]; - - -typedef enum { -#if defined(CONFIG_EXAMPLE_COEX_ROLE) - ASSIGN_CASE, -#else - WAIT_CASE, - WAIT_START, -#endif - START_CASE, -} sync_state; - -struct sync_t { - sync_state state; - uint8_t own_wifi_case; - uint8_t own_ble_case; - uint8_t start_time; - - uint16_t recv_param_bit; - - bool except_recv_wifi_id; - bool except_recv_bt_id; - - esp_timer_handle_t sync_timer; - sync_recv cmd_recv; -}; -extern struct sync_t sync_obj; - -extern SemaphoreHandle_t client_mutex; -void sync_init(void); - -#endif diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/test_env.c b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/test_env.c deleted file mode 100644 index 636990b048..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/test_env.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#include -#include - -#include "esp_err.h" -#include "esp_log.h" -#include "test_env.h" -#include "sync.h" - -#define TAG "ENV" - -coex_test_env_t test_env = { -#if defined(CONFIG_EXAMPLE_MANAUL) - .ap_ssid = CONFIG_EXAMPLE_WIFI_SSID, - .ap_password = CONFIG_EXAMPLE_WIFI_PASSWORD, -#endif -#if defined(CONFIG_EXAMPLE_COEX_ROLE) - .ap_ssid = CONFIG_EXAMPLE_WIFI_SSID, - .ap_password = CONFIG_EXAMPLE_WIFI_PASSWORD, -#endif - .test_port = "8080", - .server_ip = "192.168.3.32", - .duration = "120000", - .is_start = false, -}; - -esp_err_t coex_set_test_env(const char *keyword, const char *value, uint8_t length) -{ - esp_err_t ret = ESP_OK; - if (!strcmp(keyword, "ap_ssid")) { - memset(test_env.ap_ssid, '\0', sizeof(test_env.ap_ssid)); - strncpy(test_env.ap_ssid, value, length); - } else if (!strcmp(keyword, "ap_password")) { - memset(test_env.ap_password, '\0', sizeof(test_env.ap_password)); - strncpy(test_env.ap_password, value, length); - } else if (!strcmp( keyword, "test_port")) { - memset(test_env.test_port, '\0', sizeof(test_env.test_port)); - strncpy(test_env.test_port, value, length); - } else if (!strcmp(keyword, "server_ip")) { - memset(test_env.server_ip, '\0', sizeof(test_env.server_ip)); - strncpy(test_env.server_ip, value, length); - } else if (!strcmp(keyword, "duration")) { - strncpy(test_env.duration, value, length); - } else if (!strcmp(keyword, "mutex")) { - test_env.run_mutex = client_mutex; - - } else { - ret = ESP_ERR_NOT_SUPPORTED; - } - return ret; -} - -const char *coex_get_test_env(const char *keyword) -{ - const char *ret = NULL; - if (!strcmp(keyword, "ap_ssid")) { - ret = test_env.ap_ssid; - } else if (!strcmp(keyword, "ap_password")) { - ret = test_env.ap_password; - } else if (!strcmp(keyword, "test_port")) { - ret = test_env.test_port; - } else if (!strcmp(keyword, "server_ip")) { - ret = test_env.server_ip; - } else if (!strcmp(keyword, "duration")) { - ret = test_env.duration; - } - return ret; -} - -void coex_print_test_env(void) -{ - ESP_LOGI(TAG, "current test env:"); - ESP_LOGI(TAG, "\tap_ssid: %s", test_env.ap_ssid); - ESP_LOGI(TAG, "\tap_password: %s", test_env.ap_password); - ESP_LOGI(TAG, "\ttest_port: %s", test_env.test_port); - ESP_LOGI(TAG, "\tserver_ip: %s", test_env.server_ip); - ESP_LOGI(TAG, "\tduration: %s", test_env.duration); -} - -bool coex_env_str_to_mac(uint8_t *str, uint8_t *dest) -{ - uint8_t loop = 0; - uint8_t tmp = 0; - uint8_t *src_p = str; - - if (strlen((char *)src_p) != 17) { // must be like 12:34:56:78:90:AB - ESP_LOGE(TAG, "wrong format"); - return false; - } - - for (loop = 0; loop < 17 ; loop++) { - if (loop % 3 == 2) { - if (src_p[loop] != ':') { - ESP_LOGE(TAG, "wrong format"); - return false; - } - - continue; - } - - if ((src_p[loop] >= '0') && (src_p[loop] <= '9')) { - tmp = tmp * 16 + src_p[loop] - '0'; - } else if ((src_p[loop] >= 'A') && (src_p[loop] <= 'F')) { - tmp = tmp * 16 + src_p[loop] - 'A' + 10; - } else if ((src_p[loop] >= 'a') && (src_p[loop] <= 'f')) { - tmp = tmp * 16 + src_p[loop] - 'a' + 10; - } else { - ESP_LOGE(TAG, "wrong format"); - return false; - } - - if (loop % 3 == 1) { - *dest++ = tmp; - tmp = 0; - } - } - - return true; -} diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/test_env.h b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/test_env.h deleted file mode 100644 index e17eb0c35e..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/test_env.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#ifndef __TEST_ENV_H__ -#define __TEST_ENV_H__ - -#include -#include "esp_err.h" -#include "freertos/FreeRTOS.h" -#include "freertos/semphr.h" - -#define MAX_SSID_LEN 32 -#define MAX_PASSWORD_LEN 64 -#define MAX_IP_STR_LEN 15 -#define MAX_PORT_STR_LEN 5 -#define MAX_MAC_ADDR_LEN 17 -#define INVALID_REMOTE_BT_MAC "ff:ff:ff:ff:ff:ff" -#define DURATION_MAX_LEN 10 - -typedef struct { - char ap_ssid[MAX_SSID_LEN + 1]; - char ap_password[MAX_PASSWORD_LEN + 1]; - char test_port[MAX_PORT_STR_LEN + 1]; - char server_ip[MAX_IP_STR_LEN + 1]; - char duration[DURATION_MAX_LEN + 1]; - bool is_start; - SemaphoreHandle_t run_mutex; -} coex_test_env_t; - -extern coex_test_env_t test_env; - -esp_err_t coex_set_test_env(const char *keyword, const char *value, uint8_t length); -const char *coex_get_test_env(const char *keyword); -void coex_print_test_env(void); -bool coex_env_str_to_mac(uint8_t *str, uint8_t *dest); - -#endif /* __TEST_ENV_H__ */ diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_connect.c b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_connect.c deleted file mode 100644 index 6ceb5c4265..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_connect.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#include -#include - -#include "esp_err.h" -#include "esp_log.h" - -#include "wifi_connect.h" - - -#include -#include "sdkconfig.h" -#include "esp_event.h" -#include "esp_wifi.h" -#include "esp_wifi_default.h" - -#include "esp_log.h" -#include "esp_netif.h" -#include "freertos/FreeRTOS.h" -#include "freertos/task.h" -#include "freertos/event_groups.h" -#include "lwip/err.h" -#include "lwip/sys.h" - -#define GOT_IPV4_BIT BIT(0) - -#define CONNECTED_BITS (GOT_IPV4_BIT) - - -static EventGroupHandle_t s_connect_event_group; -static esp_ip4_addr_t s_ip_addr; -static const char *s_connection_name; -static esp_netif_t *s_example_esp_netif = NULL; - - - -static const char *TAG = "example_connect"; - -/* set up connection, Wi-Fi or Ethernet */ -static void start(const char *ssid, const char *passwd); - -/* tear down connection, release resources */ -static void stop(void); - -static void on_got_ip(void *arg, esp_event_base_t event_base, - int32_t event_id, void *event_data) -{ - ESP_LOGI(TAG, "Got IP event!"); - ip_event_got_ip_t *event = (ip_event_got_ip_t *)event_data; - memcpy(&s_ip_addr, &event->ip_info.ip, sizeof(s_ip_addr)); - xEventGroupSetBits(s_connect_event_group, GOT_IPV4_BIT); -} - -esp_err_t example_connect(const char *ssid, const char *passwd) -{ - if (s_connect_event_group != NULL) { - return ESP_ERR_INVALID_STATE; - } - s_connect_event_group = xEventGroupCreate(); - start(ssid, passwd); - ESP_ERROR_CHECK(esp_register_shutdown_handler(&stop)); - ESP_LOGI(TAG, "Waiting for IP"); - xEventGroupWaitBits(s_connect_event_group, CONNECTED_BITS, true, true, portMAX_DELAY); - ESP_LOGI(TAG, "Connected to %s", s_connection_name); - ESP_LOGI(TAG, "IPv4 address: " IPSTR, IP2STR(&s_ip_addr)); - return ESP_OK; -} - -esp_err_t example_disconnect(void) -{ - if (s_connect_event_group == NULL) { - return ESP_ERR_INVALID_STATE; - } - vEventGroupDelete(s_connect_event_group); - s_connect_event_group = NULL; - stop(); - ESP_LOGI(TAG, "Disconnected from %s", s_connection_name); - s_connection_name = NULL; - return ESP_OK; -} - - -static void on_wifi_disconnect(void *arg, esp_event_base_t event_base, - int32_t event_id, void *event_data) -{ - ESP_LOGI(TAG, "Wi-Fi disconnected, trying to reconnect..."); - esp_err_t err = esp_wifi_connect(); - if (err == ESP_ERR_WIFI_NOT_STARTED) { - return; - } - ESP_ERROR_CHECK(err); -} - -static void start(const char *ssid, const char *passwd) -{ - wifi_init_config_t cfg = WIFI_INIT_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_wifi_init(&cfg)); - - esp_netif_config_t netif_config = ESP_NETIF_DEFAULT_WIFI_STA(); - - esp_netif_t *netif = esp_netif_new(&netif_config); - - assert(netif); - - esp_netif_attach_wifi_station(netif); - esp_wifi_set_default_wifi_sta_handlers(); - - s_example_esp_netif = netif; - - ESP_ERROR_CHECK(esp_event_handler_register(WIFI_EVENT, WIFI_EVENT_STA_DISCONNECTED, &on_wifi_disconnect, NULL)); - ESP_ERROR_CHECK(esp_event_handler_register(IP_EVENT, IP_EVENT_STA_GOT_IP, &on_got_ip, NULL)); - ESP_ERROR_CHECK(esp_wifi_set_storage(WIFI_STORAGE_RAM)); - - wifi_config_t wifi_config; - memset(&wifi_config, 0, sizeof(wifi_config)); - if (ssid) { - strncpy((char *)wifi_config.sta.ssid, ssid, strlen(ssid)); - } - if (passwd) { - strncpy((char *)wifi_config.sta.password, passwd, strlen(passwd)); - } - - ESP_LOGI(TAG, "Connecting to %s...", wifi_config.sta.ssid); - ESP_ERROR_CHECK(esp_wifi_set_mode(WIFI_MODE_STA)); - ESP_ERROR_CHECK(esp_wifi_set_config(WIFI_IF_STA, &wifi_config)); - ESP_ERROR_CHECK(esp_wifi_start()); - esp_wifi_connect(); - s_connection_name = ssid; -} - -static void stop(void) -{ - ESP_ERROR_CHECK(esp_event_handler_unregister(WIFI_EVENT, WIFI_EVENT_STA_DISCONNECTED, &on_wifi_disconnect)); - ESP_ERROR_CHECK(esp_event_handler_unregister(IP_EVENT, IP_EVENT_STA_GOT_IP, &on_got_ip)); - esp_err_t err = esp_wifi_stop(); - if (err == ESP_ERR_WIFI_NOT_INIT) { - return; - } - ESP_ERROR_CHECK(err); - ESP_ERROR_CHECK(esp_wifi_deinit()); - ESP_ERROR_CHECK(esp_wifi_clear_default_wifi_driver_and_handlers(s_example_esp_netif)); - esp_netif_destroy(s_example_esp_netif); - s_example_esp_netif = NULL; -} - -esp_netif_t *get_example_netif(void) -{ - return s_example_esp_netif; -} diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_connect.h b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_connect.h deleted file mode 100644 index 774a409c2f..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_connect.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#ifndef __WIFI_CONNECT_H__ -#define __WIFI_CONNECT_H__ - -#include "esp_err.h" -#include "esp_netif.h" -#include "esp_event.h" - -esp_err_t example_connect(const char *ssid, const char *passwd); -esp_err_t example_disconnect(void); -esp_err_t example_configure_stdin_stdout(void); -esp_netif_t *get_example_netif(void); - -#endif /* __WIFI_CONNECT_H__ */ diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_unit.c b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_unit.c deleted file mode 100644 index 15feed083f..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_unit.c +++ /dev/null @@ -1,186 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021-2023 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#include -#include -#include -#include - -#include "wifi_unit.h" -#include "wifi_connect.h" -#define TAG "WIFI_UINT" - -uint32_t utils_get_system_ts(void) -{ - return esp_log_timestamp(); -} - -esp_err_t wifi_unit_client_establish(int *sock, const char *ip, const char *port) -{ - esp_err_t ret = 0; - uint32_t start_ts; - uint32_t timeout = 10000; - struct sockaddr_in sock_addr; - int s; - - memset(&sock_addr, 0, sizeof(sock_addr)); - sock_addr.sin_family = AF_INET; - sock_addr.sin_addr.s_addr = ipaddr_addr(ip); - sock_addr.sin_port = htons(atoi(port)); - - start_ts = utils_get_system_ts(); - do { - s = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); - if (s < 0) { - ESP_LOGE(TAG, "Unable to create socket: errno %d", errno); - } - ret = connect(s, (struct sockaddr *)&sock_addr, sizeof(sock_addr)); - if (ret == 0) { - *sock = s; - break; - } else if (s > 0) { - close(s); - } - } while (utils_get_system_ts() - start_ts < timeout); - return ret; -} - -esp_err_t wifi_unit_server_establish(int *socket_id, const char *port) -{ - esp_err_t ret = -1; - struct sockaddr_in local_addr; - uint32_t local_ip; - - static int ls_sock = -1; - - local_ip = wifi_util_get_ip(); - - if (ls_sock < 0) { - ls_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP); - if (ls_sock < 0) { - ESP_LOGE(TAG, "create socket failed"); - return ls_sock; - } - - local_addr.sin_family = AF_INET; - local_addr.sin_port = htons(atoi(port)); - local_addr.sin_addr.s_addr = local_ip; - ret = bind(ls_sock, (struct sockaddr *)&local_addr, sizeof(local_addr)); - if (ret != 0) { - ESP_LOGE(TAG, "socket bind failed"); - return ret; - } - - ret = listen(ls_sock, 1); - if (ret < 0) { - ESP_LOGE(TAG, "socket listen failed"); - return ret; - } - } - - struct sockaddr_in6 sourceAddr; // Large enough for both IPv4 or IPv6 - socklen_t addrLen = sizeof(sourceAddr); - *socket_id = accept(ls_sock, (struct sockaddr *)&sourceAddr, &addrLen); - if (*socket_id < 0) { - ESP_LOGE(TAG, "Unable to accept connection: errno %d", errno); - return -1; - } - ESP_LOGI(TAG, "Socket accepted"); - return ret; -} - -esp_err_t wifi_unit_tcp_recv(int socket_id, const char *duration, uint32_t user_date[]) -{ - esp_err_t ret = -1; - uint32_t start_ts; - uint8_t *buffer; - struct timeval tv_t; - uint32_t *recv_len = &user_date[1]; - tv_t.tv_sec = 1; - tv_t.tv_usec = 0; - ret = setsockopt(socket_id, SOL_SOCKET, SO_RCVTIMEO, &tv_t, sizeof(tv_t)); - - buffer = malloc(2920); - - if (buffer == NULL) { - ESP_LOGE(TAG, "%s malloc fail", __func__); - return ESP_ERR_NO_MEM; - } - - start_ts = utils_get_system_ts(); - - while (utils_get_system_ts() - start_ts < atoi(duration)) { - ret = recv(socket_id, buffer, 2920, 0); - if (ret > 0) { - *recv_len = *recv_len + ret; - } else if (ret == 0) { - break; - } - } - free(buffer); - if (ret > 0 ) { - ret = ESP_OK; - } - return ret; -} - -esp_err_t wifi_util_tcp_send(int socket_id, uint32_t len, uint32_t delay, uint32_t *sent_len, uint32_t timeout) -{ - esp_err_t ret = ESP_OK; - uint32_t start_ts; - uint8_t *buffer; - - if ( len == 0) { - return ESP_ERR_INVALID_ARG; - } - buffer = malloc(len); - if (buffer == NULL) { - ESP_LOGE(TAG, "%s malloc fail", __func__); - return ESP_ERR_NO_MEM; - } - - start_ts = utils_get_system_ts(); - - while (utils_get_system_ts() - start_ts < timeout) { - ret = send(socket_id, buffer, len, 0); - if (ret < 0) { - ESP_LOGE(TAG, "recv failed: errno %d", errno); - break; - } - *sent_len = *sent_len + ret; - - if (delay) { - vTaskDelay(delay / portTICK_PERIOD_MS); - } - } - if (ret == len) { - ret = ESP_OK; - } else { - ESP_LOGE(TAG, "tcp send error, %d", ret); - ret = -2; - } - - free(buffer); - - return ret; -} - -uint32_t wifi_util_get_ip(void) -{ - esp_netif_ip_info_t ip_info; - esp_netif_t *netif = get_example_netif(); - esp_netif_get_ip_info(netif, &ip_info); - return ip_info.ip.addr; -} - -void wifi_util_init(void) -{ - ESP_ERROR_CHECK(nvs_flash_init()); - ESP_ERROR_CHECK(esp_netif_init()); - ESP_ERROR_CHECK(esp_event_loop_create_default()); -} diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_unit.h b/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_unit.h deleted file mode 100644 index f702e2fbf1..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/components/case/wifi_unit.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#ifndef _WIFI_UNIT_H -#define _WIFI_UNIT_H - -#include "esp_wifi_types.h" -#include "esp_wifi.h" -#include "esp_event.h" -#include "esp_log.h" -#include "esp_timer.h" -#include "nvs_flash.h" - -#include "esp_netif.h" - -#include "lwip/err.h" -#include "lwip/sockets.h" -#include "lwip/sys.h" -#include "lwip/netdb.h" -#include "lwip/dns.h" - -uint32_t utils_get_system_ts(void); - -void wifi_util_init(void); - -uint32_t wifi_util_get_ip(void); -esp_err_t wifi_unit_client_establish(int *sock, const char *ip, const char *port); -esp_err_t wifi_unit_server_establish(int *socket_id, const char *port); - -esp_err_t wifi_unit_tcp_recv(int socket_id, const char *duration, uint32_t user_date[]); -esp_err_t wifi_util_tcp_send(int socket_id, uint32_t len, uint32_t delay, uint32_t *sent_len, uint32_t timeout); -#endif /* _WIFI_UNIT_H */ diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/main/CMakeLists.txt b/examples/bluetooth/esp_ble_mesh/coex_test/main/CMakeLists.txt deleted file mode 100644 index db5b9da87e..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/main/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -idf_component_register(SRCS "main.c" "coex_cmd.c" - INCLUDE_DIRS "." - REQUIRED_IDF_TARGETS esp32) diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/main/Kconfig.projbuild b/examples/bluetooth/esp_ble_mesh/coex_test/main/Kconfig.projbuild deleted file mode 100644 index cf4ef2778c..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/main/Kconfig.projbuild +++ /dev/null @@ -1,70 +0,0 @@ -menu "Example Configuration" - - choice EXAMPLE_RUN_MODE - prompt "select run mode" - help - select run mode - - config EXAMPLE_AUTO - bool "auto" - help - In automatic mode, the program coordinates three development board work - through a synchronization mechanism. - - config EXAMPLE_MANAUL - bool "manual" - help - In manual mode, you will work with three development boards via commands. - endchoice - - config EXAMPLE_WIFI_SSID - depends on EXAMPLE_MANAUL - string "WiFi SSID" - help - SSID (network name) for the example to connect to. The length cannot exceed 20 bytes. - config EXAMPLE_WIFI_PASSWORD - depends on EXAMPLE_MANAUL - string "WiFi Password" - help - WiFi password (WPA or WPA2) for the example to use. - Can be left blank if the network has no security set. - The length cannot exceed 20 bytes. - - choice EXAMPLE_SELECT_ROLE - prompt "select role" - depends on EXAMPLE_AUTO - config EXAMPLE_COEX_ROLE - bool "run device as coex role" - config EXAMPLE_WIFI_ROLE - bool "run device as wifi role" - config EXAMPLE_BT_ROLE - bool "run device as bluetooth role" - endchoice - - choice EXAMPLE_SELECT_CASE - prompt "select case" - depends on EXAMPLE_COEX_ROLE - config EXAMPLE_COEX_TX_ADV - bool "TCP TX and BLE ADV" - config EXAMPLE_COEX_RX_ADV - bool "TCP RX and BLE ADV" - config EXAMPLE_COEX_TX_SCAN - bool "TCP TX and BLE SCAN" - config EXAMPLE_COEX_RX_SCAN - bool "TCP RX and BLE SCAN" - endchoice - - config EXAMPLE_WIFI_SSID - depends on EXAMPLE_COEX_ROLE - string "WiFi SSID" - help - SSID (network name) for the example to connect to. The length cannot exceed 20 bytes. - config EXAMPLE_WIFI_PASSWORD - depends on EXAMPLE_COEX_ROLE - string "WiFi Password" - help - WiFi password (WPA or WPA2) for the example to use. - Can be left blank if the network has no security set. - The length cannot exceed 20 bytes. - -endmenu #"Example Configuration End" diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/main/coex_cmd.c b/examples/bluetooth/esp_ble_mesh/coex_test/main/coex_cmd.c deleted file mode 100644 index e1f39052a0..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/main/coex_cmd.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#include -#include -#include "esp_log.h" -#include "esp_mac.h" -#include "esp_console.h" -#include "argtable3/argtable3.h" - -#include "esp_bt.h" -#include "esp_bt_main.h" -#include "esp_bt_device.h" - -#include "run_tc.h" -#include "test_env.h" - - -#define TAG_CNSL "CNSL" - -typedef struct { - struct arg_str *wifi_tc_idx; - struct arg_str *bt_tc_idx; - struct arg_end *end; -} tc_run_args_t; - -typedef struct { - struct arg_lit *set; - struct arg_lit *get; - struct arg_str *key; - struct arg_str *value; - struct arg_end *end; -} env_param_cmd_args_t; - -static tc_run_args_t tc_run_args; -static env_param_cmd_args_t env_param_cmd_args; - -static int process_env_parameter_cmd(int argc, char **argv) -{ - int nerrors = arg_parse(argc, argv, (void **) &env_param_cmd_args); - int ret; - const char *env_value = ""; - - if (nerrors != 0) { - arg_print_errors(stderr, env_param_cmd_args.end, argv[0]); - return 1; - } - if (env_param_cmd_args.set->count == 1) { - if (env_param_cmd_args.key->count == 1) { - if (env_param_cmd_args.value->count == 1) { - env_value = env_param_cmd_args.value->sval[0]; - } - ret = coex_set_test_env(env_param_cmd_args.key->sval[0], env_value, strlen(env_param_cmd_args.value->sval[0])); - if (ret == ESP_ERR_NOT_SUPPORTED) { - ESP_LOGE(TAG_CNSL, "Not supported env key"); - } else if (ret == ESP_ERR_INVALID_ARG) { - ESP_LOGE(TAG_CNSL, "Invalid value"); - } - ESP_LOGI(TAG_CNSL, "env set done"); - } else { - ESP_LOGE(TAG_CNSL, "env key not set correctly"); - } - } else if (env_param_cmd_args.get->count == 1) { - coex_print_test_env(); - } - return 0; -} - -static int process_restart_cmd(int argc, char **argv) -{ - ESP_LOGI(TAG_CNSL, "restarting..."); - esp_restart(); - return 0; -} - - -static int process_run_tc_cmd(int argc, char **argv) -{ - run_task_msg_t msg; - int nerrors = arg_parse(argc, argv, (void **) &tc_run_args); - if (nerrors != 0) { - arg_print_errors(stderr, tc_run_args.end, argv[0]); - return 1; - } - - if (tc_run_args.wifi_tc_idx->count == 1) { - msg.case_id = atoi(tc_run_args.wifi_tc_idx->sval[0]); - if (xQueueSend(xTaskQueue, &msg, portMAX_DELAY) != pdTRUE) { - ESP_LOGE(TAG_CNSL, "xTaskQueue Post failed"); - } - } - - if (tc_run_args.bt_tc_idx->count == 1) { - msg.case_id = atoi(tc_run_args.bt_tc_idx->sval[0]); - if (xQueueSend(xTaskQueue, &msg, portMAX_DELAY) != pdTRUE) { - ESP_LOGE(TAG_CNSL, "xTaskQueue Post failed"); - } - } - - return 0; -} - -static int process_get_mac_addr_cmd(int argc, char **argv) -{ - const uint8_t *mac = esp_bt_dev_get_address(); - - if (mac != NULL) { - ESP_LOGI(TAG_CNSL, "+BTMAC:"MACSTR, MAC2STR(mac)); - } - return 0; -} -void register_coex_cmd(void) -{ - const esp_console_cmd_t restart_cmd = { - .command = "restart", - .help = "restart cmd", - .hint = NULL, - .func = &process_restart_cmd, - .argtable = NULL - }; - - ESP_ERROR_CHECK( esp_console_cmd_register(&restart_cmd) ); - - const esp_console_cmd_t get_mac_cmd = { - .command = "mac", - .help = "Get DUT mac address", - .hint = NULL, - .func = &process_get_mac_addr_cmd, - .argtable = NULL - }; - - ESP_ERROR_CHECK( esp_console_cmd_register(&get_mac_cmd) ); - - tc_run_args.wifi_tc_idx = arg_str0("w", "wifi", "", "0 : wifi_tcp_tx_throught 1 : wifi_tcp_rx_throught\n"); - tc_run_args.bt_tc_idx = arg_str0("b", "bluetooth", "", "2 :ble_adv 3 : ble_scan\n"); - tc_run_args.end = arg_end(2); - - const esp_console_cmd_t run_tc_cmd = { - .command = "run_tc", - .help = "run wifi bt test case command", - .hint = NULL, - .func = &process_run_tc_cmd, - .argtable = &tc_run_args - }; - - ESP_ERROR_CHECK( esp_console_cmd_register(&run_tc_cmd) ); - - env_param_cmd_args.set = arg_lit0("s", "set", "set env parameter"); - env_param_cmd_args.get = arg_lit0("g", "get", "get env parameter"); - env_param_cmd_args.key = arg_str0("k", "key", "", "env parameter key"); - env_param_cmd_args.value = arg_str0("v", "value", "", "env parameter value (only used with set)"); - env_param_cmd_args.end = arg_end(4); - - const esp_console_cmd_t env_cmd = { - .command = "env", - .help = "Set or get test environment parameters", - .hint = NULL, - .func = &process_env_parameter_cmd, - .argtable = &env_param_cmd_args, - }; - - ESP_ERROR_CHECK( esp_console_cmd_register(&env_cmd) ); -} diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/main/coex_cmd.h b/examples/bluetooth/esp_ble_mesh/coex_test/main/coex_cmd.h deleted file mode 100644 index 4340c14842..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/main/coex_cmd.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#ifndef MAIN_COEX_CMD_H_ -#define MAIN_COEX_CMD_H_ - -#define CNSL_CMD_OUTPUT_PREFIX "COEX_CNSL_OUTPUT" -void register_coex_cmd(void); - -#endif /* MAIN_COEX_CMD_H_ */ diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/main/main.c b/examples/bluetooth/esp_ble_mesh/coex_test/main/main.c deleted file mode 100644 index f0e01d4755..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/main/main.c +++ /dev/null @@ -1,67 +0,0 @@ -/* - * ESP BLE Mesh Example - * - * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD - * - * SPDX-License-Identifier: Unlicense OR CC0-1.0 - */ - -#include -#include -#include "esp_system.h" -#include "esp_log.h" -#include "esp_console.h" -#include "esp_vfs_dev.h" -#include "esp_vfs_fat.h" -#include "nvs.h" -#include "nvs_flash.h" -#include "esp_coexist.h" -#include "coex_cmd.h" -#include "run_tc.h" -#include "sync.h" - -static void initialize_nvs(void) -{ - esp_err_t err = nvs_flash_init(); - if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) { - ESP_ERROR_CHECK( nvs_flash_erase() ); - err = nvs_flash_init(); - } - ESP_ERROR_CHECK(err); -} - -void app_main(void) -{ - initialize_nvs(); - run_tc_init(); - - esp_console_repl_t *repl = NULL; - esp_console_repl_config_t repl_config = ESP_CONSOLE_REPL_CONFIG_DEFAULT(); - repl_config.prompt = "ble_mesh_coex>"; - // install console REPL environment -#if CONFIG_ESP_CONSOLE_UART - esp_console_dev_uart_config_t uart_config = ESP_CONSOLE_DEV_UART_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_console_new_repl_uart(&uart_config, &repl_config, &repl)); -#elif CONFIG_ESP_CONSOLE_USB_CDC - esp_console_dev_usb_cdc_config_t cdc_config = ESP_CONSOLE_DEV_CDC_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_console_new_repl_usb_cdc(&cdc_config, &repl_config, &repl)); -#elif CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG - esp_console_dev_usb_serial_jtag_config_t usbjtag_config = ESP_CONSOLE_DEV_USB_SERIAL_JTAG_CONFIG_DEFAULT(); - ESP_ERROR_CHECK(esp_console_new_repl_usb_serial_jtag(&usbjtag_config, &repl_config, &repl)); -#endif - - register_coex_cmd(); - -#if defined(CONFIG_EXAMPLE_AUTO) - sync_init(); -#endif - - /* Prompt to be printed before each line. - * This can be customized, made dynamic, etc. - */ - printf("esp-idf version: %s\n\n", esp_get_idf_version()); - printf("coexist version: %s\n\n", esp_coex_version_get()); - - // start console REPL - ESP_ERROR_CHECK(esp_console_start_repl(repl)); -} diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/partitions.csv b/examples/bluetooth/esp_ble_mesh/coex_test/partitions.csv deleted file mode 100644 index 612494574f..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/partitions.csv +++ /dev/null @@ -1,5 +0,0 @@ -# Name, Type, SubType, Offset, Size, Flags -# Note: if you change the phy_init or app partition offset, make sure to change the offset in Kconfig.projbuild -nvs, data, nvs, 0x9000, 0x6000, -phy_init, data, phy, 0xf000, 0x1000, -factory, app, factory, 0x10000, 0x1F0000, diff --git a/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults b/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults deleted file mode 100644 index 95cd530336..0000000000 --- a/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults +++ /dev/null @@ -1,109 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Espressif IoT Development Framework Configuration -# - -# -# SDK tool configuration -# -CONFIG_SDK_MAKE_WARN_UNDEFINED_VARIABLES=y -# -# Partition Table -# -# CONFIG_PARTITION_TABLE_SINGLE_APP is not set -# CONFIG_PARTITION_TABLE_TWO_OTA is not set -CONFIG_PARTITION_TABLE_CUSTOM=y -CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions.csv" -CONFIG_PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET=0x10000 -CONFIG_PARTITION_TABLE_FILENAME="partitions.csv" -CONFIG_APP_OFFSET=0x10000 - - -# -# Serial flasher config -# -CONFIG_ESPTOOLPY_BAUD_921600B=y -CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y -CONFIG_ESPTOOLPY_FLASHFREQ_80M=y - -# -# Component config -# -# -# Bluetooth -# -CONFIG_BT_ENABLED=y -CONFIG_BTDM_CTRL_MODE_BLE_ONLY=y -CONFIG_BTDM_CTRL_PINNED_TO_CORE=1 -CONFIG_CTRL_BTDM_MODEM_SLEEP=n -CONFIG_BTDM_BLE_SCAN_DUPL=y -CONFIG_BTDM_SCAN_DUPL_TYPE_DATA_DEVICE=y -CONFIG_BTDM_BLE_MESH_SCAN_DUPL_EN=y -CONFIG_BT_BLUEDROID_ENABLED=y -CONFIG_BT_BLUEDROID_PINNED_TO_CORE_1=y -CONFIG_BT_BTU_TASK_STACK_SIZE=4512 -CONFIG_BT_GATTS_SEND_SERVICE_CHANGE_MANUAL=y -CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=y -CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y -CONFIG_BT_SMP_ENABLE=y -CONFIG_BTDM_RESERVE_DRAM=0x10000 - -# -# ESP32-specific -# -CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ_240=y -CONFIG_SPIRAM=y -CONFIG_SPIRAM_SPEED_80M=y -CONFIG_SPIRAM_MALLOC_ALWAYSINTERNAL=4096 -CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP=y -CONFIG_ESP_SYSTEM_EVENT_QUEUE_SIZE=6 -CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200 -CONFIG_SPIRAM_IGNORE_NOTFOUND=y - -# -# Wi-Fi -# -CONFIG_ESP_COEX_SW_COEXIST_ENABLE=y -CONFIG_ESP_WIFI_SW_COEXIST_PREFERENCE_BALANCE=y -CONFIG_ESP_WIFI_SW_COEXIST_PREFERENCE_VALUE=2 -CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=16 -CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=64 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER=y -CONFIG_ESP_WIFI_TX_BUFFER_TYPE=0 -CONFIG_ESP_WIFI_STATIC_TX_BUFFER_NUM=16 -CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y -CONFIG_ESP_WIFI_TX_BA_WIN=16 -CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y -CONFIG_ESP_WIFI_RX_BA_WIN=16 -CONFIG_ESP_WIFI_NVS_ENABLED=y -CONFIG_ESP_WIFI_MGMT_SBUF_NUM=6 - -# -# FreeRTOS -# -CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=1536 -CONFIG_FREERTOS_TIMER_QUEUE_LENGTH=5 -CONFIG_FREERTOS_HZ=1000 - -# -# LWIP -# -CONFIG_LWIP_IP_FRAG=y -CONFIG_LWIP_IP_REASSEMBLY=y -CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=64 -CONFIG_LWIP_TCP_SND_BUF_DEFAULT=65534 -CONFIG_LWIP_TCP_WND_DEFAULT=65534 -CONFIG_LWIP_TCP_RECVMBOX_SIZE=64 -CONFIG_LWIP_UDP_RECVMBOX_SIZE=64 -CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y -CONFIG_LWIP_TCPIP_TASK_AFFINITY=0x0 - -# -# ble mesh -# -CONFIG_BLE_MESH=y -CONFIG_BLE_MESH_NODE=y -CONFIG_BLE_MESH_PB_GATT=y -CONFIG_BLE_MESH_TX_SEG_MSG_COUNT=10 -CONFIG_BLE_MESH_RX_SEG_MSG_COUNT=10 -CONFIG_BLE_MESH_GENERIC_ONOFF_CLI=y diff --git a/tools/ci/ignore_build_warnings.txt b/tools/ci/ignore_build_warnings.txt index 301da338fa..02aea09ae9 100644 --- a/tools/ci/ignore_build_warnings.txt +++ b/tools/ci/ignore_build_warnings.txt @@ -17,7 +17,6 @@ CMake Deprecation Warning at main/lib/tinyxml2/CMakeLists\.txt:11 \(cmake_policy The smallest .+ partition is nearly full \(\d+% free space left\)! warning: unknown kconfig symbol 'A2DP_SINK_ENABLE' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/bluedroid/coex/a2dp_gatts_coex/sdkconfig.defaults warning: unknown kconfig symbol 'A2DP_SRC_ENABLE' assigned to 'n' in /builds/espressif/esp-idf/examples/bluetooth/bluedroid/coex/a2dp_gatts_coex/sdkconfig.defaults -warning: unknown kconfig symbol 'APP_OFFSET' assigned to '0x10000' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults warning: unknown kconfig symbol 'BLE_ENABLE_SRVCHG_REG' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/bluedroid/coex/a2dp_gatts_coex/sdkconfig.defaults warning: unknown kconfig symbol 'BT_CTRL_BLE_MESH_SCAN_DUPL_EN' assigned to* warning: unknown kconfig symbol 'BT_CTRL_COEX_PARAMETERS_ENABLE' assigned to* @@ -39,8 +38,6 @@ warning: unknown kconfig symbol 'ESP_DEFAULT_CPU_FREQ_MHZ_240' assigned to 'y' i warning: unknown kconfig symbol 'ESP_DEFAULT_CPU_FREQ_MHZ_240' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/wifi_coexist/ warning: unknown kconfig symbol 'ESP_DEFAULT_CPU_FREQ_MHZ_80' assigned to 'y' in /builds/espressif/esp-idf/examples/system/deep_sleep/* warning: unknown kconfig symbol 'ESP_DEFAULT_CPU_FREQ_MHZ_80' assigned to 'y' in /builds/espressif/esp-idf/examples/system/light_sleep/* -warning: unknown kconfig symbol 'ESP_WIFI_SW_COEXIST_PREFERENCE_BALANCE' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults -warning: unknown kconfig symbol 'ESP_WIFI_SW_COEXIST_PREFERENCE_VALUE' assigned to '2' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults warning: unknown kconfig symbol 'ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/fast_provisioning/fast_prov_server/sdkconfig.ci.iram warning: unknown kconfig symbol 'ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/fast_provisioninging/fast_prov_server/sdkconfig.ci.iram warning: unknown kconfig symbol 'ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/nimble/ble_htp/htp_prph/sdkconfig.ci @@ -50,7 +47,6 @@ warning: unknown kconfig symbol 'ESP32_REV_MIN_3' assigned to 'y' in /builds/esp warning: unknown kconfig symbol 'ESP32_REV_MIN' assigned to '3' in /builds/espressif/esp-idf/examples/system/ota/simple_ota_example/sdkconfig.ci.on_update_no_sb_rsa warning: unknown kconfig symbol 'ESP32H4_RTC_CLK_CAL_CYCLES' assigned to '576' in /builds/espressif/esp-idf/examples/bluetooth/nimble/blecent/sdkconfig.defaults.esp32h4 warning: unknown kconfig symbol 'ESP32H4_RTC_CLK_SRC_EXT_CRYS' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/nimble/blecent/sdkconfig.defaults.esp32h4 -warning: unknown kconfig symbol 'ESPTOOLPY_BAUD_921600B' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults warning: unknown kconfig symbol 'ESPTOOLPY_FLASHSIZE_4MB' assigned to 'y' in /builds/espressif/esp-idf/components/esp_partition/host_test/partition_api_test/sdkconfig.defaults warning: unknown kconfig symbol 'ESPTOOLPY_FLASHSIZE_4MB' assigned to 'y' in /builds/espressif/esp-idf/components/spiffs/host_test/sdkconfig.defaults warning: unknown kconfig symbol 'ESPTOOLPY_FLASHSIZE' assigned to '"4MB"' in /builds/espressif/esp-idf/components/esp_partition/host_test/partition_api_test/sdkconfig.defaults @@ -66,13 +62,9 @@ warning: unknown kconfig symbol 'LIBSODIUM_USE_MBEDTLS_SHA' assigned to 'y' in / warning: unknown kconfig symbol 'LWIP_ETHARP_TRUST_IP_MAC' assigned to 'n' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/* warning: unknown kconfig symbol 'LWIP_ETHARP_TRUST_IP_MAC' assigned to 'n' in /builds/espressif/esp-idf/examples/wifi/iperf/* warning: unknown kconfig symbol 'LWIP_ETHARP_TRUST_IP_MAC' assigned to 'n' in /builds/espressif/esp-idf/idf-app-test/apps/iperf/* -warning: unknown kconfig symbol 'LWIP_IP_FRAG' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults -warning: unknown kconfig symbol 'LWIP_IP_REASSEMBLY' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults warning: unknown kconfig symbol 'MB_SLAVE_IP_FROM_STDIN' assigned to 'y' in /builds/espressif/esp-idf/examples/protocols/modbus/* warning: unknown kconfig symbol 'MDNS_STRICT_MODE' assigned to 'y' in /builds/espressif/esp-idf/examples/openthread/ot_br/* warning: unknown kconfig symbol 'OPENTHREAD_TREL' assigned to 'y' in /builds/espressif/esp-idf/examples/openthread/ot_br/* -warning: unknown kconfig symbol 'PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET' assigned to '0x10000' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults -warning: unknown kconfig symbol 'SDK_MAKE_WARN_UNDEFINED_VARIABLES' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/coex_test/sdkconfig.defaults warning: unknown kconfig symbol 'SPI_FLASH_USE_LEGACY_IMPL' assigned to '1' in /builds/espressif/esp-idf/components/wear_levelling/host_test/sdkconfig.defaults warning: unknown kconfig symbol 'SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY' assigned to 'y' in /builds/espressif/esp-idf/examples/bluetooth/esp_ble_mesh/fast_provisioning/fast_prov_server/sdkconfig.ci.psram warning: unknown kconfig symbol 'SPIRAM_FETCH_INSTRUCTIONS' assigned to 'y' in /builds/espressif/esp-idf/components/spi_flash/test_apps/mspi_test/sdkconfig.ci.psram