diff --git a/code/components/jomjol_fileserver_ota/server_ota.cpp b/code/components/jomjol_fileserver_ota/server_ota.cpp index 2ebd8fd0..f04f6fc3 100644 --- a/code/components/jomjol_fileserver_ota/server_ota.cpp +++ b/code/components/jomjol_fileserver_ota/server_ota.cpp @@ -615,7 +615,7 @@ esp_err_t handler_reboot(httpd_req_t *req) LogFile.WriteToFile(ESP_LOG_DEBUG, TAG, "handler_reboot"); ESP_LOGI(TAG, "!!! System will restart within 5 sec!!!"); - const char* resp_str = "

"; + const char* resp_str = "

"; httpd_resp_send(req, resp_str, strlen(resp_str)); doReboot(); diff --git a/code/main/CMakeLists.txt b/code/main/CMakeLists.txt index e244b881..5ab3ebd9 100644 --- a/code/main/CMakeLists.txt +++ b/code/main/CMakeLists.txt @@ -39,7 +39,12 @@ set(VERSION "const char* GIT_REV=\"${GIT_REV}${GIT_DIFF}\"; const char* GIT_TAG=\"${GIT_TAG}\"; const char* GIT_BRANCH=\"${GIT_BRANCH}\"; const char* BUILD_TIME=\"${BUILD_TIME}\";") -set(VERSION_HTML "${GIT_BRANCH}, ${GIT_TAG}, ${GIT_REV}${GIT_DIFF}") + +if ("${GIT_TAG}" STREQUAL "") # Tag not set, show branch + set(VERSION_HTML "Development-Branch: ${GIT_BRANCH} (Commit: ${GIT_REV}${GIT_DIFF})") +else() # Tag is set, ignore branch + set(VERSION_HTML "Release: ${GIT_TAG} (Commit: ${GIT_REV}${GIT_DIFF})") +endif() if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/version.cpp) file(READ ${CMAKE_CURRENT_SOURCE_DIR}/version.cpp VERSION_) diff --git a/code/main/server_main.cpp b/code/main/server_main.cpp index 1fdec51e..7bbfa5e7 100644 --- a/code/main/server_main.cpp +++ b/code/main/server_main.cpp @@ -58,50 +58,45 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - - if (_task.compare("GitTag") == 0) + else if (_task.compare("GitTag") == 0) { httpd_resp_sendstr_chunk(req, libfive_git_version()); httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - - - if (_task.compare("GitRevision") == 0) + else if (_task.compare("GitRevision") == 0) { httpd_resp_sendstr_chunk(req, libfive_git_revision()); httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("BuildTime") == 0) + else if (_task.compare("BuildTime") == 0) { httpd_resp_sendstr_chunk(req, build_time()); httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("GitBaseBranch") == 0) + else if (_task.compare("FirmwareVersion") == 0) { - string buf = "Branch: '" + std::string(GIT_BRANCH) + "', Tag: '" + std::string(GIT_TAG) + \ - "', Revision: " + std::string(GIT_REV); + string buf; + if (std::string(GIT_TAG) == "") { // Tag not set, show branch + buf = "Development-Branch: " + std::string(GIT_BRANCH); + } + else { // Tag is set, ignore branch + buf = "Release: " + std::string(GIT_TAG); + } + buf = buf + " (Commit: " + std::string(GIT_REV) + ")"; httpd_resp_sendstr_chunk(req, buf.c_str()); httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("HTMLVersion") == 0) + else if (_task.compare("HTMLVersion") == 0) { -// std::string zw; -// zw = std::string(getHTMLversion()); httpd_resp_sendstr_chunk(req, getHTMLversion()); httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("Hostname") == 0) + else if (_task.compare("Hostname") == 0) { std::string zw; zw = std::string(hostname); @@ -109,8 +104,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("IP") == 0) + else if (_task.compare("IP") == 0) { std::string *zw; zw = getIPAddress(); @@ -118,8 +112,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("SSID") == 0) + else if (_task.compare("SSID") == 0) { std::string *zw; zw = getSSID(); @@ -127,8 +120,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("FlowStatus") == 0) + else if (_task.compare("FlowStatus") == 0) { std::string zw; zw = std::string("FlowStatus"); @@ -136,8 +128,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("SDCardPartitionSize") == 0) + else if (_task.compare("SDCardPartitionSize") == 0) { std::string zw; zw = getSDCardPartitionSize(); @@ -145,8 +136,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("SDCardFreePartitionSpace") == 0) + else if (_task.compare("SDCardFreePartitionSpace") == 0) { std::string zw; zw = getSDCardFreePartitionSpace(); @@ -154,8 +144,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("SDCardPartitionAllocationSize") == 0) + else if (_task.compare("SDCardPartitionAllocationSize") == 0) { std::string zw; zw = getSDCardPartitionAllocationSize(); @@ -163,8 +152,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("SDCardManufacturer") == 0) + else if (_task.compare("SDCardManufacturer") == 0) { std::string zw; zw = getSDCardManufacturer(); @@ -172,8 +160,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("SDCardName") == 0) + else if (_task.compare("SDCardName") == 0) { std::string zw; zw = getSDCardName(); @@ -181,8 +168,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("SDCardCapacity") == 0) + else if (_task.compare("SDCardCapacity") == 0) { std::string zw; zw = getSDCardCapacity(); @@ -190,8 +176,7 @@ esp_err_t info_get_handler(httpd_req_t *req) httpd_resp_sendstr_chunk(req, NULL); return ESP_OK; } - - if (_task.compare("SDCardSectorSize") == 0) + else if (_task.compare("SDCardSectorSize") == 0) { std::string zw; zw = getSDCardSectorSize(); @@ -200,8 +185,6 @@ esp_err_t info_get_handler(httpd_req_t *req) return ESP_OK; } - - return ESP_OK; } @@ -394,7 +377,7 @@ esp_err_t sysinfo_handler(httpd_req_t *req) void register_server_main_uri(httpd_handle_t server, const char *base_path) { httpd_uri_t info_get_handle = { - .uri = "/version", // Match all URIs of type /path/to/file + .uri = "/info", // Match all URIs of type /path/to/file .method = HTTP_GET, .handler = info_get_handler, .user_ctx = (void*) base_path // Pass server data as context diff --git a/code/main/version.h b/code/main/version.h index 0456cd9e..a3acd61f 100644 --- a/code/main/version.h +++ b/code/main/version.h @@ -38,7 +38,7 @@ const char* libfive_git_branch(void) } -char _char_getHTMLversion[50]="NaN\0"; +char _char_getHTMLversion[100]="?\0"; const char* getHTMLversion(void){ FILE* pFile; diff --git a/sd-card/html/backup.html b/sd-card/html/backup.html index 52c93557..7030c511 100644 --- a/sd-card/html/backup.html +++ b/sd-card/html/backup.html @@ -58,7 +58,7 @@ function doBackup() { // Get hostname try { var xhttp = new XMLHttpRequest(); - xhttp.open("GET", "/version?type=Hostname", false); + xhttp.open("GET", "/info?type=Hostname", false); xhttp.send(); hostname = xhttp.responseText; } diff --git a/sd-card/html/common.js b/sd-card/html/common.js index 500bc22f..a6cea459 100644 --- a/sd-card/html/common.js +++ b/sd-card/html/common.js @@ -19,7 +19,7 @@ function LoadHostname() { // var xhttp = new XMLHttpRequest(); try { - url = _basepath + '/version?type=Hostname'; + url = _basepath + '/info?type=Hostname'; xhttp.open("GET", url, true); xhttp.send(); @@ -52,7 +52,7 @@ function LoadFwVersion() { }); try { - url = _basepath + '/version?type=GitBaseBranch'; + url = _basepath + '/info?type=FirmwareVersion'; xhttp.open("GET", url, true); xhttp.send(); } @@ -78,7 +78,7 @@ function LoadWebUiVersion() { }); try { - url = _basepath + '/version?type=HTMLVersion'; + url = _basepath + '/info?type=HTMLVersion'; xhttp.open("GET", url, true); xhttp.send(); } diff --git a/sd-card/html/info.html b/sd-card/html/info.html index e2167f12..257abb8e 100644 --- a/sd-card/html/info.html +++ b/sd-card/html/info.html @@ -25,20 +25,55 @@ div { -

