From 141037771670544f3905a2674f33cad5ca753ed7 Mon Sep 17 00:00:00 2001 From: Ernesto Castellotti Date: Wed, 11 Jan 2023 18:55:39 +0100 Subject: Rename utils.js to serialUtil.js --- assets/js/serialUtil.js | 29 +++++++++++++++++++++++++++++ assets/js/utils.js | 29 ----------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) create mode 100644 assets/js/serialUtil.js delete mode 100644 assets/js/utils.js (limited to 'assets') diff --git a/assets/js/serialUtil.js b/assets/js/serialUtil.js new file mode 100644 index 0000000..8ce3c6e --- /dev/null +++ b/assets/js/serialUtil.js @@ -0,0 +1,29 @@ +function delay(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); +} + +async function openPortLineBreak(port, baudRate, outputErrorCallback) { + try { + await port.open({ baudRate: baudRate }); + } catch (err) { + outputErrorCallback(`Error: ${err.message}`); + return; + } + + const textDecoder = new TextDecoderStream(); + const readableStreamClosed = port.readable.pipeTo(textDecoder.writable); + const reader = await textDecoder.readable.pipeThrough(new TransformStream(new LineBreakTransformer())).getReader(); + const textEncoderStream = new TextEncoderStream(); + const writerStreamClosed = textEncoderStream.readable.pipeTo(port.writable); + const writer = await textEncoderStream.writable.getWriter(); + + return { reader, writer, readableStreamClosed, writerStreamClosed }; +} + +async function closePortLineBreak(port, reader, writer, readableStreamClosed, writerStreamClosed) { + reader.cancel(); + await readableStreamClosed.catch(() => { /* Ignore the error */ }); + writer.close(); + await writerStreamClosed; + await port.close(); +} diff --git a/assets/js/utils.js b/assets/js/utils.js deleted file mode 100644 index 8ce3c6e..0000000 --- a/assets/js/utils.js +++ /dev/null @@ -1,29 +0,0 @@ -function delay(ms) { - return new Promise(resolve => setTimeout(resolve, ms)); -} - -async function openPortLineBreak(port, baudRate, outputErrorCallback) { - try { - await port.open({ baudRate: baudRate }); - } catch (err) { - outputErrorCallback(`Error: ${err.message}`); - return; - } - - const textDecoder = new TextDecoderStream(); - const readableStreamClosed = port.readable.pipeTo(textDecoder.writable); - const reader = await textDecoder.readable.pipeThrough(new TransformStream(new LineBreakTransformer())).getReader(); - const textEncoderStream = new TextEncoderStream(); - const writerStreamClosed = textEncoderStream.readable.pipeTo(port.writable); - const writer = await textEncoderStream.writable.getWriter(); - - return { reader, writer, readableStreamClosed, writerStreamClosed }; -} - -async function closePortLineBreak(port, reader, writer, readableStreamClosed, writerStreamClosed) { - reader.cancel(); - await readableStreamClosed.catch(() => { /* Ignore the error */ }); - writer.close(); - await writerStreamClosed; - await port.close(); -} -- cgit v1.2.3