Sunday, 23 May 2021

Transfer data in serial port when browser minimized

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