Current

+

Runtime Information

Last restart: -
+
+

Build Info

+ + + + + + + + + + + + + + +
+ Firmware Version: + +
+ +
+
+ Firmware Build Time: + +
+ +
+
+ Web Interface Version: + +
+ +
+
+

Host Info

@@ -47,8 +82,8 @@ div { Hostname: @@ -57,8 +92,8 @@ div { IP-Address: @@ -67,71 +102,13 @@ div { WLan-SSID:
-
- +
+
-
- +
+
-
- +
+
-

Version Info

- - - - - - - - - - - - - - - - - - - - - - - - - -
- Git-Branch: - -
- -
-
- Git-Tag: - -
- -
-
- Git-Revision: - -
- -
-
- Build Time: - -
- -
-
- HTML Version: - -
- -
-
-

SD Card Info

@@ -140,7 +117,7 @@ div { @@ -150,7 +127,7 @@ div { @@ -160,7 +137,7 @@ div { @@ -170,7 +147,7 @@ div { @@ -180,7 +157,7 @@ div { @@ -190,7 +167,7 @@ div { @@ -200,7 +177,7 @@ div { diff --git a/sd-card/html/ota_page.html b/sd-card/html/ota_page.html index 03d6acfb..5a87d44e 100644 --- a/sd-card/html/ota_page.html +++ b/sd-card/html/ota_page.html @@ -89,7 +89,7 @@ function init(){ function doRebootAfterUpdate() { - if (confirm("Update completed!\nThe ESP32 will reboot now!")) { + if (confirm("Upload completed!\nThe device will reboot now and complete the update.\nThis will take up to 180s!")) { var stringota = "/reboot"; window.location = stringota; window.location.href = stringota; @@ -132,7 +132,7 @@ function prepareOnServer() { return; } - document.getElementById("status").innerText = "Status: Preparations on ESP32"; + document.getElementById("status").innerText = "Status: Preparations on device"; document.getElementById("doUpdate").disabled = true; var xhttp = new XMLHttpRequest(); @@ -199,7 +199,7 @@ function upload() { function extract() { - document.getElementById("status").innerText = "Status: Processing on ESP32 (takes up to 3 minutes)..."; + document.getElementById("status").innerText = "Status: Processing on device (takes up to 3 minutes)..."; var xhttp = new XMLHttpRequest(); /* first delete the old firmware */ @@ -210,6 +210,7 @@ function extract() { document.getElementById("status").innerText = "Status: Update completed!"; document.getElementById("doUpdate").disabled = true; document.getElementById("newfile").disabled = false; + document.cookie = "overview.html"; // Make sure after the reboot we go to the overview page if (xhttp.responseText.startsWith("reboot")) {
- +
- +
- +
- +
- +
- +
- +