fix(ota): reboot loop
All checks were successful
ESP32 Build & Release / build (push) Successful in 1m16s

This commit is contained in:
2026-09-13 23:06:56 +02:00
parent 57cf8225bc
commit 2f228b2b3d
3 changed files with 15 additions and 13 deletions

View File

@@ -519,6 +519,7 @@ static void ota_download_task(void *arg)
esp_https_ota_config_t ota_cfg = {
.http_config = &http_cfg,
.bulk_flash_erase = false,
};
esp_https_ota_handle_t ota_handle = NULL;
@@ -551,7 +552,6 @@ static void ota_download_task(void *arg)
}
}
int chunk_counter = 0;
int last_logged_step = -1;
while (1) {
if (s_cancel_requested) {
@@ -584,10 +584,8 @@ static void ota_download_task(void *arg)
}
}
/* Yield every 4 chunks (16 KB) to feed the task watchdog without throttling throughput */
if (++chunk_counter % 4 == 0) {
vTaskDelay(1);
}
/* Yield every chunk to feed the task watchdog and let IDLE/Wi-Fi tasks run smoothly */
vTaskDelay(pdMS_TO_TICKS(1));
}
rfid_manager_pause(false);
@@ -657,7 +655,7 @@ esp_err_t ota_manager_start_update_async(void)
}
set_state(OTA_STATUS_DOWNLOADING, "Starting download...");
BaseType_t ret = xTaskCreatePinnedToCore(
ota_download_task, "ota_update", 8192, NULL, 5, &s_ota_task_handle, 0);
ota_download_task, "ota_update", 10240, NULL, 5, &s_ota_task_handle, 0);
if (ret != pdPASS) {
set_state(OTA_STATUS_FAILED, "Out of memory");
return ESP_ERR_NO_MEM;

View File

@@ -1148,7 +1148,7 @@ CONFIG_ESP_CONSOLE_UART_NUM=0
CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0
CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
CONFIG_ESP_INT_WDT=y
CONFIG_ESP_INT_WDT_TIMEOUT_MS=3000
CONFIG_ESP_INT_WDT_TIMEOUT_MS=8000
# CONFIG_ESP_INT_WDT_CHECK_CPU1 is not set
CONFIG_ESP_TASK_WDT_EN=y
CONFIG_ESP_TASK_WDT_INIT=y
@@ -1921,8 +1921,10 @@ CONFIG_SPI_FLASH_DANGEROUS_WRITE_ABORTS=y
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_FAILS is not set
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
# CONFIG_SPI_FLASH_YIELD_DURING_ERASE is not set
CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE=y
CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2
CONFIG_SPI_FLASH_WRITE_CHUNK_SIZE=8192
# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED is not set
@@ -2539,7 +2541,7 @@ CONFIG_CONSOLE_UART=y
CONFIG_CONSOLE_UART_NUM=0
CONFIG_CONSOLE_UART_BAUDRATE=115200
CONFIG_INT_WDT=y
CONFIG_INT_WDT_TIMEOUT_MS=3000
CONFIG_INT_WDT_TIMEOUT_MS=8000
# CONFIG_INT_WDT_CHECK_CPU1 is not set
CONFIG_TASK_WDT=y
CONFIG_ESP_TASK_WDT=y

View File

@@ -30,11 +30,13 @@ CONFIG_JD_FASTDECODE_32BIT=y
# Flash Chip Driver Configuration
CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y
# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
# CONFIG_SPI_FLASH_YIELD_DURING_ERASE is not set
CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE=y
CONFIG_SPI_FLASH_YIELD_DURING_ERASE=y
CONFIG_SPI_FLASH_ERASE_YIELD_DURATION_MS=20
CONFIG_SPI_FLASH_ERASE_YIELD_TICKS=2
# Watchdog & Panic Handlers
CONFIG_ESP_INT_WDT_TIMEOUT_MS=3000
CONFIG_ESP_INT_WDT_TIMEOUT_MS=8000
# CONFIG_ESP_INT_WDT_CHECK_CPU1 is not set
CONFIG_ESP_TASK_WDT_TIMEOUT_S=15
CONFIG_ESP_PANIC_HANDLER_IRAM=y