Increase watchdog timeout when starting OTA (#4172)

This commit is contained in:
Jesse Hills 2022-12-12 16:16:24 +13:00
parent 07197d12f6
commit 5d98e2923b
No known key found for this signature in database
GPG Key ID: BEAAE804EFD8E83A

View File

@ -1,6 +1,8 @@
#include "esphome/core/defines.h"
#ifdef USE_ESP_IDF
#include <esp_task_wdt.h>
#include "ota_backend_esp_idf.h"
#include "ota_component.h"
#include <esp_ota_ops.h>
@ -14,7 +16,9 @@ OTAResponseTypes IDFOTABackend::begin(size_t image_size) {
if (this->partition_ == nullptr) {
return OTA_RESPONSE_ERROR_NO_UPDATE_PARTITION;
}
esp_task_wdt_init(15, false); // The following function takes longer than the 5 seconds timeout of WDT
esp_err_t err = esp_ota_begin(this->partition_, image_size, &this->update_handle_);
esp_task_wdt_init(CONFIG_ESP_TASK_WDT_TIMEOUT_S, false); // Set the WDT back to the configured timeout
if (err != ESP_OK) {
esp_ota_abort(this->update_handle_);
this->update_handle_ = 0;