Files
J1B1-CMB/web/js-ts/serial.ts
2023-09-27 23:26:43 +02:00

47 lines
1.1 KiB
TypeScript

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();
}