fix(ota): reboot loop
All checks were successful
ESP32 Build & Release / build (push) Successful in 1m16s
All checks were successful
ESP32 Build & Release / build (push) Successful in 1m16s
This commit is contained in:
@@ -519,6 +519,7 @@ static void ota_download_task(void *arg)
|
|||||||
|
|
||||||
esp_https_ota_config_t ota_cfg = {
|
esp_https_ota_config_t ota_cfg = {
|
||||||
.http_config = &http_cfg,
|
.http_config = &http_cfg,
|
||||||
|
.bulk_flash_erase = false,
|
||||||
};
|
};
|
||||||
|
|
||||||
esp_https_ota_handle_t ota_handle = NULL;
|
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;
|
int last_logged_step = -1;
|
||||||
while (1) {
|
while (1) {
|
||||||
if (s_cancel_requested) {
|
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 */
|
/* Yield every chunk to feed the task watchdog and let IDLE/Wi-Fi tasks run smoothly */
|
||||||
if (++chunk_counter % 4 == 0) {
|
vTaskDelay(pdMS_TO_TICKS(1));
|
||||||
vTaskDelay(1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rfid_manager_pause(false);
|
rfid_manager_pause(false);
|
||||||
@@ -657,7 +655,7 @@ esp_err_t ota_manager_start_update_async(void)
|
|||||||
}
|
}
|
||||||
set_state(OTA_STATUS_DOWNLOADING, "Starting download...");
|
set_state(OTA_STATUS_DOWNLOADING, "Starting download...");
|
||||||
BaseType_t ret = xTaskCreatePinnedToCore(
|
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) {
|
if (ret != pdPASS) {
|
||||||
set_state(OTA_STATUS_FAILED, "Out of memory");
|
set_state(OTA_STATUS_FAILED, "Out of memory");
|
||||||
return ESP_ERR_NO_MEM;
|
return ESP_ERR_NO_MEM;
|
||||||
|
|||||||
10
sdkconfig
10
sdkconfig
@@ -1148,7 +1148,7 @@ CONFIG_ESP_CONSOLE_UART_NUM=0
|
|||||||
CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0
|
CONFIG_ESP_CONSOLE_ROM_SERIAL_PORT_NUM=0
|
||||||
CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
|
CONFIG_ESP_CONSOLE_UART_BAUDRATE=115200
|
||||||
CONFIG_ESP_INT_WDT=y
|
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_INT_WDT_CHECK_CPU1 is not set
|
||||||
CONFIG_ESP_TASK_WDT_EN=y
|
CONFIG_ESP_TASK_WDT_EN=y
|
||||||
CONFIG_ESP_TASK_WDT_INIT=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_FAILS is not set
|
||||||
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
|
# CONFIG_SPI_FLASH_DANGEROUS_WRITE_ALLOWED is not set
|
||||||
# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
|
# CONFIG_SPI_FLASH_SHARE_SPI1_BUS is not set
|
||||||
# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
|
CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE=y
|
||||||
# CONFIG_SPI_FLASH_YIELD_DURING_ERASE is not set
|
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_WRITE_CHUNK_SIZE=8192
|
||||||
# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
|
# CONFIG_SPI_FLASH_SIZE_OVERRIDE is not set
|
||||||
# CONFIG_SPI_FLASH_CHECK_ERASE_TIMEOUT_DISABLED 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_NUM=0
|
||||||
CONFIG_CONSOLE_UART_BAUDRATE=115200
|
CONFIG_CONSOLE_UART_BAUDRATE=115200
|
||||||
CONFIG_INT_WDT=y
|
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_INT_WDT_CHECK_CPU1 is not set
|
||||||
CONFIG_TASK_WDT=y
|
CONFIG_TASK_WDT=y
|
||||||
CONFIG_ESP_TASK_WDT=y
|
CONFIG_ESP_TASK_WDT=y
|
||||||
|
|||||||
@@ -30,11 +30,13 @@ CONFIG_JD_FASTDECODE_32BIT=y
|
|||||||
|
|
||||||
# Flash Chip Driver Configuration
|
# Flash Chip Driver Configuration
|
||||||
CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y
|
CONFIG_SPI_FLASH_SUPPORT_BOYA_CHIP=y
|
||||||
# CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE is not set
|
CONFIG_SPI_FLASH_BYPASS_BLOCK_ERASE=y
|
||||||
# CONFIG_SPI_FLASH_YIELD_DURING_ERASE is not set
|
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
|
# 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_INT_WDT_CHECK_CPU1 is not set
|
||||||
CONFIG_ESP_TASK_WDT_TIMEOUT_S=15
|
CONFIG_ESP_TASK_WDT_TIMEOUT_S=15
|
||||||
CONFIG_ESP_PANIC_HANDLER_IRAM=y
|
CONFIG_ESP_PANIC_HANDLER_IRAM=y
|
||||||
|
|||||||
Reference in New Issue
Block a user