Skip to content

Commit 751eb04

Browse files
committed
error handle
fix serial port open
1 parent c38fdc8 commit 751eb04

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

js/main/serial.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,17 @@ const serial = {
1212
connect: function(path, options, window) {
1313
return new Promise(resolve => {
1414
try {
15+
var openPortResolved = false;
1516
this._serialport = new SerialPortStream({binding, path: path, baudRate: options.bitrate, autoOpen: true});
1617
this._serialport.on('error', error => {
1718
if (!window.isDestroyed()) {
1819
window.webContents.send('serialError', error);
1920
}
21+
22+
if(!openPortResolved) {
23+
openPortResolved = true;
24+
resolve({error: false, id: this._id++});
25+
}
2026
});
2127

2228
this._serialport.on('close', () => {
@@ -30,7 +36,12 @@ const serial = {
3036
window.webContents.send('serialData', buffer);
3137
}
3238
});
33-
resolve({error: false, id: this._id++});
39+
40+
this._serialport.on('open', () => {
41+
openPortResolved = true;
42+
resolve({error: false, id: this._id++});
43+
});
44+
3445
} catch (err) {
3546
resolve ({error: true, errorMsg: err});
3647
}

0 commit comments

Comments
 (0)