perf: updated error checks
This commit is contained in:
1 parent
50ab943f22
commit
9cf8f359ab
1 file changed
+12
-21
+12
-21
@@ -45,18 +45,15 @@ esp_err_t zh_ota_server_init(httpd_handle_t server, const char *path)
|
|||||||
strcpy(_ota_path, path);
|
strcpy(_ota_path, path);
|
||||||
_ota_page.uri = _ota_path;
|
_ota_page.uri = _ota_path;
|
||||||
_ota_page_ws.uri = _ota_ws_path;
|
_ota_page_ws.uri = _ota_ws_path;
|
||||||
esp_err_t err = httpd_register_uri_handler(server, &_ota_page);
|
ZH_ERROR_CHECK(httpd_register_uri_handler(server, &_ota_page) == ESP_OK, ESP_FAIL, NULL, "OTA server initialization failed. Register uri handler failed.");
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, NULL, "OTA server initialization failed. Register uri handler failed.");
|
ZH_ERROR_CHECK(httpd_register_uri_handler(server, &_ota_page_ws) == ESP_OK, ESP_FAIL, NULL, "OTA server initialization failed. Register uri handler failed.");
|
||||||
err = httpd_register_uri_handler(server, &_ota_page_ws);
|
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, NULL, "OTA server initialization failed. Register uri handler failed.");
|
|
||||||
ZH_LOGI("OTA server initialization completed successfully.");
|
ZH_LOGI("OTA server initialization completed successfully.");
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
esp_err_t _ota_page_handler(httpd_req_t *req)
|
esp_err_t _ota_page_handler(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
esp_err_t err = httpd_resp_send(req, (const char *)zh_ota_server_html_start, zh_ota_server_html_end - zh_ota_server_html_start);
|
ZH_ERROR_CHECK(httpd_resp_send(req, (const char *)zh_ota_server_html_start, zh_ota_server_html_end - zh_ota_server_html_start) == ESP_OK, ESP_FAIL, NULL, "HTTP server internal error.");
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, NULL, "HTTP server internal error.");
|
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,8 +64,7 @@ esp_err_t _ota_ws_page_handler(httpd_req_t *req) // -V2008
|
|||||||
int remaining = req->content_len;
|
int remaining = req->content_len;
|
||||||
const esp_partition_t *ota_partition = esp_ota_get_next_update_partition(NULL);
|
const esp_partition_t *ota_partition = esp_ota_get_next_update_partition(NULL);
|
||||||
ZH_ERROR_CHECK(ota_partition != NULL, ESP_FAIL, NULL, "OTA get next update partition failed.");
|
ZH_ERROR_CHECK(ota_partition != NULL, ESP_FAIL, NULL, "OTA get next update partition failed.");
|
||||||
esp_err_t err = esp_ota_begin(ota_partition, OTA_SIZE_UNKNOWN, &ota_handle);
|
ZH_ERROR_CHECK(esp_ota_begin(ota_partition, OTA_SIZE_UNKNOWN, &ota_handle) == ESP_OK, ESP_FAIL, NULL, "OTA begin failed.");
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, NULL, "OTA begin failed.");
|
|
||||||
while (remaining > 0)
|
while (remaining > 0)
|
||||||
{
|
{
|
||||||
int recv_len = httpd_req_recv(req, buf, MIN(remaining, sizeof(buf)));
|
int recv_len = httpd_req_recv(req, buf, MIN(remaining, sizeof(buf)));
|
||||||
@@ -78,23 +74,18 @@ esp_err_t _ota_ws_page_handler(httpd_req_t *req) // -V2008
|
|||||||
}
|
}
|
||||||
else if (recv_len <= 0)
|
else if (recv_len <= 0)
|
||||||
{
|
{
|
||||||
err = httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Protocol Error");
|
ZH_ERROR_CHECK(httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Protocol Error") == ESP_OK, ESP_FAIL, NULL, "HTTP server internal error.");
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, NULL, "HTTP server internal error.");
|
|
||||||
return ESP_FAIL;
|
return ESP_FAIL;
|
||||||
}
|
}
|
||||||
err = esp_ota_write(ota_handle, (const void *)buf, recv_len);
|
ZH_ERROR_CHECK(esp_ota_write(ota_handle, (const void *)buf, recv_len) == ESP_OK, ESP_FAIL,
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, err = httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Flash error.");
|
ZH_ERROR_CHECK(httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Flash error.") == ESP_OK, ESP_FAIL, NULL, "HTTP server internal error."), "OTA write failed.");
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, NULL, "HTTP server internal error."), "OTA write failed.");
|
|
||||||
remaining -= recv_len;
|
remaining -= recv_len;
|
||||||
}
|
}
|
||||||
err = esp_ota_end(ota_handle);
|
ZH_ERROR_CHECK(esp_ota_end(ota_handle) == ESP_OK, ESP_FAIL,
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, err = httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Validation / Activation Error.");
|
ZH_ERROR_CHECK(httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Validation / Activation Error.") == ESP_OK, ESP_FAIL, NULL, "HTTP server internal error."), "OTA end failed.");
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, NULL, "HTTP server internal error."), "OTA end failed.");
|
ZH_ERROR_CHECK(esp_ota_set_boot_partition(ota_partition) == ESP_OK, ESP_FAIL,
|
||||||
err = esp_ota_set_boot_partition(ota_partition);
|
ZH_ERROR_CHECK(httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Validation / Activation Error.") == ESP_OK, ESP_FAIL, NULL, "HTTP server internal error."), "OTA set boot partition failed.");
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, err = httpd_resp_send_err(req, HTTPD_500_INTERNAL_SERVER_ERROR, "Validation / Activation Error.");
|
ZH_ERROR_CHECK(httpd_resp_sendstr(req, "Firmware update complete, rebooting now!\n") == ESP_OK, ESP_FAIL, NULL, "HTTP server internal error.");
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, NULL, "HTTP server internal error."), "OTA set boot partition failed.");
|
|
||||||
err = httpd_resp_sendstr(req, "Firmware update complete, rebooting now!\n");
|
|
||||||
ZH_ERROR_CHECK(err == ESP_OK, err, NULL, "HTTP server internal error.");
|
|
||||||
vTaskDelay(500 / portTICK_PERIOD_MS);
|
vTaskDelay(500 / portTICK_PERIOD_MS);
|
||||||
esp_restart();
|
esp_restart();
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
|
|||||||
Reference in new issue
Block a user