circuitpython/supervisor/shared/web_workflow/static/serial.js

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

74 lines
1.4 KiB
JavaScript
Raw Normal View History

2022-06-29 19:31:55 -04:00
var ws;
var input = document.getElementById("input");
var title = document.querySelector("title");
function set_enabled(enabled) {
input.disabled = !enabled;
var buttons = document.querySelectorAll("button");
for (button of buttons) {
button.disabled = !enabled;
}
}
set_enabled(false);
2022-06-29 19:31:55 -04:00
function onSubmit() {
console.log("submit");
2022-06-29 19:31:55 -04:00
// You can send message to the Web Socket using ws.send.
ws.send(input.value);
2022-07-06 20:05:14 -04:00
// output("send: " + input.value);
2022-06-29 19:31:55 -04:00
input.value = "";
input.focus();
}
function onCloseClick() {
console.log("close clicked");
2022-06-29 19:31:55 -04:00
ws.close();
}
function output(str) {
var log = document.getElementById("log");
log.innerHTML += str;
}
// Connect to Web Socket
ws = new WebSocket("ws://cpy-f57ce8.local/cp/serial/");
// ws = new WebSocket("ws://127.0.0.1:9001")
// Set event handlers.
ws.onopen = function() {
2022-07-06 20:05:14 -04:00
console.log("onopen");
set_enabled(true);
2022-06-29 19:31:55 -04:00
};
var setting_title = false;
2022-06-29 19:31:55 -04:00
ws.onmessage = function(e) {
// e.data contains received string.
if (e.data == "\x1b]0;") {
setting_title = true;
title.textContent = "";
} else if (e.data == "\x1b\\") {
setting_title = false;
} else if (setting_title) {
title.textContent += e.data;
} else {
output(e.data);
}
2022-06-29 19:31:55 -04:00
};
ws.onclose = function() {
2022-07-06 20:05:14 -04:00
console.log("onclose");
set_enabled(false);
2022-06-29 19:31:55 -04:00
};
ws.onerror = function(e) {
2022-07-06 20:05:14 -04:00
// output("onerror");
console.log(e);
set_enabled(false);
2022-06-29 19:31:55 -04:00
};
input.onbeforeinput = function(e) {
console.log(e);
}