From 1220d1810c46c242f99f20624a9cf76cf02c04fd Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 27 Sep 2023 23:26:43 +0200 Subject: [PATCH] created scripts --- web/js-ts/serial.js | 7 +++++++ web/js-ts/serial.ts | 47 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 web/js-ts/serial.js create mode 100644 web/js-ts/serial.ts diff --git a/web/js-ts/serial.js b/web/js-ts/serial.js new file mode 100644 index 0000000..8d3f310 --- /dev/null +++ b/web/js-ts/serial.js @@ -0,0 +1,7 @@ +let port; + +function setup() { + port = createSerial(); + port.open(9600); + +} diff --git a/web/js-ts/serial.ts b/web/js-ts/serial.ts new file mode 100644 index 0000000..e309467 --- /dev/null +++ b/web/js-ts/serial.ts @@ -0,0 +1,47 @@ +async function connect(){ + +const port = await navigator.serial.requestPort(); +// - Wait for the port to open. +await port.open({ baudRate: 9600 }); + +let decoder = new TextDecoderStream(); +const inputDone = port.readable.pipeTo(decoder.writable); +const inputStream = decoder.readable; +let reader = inputStream.getReader(); +const encoder = new TextEncoderStream(); +const outputDone = encoder.readable.pipeTo(port.writable); +const outputStream = encoder.writable; +await readLoop(); + +} + +async function clickConnect(){ +// CODELAB: Add connect code here. +await connect(); +} + +async function readLoop(){ + // CODELAB: Add read loop here. +while (true) { + const { value, done } = await reader.read(); + if (value) { + log.textContent += value + '\n'; + } + if (done) { + console.log('[readLoop] DONE', done); + reader.releaseLock(); + break; + } + } +} + +await function writeToStream(){ + + // CODELAB: Write to output stream +const writer = outputStream.getWriter(); +lines.forEach((line) => { + console.log('[SEND]', line); + writer.write(line + '\n'); +}); +writer.releaseLock(); +} \ No newline at end of file