@ -8,10 +8,7 @@
{#HTML_NAV}
< div id = "wrapper" >
< div id = "content" >
< pre id = "stat" > < / pre >
< div id = "info" class = "col-sm-12 col-md-6 mt-3" > < / div >
< div id = "radio" class = "col-sm-12 col-md-6 mt-3" > < / div >
< div id = "sun" class = "col-sm-12 col-md-6 mt-3" > < / div >
< div id = "html" class = "mt-3 mb-3" > < / div >
< / div >
< / div >
@ -49,8 +46,8 @@
}
}
function badge(success, text) {
return ml("span", {class: "badge badge-" + ((success) ? "success" : "error" )}, text);
function badge(success, text, second="error" ) {
return ml("span", {class: "badge badge-" + ((success) ? "success" : second )}, text);
}
function headline(text) {
@ -68,19 +65,23 @@
function parseRadio(obj, stat) {
const pa = ["MIN (recommended)", "LOW", "HIGH", "MAX"];
const datarate = ["1 MBps", "2 MBps", "250 kbps"];
document.getElementById("radio").append(
if(obj.en)
lines = [
tr("NRF24L01", badge(obj.isconnected, ((obj.isconnected) ? "" : "not ") + "connected")),
tr("Power Level", pa[obj.power_level])
];
else
lines = tr("NRF24L01", badge(false, "not enabled"));
document.getElementById("info").append(
headline("NRF Radio"),
ml("table", {class: "table"}, [
ml("tbody", {}, [
tr("NRF24L01", badge(obj.isconnected, ((obj.isconnected) ? "" : "not ") + "connected")),
tr("Power Level", pa[obj.power_level])
])
]),
ml("table", {class: "table"},
ml("tbody", {}, lines)
),
headline("Statistics"),
ml("table", {class: "table"}, [
ml("table", {class: "table"},
ml("tbody", {}, [
tr("TX count", stat.tx_cnt),
tr("RX success", stat.rx_success),
@ -89,24 +90,41 @@
tr("RX fragments", stat.frame_cnt),
tr("TX retransmits", stat.retransmits)
])
])
)
);
}
/*IF_ESP32*/
function parseCmt(obj) {
if(obj.en)
lines = [
tr("CMT2300A", badge(obj.isconnected, ((obj.isconnected) ? "" : "not ") + "connected"))
];
else
lines = tr("CMT2300A", badge(false, "not enabled"));
document.getElementById("info").append(
headline("CMT Radio"),
ml("table", {class: "table"},
ml("tbody", {}, lines)
)
);
}
/*ENDIF_ESP32*/
function parseIndex(obj) {
if(obj["ts_sunrise"] > 0) {
var h = div(["head", "p-2"]);
var r = div(["row"]);
r.appendChild(div(["col", "a-c"], "Sun"));
h.appendChild(r);
document.getElementById("sun").append (
h,
genTabRow("Sunrise", new Date(obj["ts_sunrise"] * 1000).toLocaleString('de-DE')),
genTabRow("Sunset", new Date(obj["ts_sunset"] * 1000).toLocaleString('de-DE')),
genTabRow("Communication start", new Date((obj["ts_sunrise"] - obj["ts_offset"]) * 1000).toLocaleString('de-DE')),
genTabRow("Communication stop", new Date((obj["ts_sunset"] + obj["ts_offset"]) * 1000).toLocaleString('de-DE')),
genTabRow("Night Communication", ((obj["disNightComm"]) ? "disabled" : "enabled"))
if(obj.ts_sunrise > 0) {
document.getElementById("info").append(
headline("Sun"),
ml("table", {class: "table"},
ml("tbody", {}, [
tr("Sunrise", new Date(obj.ts_sunrise * 1000).toLocaleString('de-DE')),
tr("Sunset", new Date(obj.ts_sunset * 1000).toLocaleString('de-DE')),
tr("Communication start", new Date((obj.ts_sunrise - obj.ts_offset) * 1000).toLocaleString('de-DE')),
tr("Communication stop", new Date((obj.ts_sunset + obj.ts_offset) * 1000).toLocaleString('de-DE')),
tr("Night behaviour", badge(obj.disNightComm, ((obj.disNightComm) ? "not" : "") + " communicating", "warning"))
])
)
);
}
}
@ -124,6 +142,9 @@
else {
parseSysInfo(obj["system"]);
parseRadio(obj["system"]["radio"], obj["system"]["statistics"]);
/*IF_ESP32*/
parseCmt(obj["system"]["radioCmt"]);
/*ENDIF_ESP32*/
getAjax('/api/index', parseIndex);
}
document.getElementById("html").innerHTML = obj["html"];