I want to use web serial in my web app. one problem I have is when user change or minimized browser the timer for send and receive data stoped how can I fix this my code is like this and use rxjs timer
//user give access to serial port
const port = await navigator.serial.requestPort();
await port.open({ baudRate: 9600 });
const textDecoder = new TextDecoderStream();
const readableStreamClosed = port.readable.pipeTo(textDecoder.writable);
const reader = textDecoder.readable.getReader();
const textEncoder = new TextEncoderStream();
const writableStreamClosed = textEncoder.readable.pipeTo(port.writable);
const writer = textEncoder.writable.getWriter();
timer(40, 100).subscribe(async (c) => {
await writer.write("{Config:1,0,0,0,0,0,0,0,0,0}");
console.log((await reader.read()).value);
});
update I use setInterval but dont work my code is like this
const textDecoder = new TextDecoderStream();
const readableStreamClosed = this.port.readable.pipeTo(textDecoder.writable);
this.reader = textDecoder.readable.getReader();
const textEncoder = new TextEncoderStream();
const writableStreamClosed = textEncoder.readable.pipeTo(this.port.writable);
this.writer = textEncoder.writable.getWriter();
setInterval( async () => {
await this.writer.write("{Config:1,0,0,0,0,0,0,0,0,0}");
console.log((await this.reader.read().value);
},100);
from Transfer data in serial port when browser minimized
No comments:
Post a Comment