Gitea URL
All checks were successful
ESP32 Build & Release / build (push) Successful in 6m37s

This commit is contained in:
2026-09-12 14:35:09 +02:00
parent 3708674bbb
commit c272776d47
4 changed files with 162 additions and 127 deletions

View File

@@ -384,7 +384,21 @@ static void ota_check_task(void *arg)
if (aname && aname->valuestring && aurl && aurl->valuestring) {
if (strstr(aname->valuestring, ".bin") != NULL) {
const char *url_str = aurl->valuestring;
strncpy(s_release.download_url, url_str, sizeof(s_release.download_url) - 1);
const char *path = strstr(url_str, "/rasmus/MTGcompanion/releases/download/");
if (path) {
snprintf(s_release.download_url, sizeof(s_release.download_url),
"https://git.rasmusbendtsen.dk%s", path);
} else if (strncmp(url_str, "http://", 7) == 0) {
const char *p = strchr(url_str + 7, '/');
if (p) {
snprintf(s_release.download_url, sizeof(s_release.download_url),
"https://git.rasmusbendtsen.dk%s", p);
} else {
strncpy(s_release.download_url, url_str, sizeof(s_release.download_url) - 1);
}
} else {
strncpy(s_release.download_url, url_str, sizeof(s_release.download_url) - 1);
}
if (asize && asize->valuedouble > 0) {
s_release.binary_size = (size_t)asize->valuedouble;
}
@@ -581,9 +595,14 @@ esp_err_t ota_manager_check_update_async(void)
if (s_status == OTA_STATUS_CHECKING || s_status == OTA_STATUS_DOWNLOADING) {
return ESP_ERR_INVALID_STATE;
}
set_state(OTA_STATUS_CHECKING, "Connecting to Gitea...");
BaseType_t ret = xTaskCreatePinnedToCore(
ota_check_task, "ota_check", 8192, NULL, 5, &s_ota_task_handle, 0);
return (ret == pdPASS) ? ESP_OK : ESP_ERR_NO_MEM;
if (ret != pdPASS) {
set_state(OTA_STATUS_FAILED, "Out of memory");
return ESP_ERR_NO_MEM;
}
return ESP_OK;
}
esp_err_t ota_manager_start_update_async(void)
@@ -594,7 +613,12 @@ esp_err_t ota_manager_start_update_async(void)
if (s_release.download_url[0] == '\0') {
return ESP_ERR_NOT_FOUND;
}
set_state(OTA_STATUS_DOWNLOADING, "Starting download...");
BaseType_t ret = xTaskCreatePinnedToCore(
ota_download_task, "ota_update", 8192, NULL, 5, &s_ota_task_handle, 0);
return (ret == pdPASS) ? ESP_OK : ESP_ERR_NO_MEM;
if (ret != pdPASS) {
set_state(OTA_STATUS_FAILED, "Out of memory");
return ESP_ERR_NO_MEM;
}
return ESP_OK;
}