light_maymays/webserial/src/serial/SerialManager.svelte
2022-12-25 02:12:07 +01:00

27 lines
816 B
Svelte

<script lang="ts">
import SerialReader from "./SerialReader.svelte";
let port: SerialPort = null;
async function connect() {
port = await navigator.serial.requestPort();
port.addEventListener("disconnect", disconnect);
}
async function disconnect() {
port = null;
}
</script>
{#if navigator.serial}
<p>serial baby</p>
{#if port !== null}
<SerialReader {port}/>
<p><button on:click={disconnect}>disconnect</button></p>
{:else}
<p><button on:click={connect}>connect</button></p>
{/if}
{:else}
<p>Looks like your browser does not support WebSerial &#x1f622;</p>
<p>Check <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API#browser_compatibility">here</a> for a list of compatible browsers</p>
{/if}