Browse Source

improved system infos - not yet nice but informal

pull/452/head
lumapu 2 years ago
parent
commit
0305c114cf
  1. 27
      src/web/html/api.js
  2. 17
      src/web/html/system.html
  3. 59
      src/web/webApi.cpp

27
src/web/html/api.js

@ -31,32 +31,6 @@ function parseESP(obj) {
document.getElementById("esp_type").innerHTML="Board: " + obj["esp_type"];
}
function parseSysInfo(obj) {
const data = ["sdk_version", "cpu_freq", "chip_revision", "chip_model", "chip_cores", "esp_type"];
var ul = document.getElementById("info");
if(!isNaN(obj["heap_total"])) {
document.getElementById("info").innerHTML = 'Heap:<progress id="heap" max="100" value="0"></progress> <span id="heap_used"></span> bytes (<span id="heap_total"></span> bytes)';
changeProgressbar("heap", obj["heap_used"], obj["heap_total"]);
}
for (const [key, value] of Object.entries(obj)) {
if(!data.includes(key) || (typeof value == 'undefined')) continue;
var li = document.createElement("li");
li.appendChild(document.createTextNode(key + ": " + value));
ul.appendChild(li);
}
}
function changeProgressbar(id, value, max) {
document.getElementById(id).value = value;
document.getElementById(id).max = max;
document.getElementById("heap_used").textContent = value;
document.getElementById("heap_total").textContent = max;
}
function setHide(id, hide) {
var elm = document.getElementById(id);
if(hide) {
@ -67,7 +41,6 @@ function setHide(id, hide) {
elm.classList.remove('hide');
}
function toggle(id) {
var e = document.getElementById(id);
if(!e.classList.contains("hide"))

17
src/web/html/system.html

@ -18,7 +18,7 @@
</div>
<div id="wrapper">
<div id="content">
<div id="info"></div>
<div><ul id="info"></ul></div>
<div id="system"></div>
</div>
</div>
@ -44,6 +44,21 @@
parseESP(obj);
}
function parseSysInfo(obj) {
const data = ["sdk", "cpu_freq", "chip_revision",
"chip_model", "chip_cores", "esp_type", "mac", "wifi_rssi",
"flash_size", "sketch_used", "heap_total", "heap_free", "heap_frag",
"max_free_blk", "version", "core_version", "reboot_reason"];
var ul = document.getElementById("info");
for (const [key, value] of Object.entries(obj)) {
if(!data.includes(key) || (typeof value == 'undefined')) continue;
var li = document.createElement("li");
li.appendChild(document.createTextNode(key + ": " + value));
ul.appendChild(li);
}
}
function parse(obj) {
if(null != obj) {
parseMenu(obj["menu"]);

59
src/web/webApi.cpp

@ -142,30 +142,47 @@ void webApi::onDwnldSetup(AsyncWebServerRequest *request) {
//-----------------------------------------------------------------------------
void webApi::getSysInfo(JsonObject obj) {
obj[F("ssid")] = mConfig->sys.stationSsid;
obj[F("device_name")] = mConfig->sys.deviceName;
obj[F("version")] = String(mVersion);
obj[F("build")] = String(AUTO_GIT_HASH);
obj[F("ts_uptime")] = mApp->getUptime();
obj[F("ts_now")] = mApp->getTimestamp();
obj[F("ts_sunrise")] = mApp->getSunrise();
obj[F("ts_sunset")] = mApp->getSunset();
obj[F("ts_sun_upd")] = mApp->getLatestSunTimestamp();
obj[F("wifi_rssi")] = WiFi.RSSI();
obj[F("pwd_set")] = (strlen(mConfig->sys.adminPwd) > 0);
obj[F("hostname")] = WiFi.getHostname();
obj[F("sdk_version")] = ESP.getSdkVersion();
obj[F("cpu_freq")] = ESP.getCpuFreqMHz();
obj[F("ssid")] = mConfig->sys.stationSsid;
obj[F("device_name")] = mConfig->sys.deviceName;
obj[F("version")] = String(mVersion);
obj[F("build")] = String(AUTO_GIT_HASH);
obj[F("ts_uptime")] = mApp->getUptime();
obj[F("ts_now")] = mApp->getTimestamp();
obj[F("ts_sunrise")] = mApp->getSunrise();
obj[F("ts_sunset")] = mApp->getSunset();
obj[F("ts_sun_upd")] = mApp->getLatestSunTimestamp();
obj[F("wifi_rssi")] = WiFi.RSSI();
obj[F("mac")] = WiFi.macAddress();
obj[F("hostname")] = WiFi.getHostname();
obj[F("pwd_set")] = (strlen(mConfig->sys.adminPwd) > 0);
obj[F("sdk")] = ESP.getSdkVersion();
obj[F("cpu_freq")] = ESP.getCpuFreqMHz();
obj[F("heap_free")] = ESP.getFreeHeap();
obj[F("sketch_total")] = ESP.getFreeSketchSpace();
obj[F("sketch_used")] = ESP.getSketchSize() / 1024; // in kb
#if defined(ESP32)
obj[F("heap_total")] = ESP.getHeapSize();
obj[F("heap_used")] = ESP.getHeapSize() - ESP.getFreeHeap();
obj[F("chip_revision")] = ESP.getChipRevision();
obj[F("chip_model")] = ESP.getChipModel();
obj[F("chip_cores")] = ESP.getChipCores();
obj[F("chip_revision")] = ESP.getChipRevision();
obj[F("chip_model")] = ESP.getChipModel();
obj[F("chip_cores")] = ESP.getChipCores();
//obj[F("core_version")] = F("n/a");
//obj[F("flash_size")] = F("n/a");
//obj[F("heap_frag")] = F("n/a");
//obj[F("max_free_blk")] = F("n/a");
//obj[F("reboot_reason")] = F("n/a");
#else
//obj[F("heap_total")] = F("n/a");
//obj[F("chip_revision")] = F("n/a");
//obj[F("chip_model")] = F("n/a");
//obj[F("chip_cores")] = F("n/a");
obj[F("core_version")] = ESP.getCoreVersion();
obj[F("flash_size")] = ESP.getFlashChipRealSize() / 1024; // in kb
obj[F("heap_frag")] = ESP.getHeapFragmentation();
obj[F("max_free_blk")] = ESP.getMaxFreeBlockSize();
obj[F("reboot_reason")] = ESP.getResetReason();
#endif
obj[F("sketch_total")] = ESP.getFreeSketchSpace();
obj[F("sketch_used")] = ESP.getSketchSize();
//obj[F("littlefs_total")] = LittleFS.totalBytes();
//obj[F("littlefs_used")] = LittleFS.usedBytes();

Loading…
Cancel
Save