Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Make serial listener a boolean
Having number values don't make sense since we wouldn't respect
them anyway. We're listening to serial data or we're not.
  • Loading branch information
microbit-robert committed Aug 26, 2025
commit 6373a63908084e9488ab921b1d2610d42f35a1a6
14 changes: 6 additions & 8 deletions lib/usb.ts
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ class MicrobitWebUSBConnectionImpl
setTimeout(() => {
if (this.status === ConnectionStatus.CONNECTED) {
this.unloading = false;
if (this.addedListeners.serialdata) {
if (this.listeningToSerialData) {
this.startSerialInternal();
}
}
Expand All @@ -202,9 +202,7 @@ class MicrobitWebUSBConnectionImpl
private logging: Logging;
private deviceSelectionMode: DeviceSelectionMode;

private addedListeners: Record<string, number> = {
serialdata: 0,
};
private listeningToSerialData = false;

constructor(options: MicrobitWebUSBConnectionOptions = {}) {
super();
Expand Down Expand Up @@ -337,7 +335,7 @@ class MicrobitWebUSBConnectionImpl
await this.disconnect();
this.visibilityReconnect = true;
} else {
if (this.addedListeners.serialdata) {
if (this.listeningToSerialData) {
this.log("Reinstating serial after flash");
if (this.connection.daplink) {
await this.connection.daplink.connect();
Expand Down Expand Up @@ -493,7 +491,7 @@ class MicrobitWebUSBConnectionImpl
} else {
await withTimeout(this.connection.reconnectAsync(), 10_000);
}
if (this.addedListeners.serialdata && !this.flashing) {
if (this.listeningToSerialData && !this.flashing) {
this.startSerialInternal();
}
this.setStatus(ConnectionStatus.CONNECTED);
Expand Down Expand Up @@ -569,7 +567,7 @@ class MicrobitWebUSBConnectionImpl
this.startSerialInternal();
}
// Allows for reinstating serial after flashing.
this.addedListeners.serialdata++;
this.listeningToSerialData = true;
break;
}
}
Expand All @@ -579,7 +577,7 @@ class MicrobitWebUSBConnectionImpl
switch (type as keyof SerialConnectionEventMap) {
case "serialdata": {
this.stopSerialInternal();
this.addedListeners.serialdata--;
this.listeningToSerialData = false;
break;
}
}
Expand Down