diff --git a/web/js-ts/serialv2.js b/web/js-ts/serialv2.js index e7750f4..3630280 100644 --- a/web/js-ts/serialv2.js +++ b/web/js-ts/serialv2.js @@ -1,17 +1,39 @@ +// Define port and reader globally to be used in other functions let port; +let reader +let decoder = new TextDecoder("utf-8"); +let counterElement = document.getElementById("counter"); -async function start() { - port = createSerial(); - port.open(9600); - - - if (port.opened()) { - console.log("adsnij") - } +// Request a port and open a connection. +async function connect() { + port = await navigator.serial.requestPort(); + await port.open({ baudRate: 9600 }); + reader = port.readable.getReader(); + console.log("Port is open!"); } -async function readloop() { - - console.log(port.read()); - +// Read data +async function readLoop() { + // loop until reader.cancel() is called + while (true) { + // Wait for data + const { value, done } = await reader.read(); + // Show the received data in the console + if (value) { + console.log(decoder.decode(value)); + } + // Exit the loop when done + if (done) { + console.log('[readLoop] DONE', done); + reader.releaseLock(); + break; + } + } } + +// Close the port +async function disconnect() { + await reader.cancel(); + await port.close(); + console.log("Port is closed!"); +} \ No newline at end of file