Update info page (#1420)

* consolidate info page

* use new REST API

* .

* .

* .

* .

* .

* .

* .

* Make sure after the reboot we go to the overview page

* .

* Update server_main.cpp
This commit is contained in:
CaCO3
2022-11-28 18:51:11 +01:00
committed by GitHub
parent 7b0e6200d6
commit 524d800a0a
8 changed files with 91 additions and 125 deletions

View File

@@ -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 = "<body style='font-family: arial'> <h3 id=t></h3></body><script>var h='Rebooting!<br>The page will automatically reload in around 25..60s - in case of firmware update up to 180s.<br>'; document.getElementById('t').innerHTML=h; setInterval(function (){h +='.'; document.getElementById('t').innerHTML=h; fetch(window.location.hostname,{mode: 'no-cors'}).then(r=>{parent.location.href=('/index.html');})}, 1000);</script>";
const char* resp_str = "<body style='font-family: arial'> <h3 id=t></h3></body><script>var h='Rebooting!<br>The page will automatically reload in around 25..60s<br>(in case of a firmware update it can take up to 180s).<br>'; document.getElementById('t').innerHTML=h; setInterval(function (){h +='.'; document.getElementById('t').innerHTML=h; fetch(window.location.hostname,{mode: 'no-cors'}).then(r=>{parent.location.href=('/index.html');})}, 1000);</script>";
httpd_resp_send(req, resp_str, strlen(resp_str));
doReboot();

View File

@@ -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_)

View File

@@ -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

View File

@@ -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;