This commit is contained in:
fredqian
2026-01-18 17:58:10 +08:00

View File

@@ -85,6 +85,7 @@ class StatusBarSerial extends PageBase {
#$hex_ = null; #$hex_ = null;
#opened_ = false; #opened_ = false;
#valueTemp_ = ''; #valueTemp_ = '';
#receiveTemp_ = '';
#manager_ = null; #manager_ = null;
#output_ = null; #output_ = null;
#chart_ = null; #chart_ = null;
@@ -253,6 +254,7 @@ class StatusBarSerial extends PageBase {
+ `==${Msg.Lang['statusbar.serial.port']} ${portName} ${Msg.Lang['statusbar.serial.close']}==`; + `==${Msg.Lang['statusbar.serial.port']} ${portName} ${Msg.Lang['statusbar.serial.close']}==`;
this.setValue(output); this.setValue(output);
this.#valueTemp_ = ''; this.#valueTemp_ = '';
this.#receiveTemp_ = '';
this.#$sendInput_.val(''); this.#$sendInput_.val('');
this.#$sendInput_.attr('disabled', true); this.#$sendInput_.attr('disabled', true);
this.#chart_.stop(); this.#chart_.stop();
@@ -274,6 +276,9 @@ class StatusBarSerial extends PageBase {
}); });
this.#serial_.bind('onChar', (char) => { this.#serial_.bind('onChar', (char) => {
if (!this.#reading_) {
this.#receiveTemp_ += char;
}
if (!this.#reading_ || this.#output_.hexChecked()) { if (!this.#reading_ || this.#output_.hexChecked()) {
return; return;
} }
@@ -453,12 +458,21 @@ class StatusBarSerial extends PageBase {
async open() { async open() {
await this.#serial_.open(this.#config_.baud); await this.#serial_.open(this.#config_.baud);
if (SELECTED_BOARD?.serial?.ctrlCBtn) { if (SELECTED_BOARD?.serial?.ctrlCBtn) {
await this.#serial_.sleep(500); await this.#serial_.sleep(1000);
await this.#serial_.interrupt(); await this.#serial_.interrupt();
await this.#serial_.sleep(200); const startTime = Number(new Date());
let endTime = startTime;
while (endTime - startTime < 2000) {
await this.#serial_.sleep(50);
if (this.#receiveTemp_.indexOf('>>>') !== -1) {
break;
}
endTime = Number(new Date());
}
this.#valueTemp_ = ''; this.#valueTemp_ = '';
this.empty(); this.empty();
this.startRead(); this.startRead();
this.#receiveTemp_ = '';
await this.#serial_.reset(); await this.#serial_.reset();
} else { } else {
this.startRead(); this.startRead();