127 lines
3.8 KiB
JavaScript
127 lines
3.8 KiB
JavaScript
|
var source;
|
||
|
var origin;
|
||
|
|
||
|
window.addEventListener("message", receiveMessage, false);
|
||
|
|
||
|
function receiveMessage(event) {
|
||
|
//event.source.postMessage(event.data,event.origin);
|
||
|
source = event.source;
|
||
|
origin = event.origin;
|
||
|
processInput(event.data);
|
||
|
}
|
||
|
|
||
|
function sendMessage(data) {
|
||
|
if (source) source.postMessage(data, origin);
|
||
|
}
|
||
|
|
||
|
function checkData(data, key)
|
||
|
{
|
||
|
var i;
|
||
|
if ((i = data.lastIndexOf(key)) >= 0) {
|
||
|
var j = data.indexOf("\r", i);
|
||
|
return j >= 0 ? data.substr(i + key.length, j - i - key.length) : data.substr(i + key.length);
|
||
|
}
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
var imgTick = "<img src='tick.png'/>";
|
||
|
var imgCross = "<img src='cross.png'/>";
|
||
|
|
||
|
var con = "";
|
||
|
var inited = false;
|
||
|
|
||
|
function processInput(data)
|
||
|
{
|
||
|
var i;
|
||
|
var ret;
|
||
|
if (con.length > 1024) con = con.substr(512);
|
||
|
con += data;
|
||
|
if (!inited) {
|
||
|
if (ret = checkData(con, "FLASH:")) {
|
||
|
document.getElementById("flash_size").innerText = ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "PSRAM:")) {
|
||
|
document.getElementById("psram_size").innerText = ret.substr(0, 2) == "E " ? "N/A" : ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "TYPE:")) {
|
||
|
var type = parseInt(ret);
|
||
|
var typeName = "Unknown";
|
||
|
if (type == 11 || type == 16) {
|
||
|
typeName = "Freematics ONE+ Model A";
|
||
|
} else if (type >= 12 && type <= 14) {
|
||
|
typeName = "Freematics ONE+ Model B";
|
||
|
} else if (type == 15) {
|
||
|
typeName = "Freematics ONE+ Model H";
|
||
|
}
|
||
|
document.getElementById("devtype").innerText = typeName;
|
||
|
}
|
||
|
if (ret = checkData(con, "DEVICE ID:")) {
|
||
|
document.getElementById("devid").value = ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "RTC:")) {
|
||
|
document.getElementById("rtc").innerText = ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "SD:")) {
|
||
|
document.getElementById("sd_size").innerHTML = ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "NO SD CARD") != null) {
|
||
|
document.getElementById("sd_size").innerHTML = "NO CARD";
|
||
|
}
|
||
|
if (ret = checkData(con, "GNSS:")) {
|
||
|
document.getElementById("gps").innerHTML = ret.indexOf("NO") >= 0 ? imgCross : imgTick;
|
||
|
}
|
||
|
if (ret = checkData(con, "OBD:")) {
|
||
|
document.getElementById("obd").innerHTML = ret.indexOf("NO") >= 0 ? imgCross : imgTick;
|
||
|
}
|
||
|
if (ret = checkData(con, "MEMS:")) {
|
||
|
document.getElementById("mems").innerHTML = ret.indexOf("NO") >= 0 ? imgCross : (imgTick + " " + ret);
|
||
|
}
|
||
|
if (ret = checkData(con, "HTTPD:")) {
|
||
|
document.getElementById("wifi").innerHTML = ret.indexOf("NO") >= 0 ? imgCross : imgTick;
|
||
|
}
|
||
|
if (ret = checkData(con, "WiFi IP:")) {
|
||
|
document.getElementById("wifi").innerHTML = imgTick + " IP:" + ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "IMEI:")) {
|
||
|
document.getElementById("imei").innerText = "IMEI:" + ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "CELL:")) {
|
||
|
document.getElementById("cellinfo").innerHTML = ret == "NO" ? imgCross : (imgTick + " " + ret);
|
||
|
}
|
||
|
if ((ret = checkData(con, "NO SIM CARD")) != null) {
|
||
|
document.getElementById("imei").innerHTML = "| NO SIM CARD";
|
||
|
}
|
||
|
if (ret = checkData(con, "Operator:")) {
|
||
|
document.getElementById("imei").innerText = "| " + ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "Unable to connect") != null) {
|
||
|
document.getElementById("server").innerHTML = imgCross;
|
||
|
}
|
||
|
if (ret = checkData(con, "LOGIN")) {
|
||
|
document.getElementById("server").innerText = "Connecting to server" + ret;
|
||
|
}
|
||
|
}
|
||
|
if (ret = checkData(con, "[NET]")) {
|
||
|
document.getElementById("server").innerText = ret;
|
||
|
inited = true;
|
||
|
}
|
||
|
if (ret = checkData(con, "[BUF]")) {
|
||
|
document.getElementById("buffer").innerText = ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "[FILE]")) {
|
||
|
document.getElementById("file").innerText = ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "[GPS]")) {
|
||
|
document.getElementById("gps").innerText = ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "[WIFI]")) {
|
||
|
document.getElementById("wifi").innerText = ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "[CELL]")) {
|
||
|
document.getElementById("cell").innerText = ret;
|
||
|
}
|
||
|
if (ret = checkData(con, "RSSI:")) {
|
||
|
document.getElementById("rssi").innerText = "| RSSI:" + ret;
|
||
|
}
|
||
|
}
|