mirror of
https://github.com/betaflight/betaflight-configurator.git
synced 2025-07-25 17:25:16 +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.closeRequested = false;
|
||||||
this.transmitting = false;
|
this.transmitting = false;
|
||||||
this.connectionInfo = null;
|
this.connectionInfo = null;
|
||||||
|
this.refreshRequired = true;
|
||||||
|
|
||||||
this.bitrate = 0;
|
this.bitrate = 0;
|
||||||
this.bytesSent = 0;
|
this.bytesSent = 0;
|
||||||
|
@ -79,7 +80,7 @@ class WebSerial extends EventTarget {
|
||||||
const added = this.createPort(device);
|
const added = this.createPort(device);
|
||||||
this.ports.push(added);
|
this.ports.push(added);
|
||||||
this.dispatchEvent(new CustomEvent("addedDevice", { detail: added }));
|
this.dispatchEvent(new CustomEvent("addedDevice", { detail: added }));
|
||||||
|
this.refreshRequired = true;
|
||||||
return added;
|
return added;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,6 +88,7 @@ class WebSerial extends EventTarget {
|
||||||
const removed = this.ports.find((port) => port.port === device);
|
const removed = this.ports.find((port) => port.port === device);
|
||||||
this.ports = this.ports.filter((port) => port.port !== device);
|
this.ports = this.ports.filter((port) => port.port !== device);
|
||||||
this.dispatchEvent(new CustomEvent("removedDevice", { detail: removed }));
|
this.dispatchEvent(new CustomEvent("removedDevice", { detail: removed }));
|
||||||
|
this.refreshRequired = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
handleReceiveBytes(info) {
|
handleReceiveBytes(info) {
|
||||||
|
@ -121,6 +123,7 @@ class WebSerial extends EventTarget {
|
||||||
const ports = await navigator.serial.getPorts();
|
const ports = await navigator.serial.getPorts();
|
||||||
this.portCounter = 1;
|
this.portCounter = 1;
|
||||||
this.ports = ports.map((port) => this.createPort(port));
|
this.ports = ports.map((port) => this.createPort(port));
|
||||||
|
this.refreshRequired = false;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`${logHead} Error loading devices:`, error);
|
console.error(`${logHead} Error loading devices:`, error);
|
||||||
}
|
}
|
||||||
|
@ -142,11 +145,14 @@ class WebSerial extends EventTarget {
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`${logHead} User didn't select any SERIAL device when requesting permission:`, error);
|
console.error(`${logHead} User didn't select any SERIAL device when requesting permission:`, error);
|
||||||
}
|
}
|
||||||
|
this.refreshRequired = true;
|
||||||
return newPermissionPort;
|
return newPermissionPort;
|
||||||
}
|
}
|
||||||
|
|
||||||
async getDevices() {
|
async getDevices() {
|
||||||
await this.loadDevices();
|
if (this.refreshRequired) {
|
||||||
|
await this.loadDevices();
|
||||||
|
}
|
||||||
return this.ports;
|
return this.ports;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue