86 lines
1.9 KiB
JavaScript
86 lines
1.9 KiB
JavaScript
var gateway = `ws://${window.location.hostname}/ws`;
|
|
var websocket;
|
|
|
|
window.addEventListener("load", onLoad);
|
|
|
|
function initWebSocket() {
|
|
console.log("Trying to open a WebSocket connection...");
|
|
websocket = new WebSocket(gateway);
|
|
websocket.onopen = onOpen;
|
|
websocket.onclose = onClose;
|
|
websocket.onmessage = onMessage; // <-- add this line
|
|
}
|
|
|
|
function initButtons() {
|
|
document
|
|
.getElementById("btn-ws-stop")
|
|
.addEventListener("click", livedebug_stop);
|
|
document
|
|
.getElementById("btn-ws-start")
|
|
.addEventListener("click", livedebug_start);
|
|
}
|
|
|
|
function onOpen(event) {
|
|
console.log("Connection opened");
|
|
}
|
|
|
|
function onClose(event) {
|
|
console.log("Connection closed");
|
|
setTimeout(initWebSocket, 2000);
|
|
}
|
|
|
|
function onMessage(event) {
|
|
var data = event.data;
|
|
if (data.startsWith("DEBUG:")) {
|
|
var addtext = data.slice(6);
|
|
var livedebug_out = document.getElementById("livedebug-out");
|
|
livedebug_out.value += addtext;
|
|
livedebug_out.scrollTop = livedebug_out.scrollHeight;
|
|
do_resize(livedebug_out);
|
|
}
|
|
if (data.startsWith("DTC:")) {
|
|
const dtcs = data.slice(4);
|
|
const dtcArray = dtcs.trim() !== "" ? dtcs.split(";").filter(Boolean) : [];
|
|
|
|
if(dtcArray[0] != "0")
|
|
{
|
|
processDTCNotifications(dtcArray);
|
|
fillDTCTable(dtcArray);
|
|
}
|
|
console.log(dtcArray + "\n");
|
|
}
|
|
console.log("ws_msg:" + event.data + "\n");
|
|
}
|
|
|
|
function onLoad(event) {
|
|
initWebSocket();
|
|
initButtons();
|
|
}
|
|
|
|
function livedebug_start() {
|
|
websocket.send("start");
|
|
}
|
|
|
|
function livedebug_stop() {
|
|
websocket.send("stop");
|
|
}
|
|
|
|
function do_resize(textbox) {
|
|
var maxrows = 15;
|
|
var minrows = 3;
|
|
var txt = textbox.value;
|
|
var cols = textbox.cols;
|
|
|
|
var arraytxt = txt.split("\n");
|
|
var rows = arraytxt.length;
|
|
|
|
for (i = 0; i < arraytxt.length; i++)
|
|
rows += parseInt(arraytxt[i].length / cols);
|
|
|
|
if (rows > maxrows) textbox.rows = maxrows;
|
|
else if (rows < minrows) textbox.rows = minrows;
|
|
else textbox.rows = rows;
|
|
}
|
|
|
|
|