fix(core): 修复一些情况下串口波特率设置异常

This commit is contained in:
王立帮
2025-10-20 22:03:08 +08:00
parent aaf5ffedec
commit 2be8cb8b4c
6 changed files with 10 additions and 6 deletions

View File

@@ -107,7 +107,7 @@ class Serial {
#bufferLength_ = 0;
#encoder_ = new TextEncoder('utf8');
#decoder_ = new TextDecoder('utf8');
#baud_ = 115200;
#baud_ = 0;
#dtr_ = false;
#rts_ = false;
#isOpened_ = false;
@@ -254,6 +254,10 @@ class Serial {
}
getBaudRate() {
return this.#baud_ || Serial.getConfig().baudRates;
}
getRawBaudRate() {
return this.#baud_;
}

View File

@@ -180,7 +180,7 @@ class ElectronSerial extends Serial {
async setBaudRate(baud) {
return new Promise((resolve, reject) => {
if (!this.isOpened()
|| this.getBaudRate() === baud
|| this.getRawBaudRate() === baud
|| !this.baudRateIsLegal(baud)) {
resolve();
return;

View File

@@ -227,7 +227,7 @@ class WebSocketSerial extends Serial {
async setBaudRate(baud) {
return new Promise((resolve, reject) => {
if (!this.isOpened()
|| this.getBaudRate() === baud
|| this.getRawBaudRate() === baud
|| !this.baudRateIsLegal(baud)) {
resolve();
return;

View File

@@ -183,7 +183,7 @@ class WebSerialPort extends Serial {
async setBaudRate(baud) {
if (!this.isOpened()
|| this.getBaudRate() === baud
|| this.getRawBaudRate() === baud
|| !this.baudRateIsLegal(baud)) {
return;
}

View File

@@ -234,7 +234,7 @@ class USBMini extends Serial {
}
async setBaudRate(baud) {
if (!this.isOpened() || this.getBaudRate() === baud) {
if (!this.isOpened() || this.getRawBaudRate() === baud) {
return;
}
await super.setBaudRate(baud);

View File

@@ -188,7 +188,7 @@ class USB extends Serial {
}
async setBaudRate(baud) {
if (!this.isOpened() || this.getBaudRate() === baud) {
if (!this.isOpened() || this.getRawBaudRate() === baud) {
return;
}
await this.#dapLink_.setSerialBaudrate(baud);