mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-24 16:55:24 +03:00
Checks for refresh
This commit is contained in:
parent
a3aefb10c3
commit
a604fce2f3
1 changed files with 8 additions and 2 deletions
|
@ -44,6 +44,7 @@ class WebSerial extends EventTarget {
|
|||
this.closeRequested = false;
|
||||
this.transmitting = false;
|
||||
this.connectionInfo = null;
|
||||
this.refreshRequired = true;
|
||||
|
||||
this.bitrate = 0;
|
||||
this.bytesSent = 0;
|
||||
|
@ -79,7 +80,7 @@ class WebSerial extends EventTarget {
|
|||
const added = this.createPort(device);
|
||||
this.ports.push(added);
|
||||
this.dispatchEvent(new CustomEvent("addedDevice", { detail: added }));
|
||||
|
||||
this.refreshRequired = true;
|
||||
return added;
|
||||
}
|
||||
|
||||
|
@ -87,6 +88,7 @@ class WebSerial extends EventTarget {
|
|||
const removed = this.ports.find((port) => port.port === device);
|
||||
this.ports = this.ports.filter((port) => port.port !== device);
|
||||
this.dispatchEvent(new CustomEvent("removedDevice", { detail: removed }));
|
||||
this.refreshRequired = true;
|
||||
}
|
||||
|
||||
handleReceiveBytes(info) {
|
||||
|
@ -121,6 +123,7 @@ class WebSerial extends EventTarget {
|
|||
const ports = await navigator.serial.getPorts();
|
||||
this.portCounter = 1;
|
||||
this.ports = ports.map((port) => this.createPort(port));
|
||||
this.refreshRequired = false;
|
||||
} catch (error) {
|
||||
console.error(`${logHead} Error loading devices:`, error);
|
||||
}
|
||||
|
@ -142,11 +145,14 @@ class WebSerial extends EventTarget {
|
|||
} catch (error) {
|
||||
console.error(`${logHead} User didn't select any SERIAL device when requesting permission:`, error);
|
||||
}
|
||||
this.refreshRequired = true;
|
||||
return newPermissionPort;
|
||||
}
|
||||
|
||||
async getDevices() {
|
||||
await this.loadDevices();
|
||||
if (this.refreshRequired) {
|
||||
await this.loadDevices();
|
||||
}
|
||||
return this.ports;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue