forked from xiaozhi/xiaozhi-esp32
fix: delay WebServer startup to mitigate stack overflow (#797)
This commit is contained in:
@@ -28,7 +28,8 @@
|
|||||||
"CONFIG_MMAP_FILE_NAME_LENGTH=25",
|
"CONFIG_MMAP_FILE_NAME_LENGTH=25",
|
||||||
"CONFIG_ESP_CONSOLE_NONE=y",
|
"CONFIG_ESP_CONSOLE_NONE=y",
|
||||||
"CONFIG_USE_ESP_WAKE_WORD=y",
|
"CONFIG_USE_ESP_WAKE_WORD=y",
|
||||||
"CONFIG_IOT_PROTOCOL_MCP=y"
|
"CONFIG_IOT_PROTOCOL_MCP=y",
|
||||||
|
"CONFIG_COMPILER_OPTIMIZATION_SIZE=y"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -85,17 +85,28 @@ private:
|
|||||||
int32_t event_id, void* event_data)
|
int32_t event_id, void* event_data)
|
||||||
{
|
{
|
||||||
if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_CONNECTED) {
|
if (event_base == WIFI_EVENT && event_id == WIFI_EVENT_STA_CONNECTED) {
|
||||||
EspHi* instance = static_cast<EspHi*>(arg);
|
|
||||||
if (!instance->web_server_initialized_) {
|
xTaskCreate(
|
||||||
ESP_LOGI(TAG, "WiFi connected, init web control server");
|
[](void* arg) {
|
||||||
esp_err_t err = esp_hi_web_control_server_init();
|
EspHi* instance = static_cast<EspHi*>(arg);
|
||||||
if (err != ESP_OK) {
|
|
||||||
ESP_LOGE(TAG, "Failed to initialize web control server: %d", err);
|
vTaskDelay(5000 / portTICK_PERIOD_MS);
|
||||||
} else {
|
|
||||||
ESP_LOGI(TAG, "Web control server initialized");
|
if (!instance->web_server_initialized_) {
|
||||||
instance->web_server_initialized_ = true;
|
ESP_LOGI(TAG, "WiFi connected, init web control server");
|
||||||
}
|
esp_err_t err = esp_hi_web_control_server_init();
|
||||||
}
|
if (err != ESP_OK) {
|
||||||
|
ESP_LOGE(TAG, "Failed to initialize web control server: %d", err);
|
||||||
|
} else {
|
||||||
|
ESP_LOGI(TAG, "Web control server initialized");
|
||||||
|
instance->web_server_initialized_ = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
vTaskDelete(NULL);
|
||||||
|
},
|
||||||
|
"web_server_init",
|
||||||
|
1024 * 10, arg, 5, nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif //CONFIG_ESP_HI_WEB_CONTROL_ENABLED
|
#endif //CONFIG_ESP_HI_WEB_CONTROL_ENABLED
|
||||||
|
|||||||
Reference in New Issue
Block a user