Skip to content

Commit 643115c

Browse files
author
AlbyIanna
authored
Merge pull request #159 from arduino/serialOpenError
Serial open error
2 parents 1bb7c52 + 52429d4 commit 643115c

File tree

6 files changed

+14
-9
lines changed

6 files changed

+14
-9
lines changed

demo/app.jsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,9 @@ class App extends React.Component {
121121
});
122122

123123
daemon.error.subscribe(this.showError);
124+
daemon.serialMonitorError.subscribe(this.showError);
125+
daemon.uploadingError.subscribe(this.showError);
126+
daemon.downloadingError.subscribe(this.showError);
124127

125128
daemon.devicesList.subscribe(({ serial, network }) => this.setState({
126129
serialDevices: serial,
@@ -155,6 +158,7 @@ class App extends React.Component {
155158

156159
showError(err) {
157160
this.setState({ error: err });
161+
scrollToBottom(document.body);
158162
}
159163

160164
clearError() {

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "arduino-create-agent-js-client",
3-
"version": "2.2.6",
3+
"version": "2.3.0",
44
"description": "JS module providing discovery of the Arduino Create Plugin and communication with it",
55
"main": "lib/index.js",
66
"module": "es/index.js",

src/chrome-app-daemon.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ export default class ChromeOsDaemon extends Daemon {
158158
}
159159
const serialPort = this.devicesList.getValue().serial.find(p => p.Name === port);
160160
if (!serialPort) {
161-
return this.serialMonitorOpened.error(new Error(`Can't find port ${port}`));
161+
return this.serialMonitorError.next(`Can't find port ${port}`);
162162
}
163163
this.appMessages
164164
.pipe(takeUntil(this.serialMonitorOpened.pipe(filter(open => open))))
@@ -167,7 +167,7 @@ export default class ChromeOsDaemon extends Daemon {
167167
this.serialMonitorOpened.next(true);
168168
}
169169
if (message.portOpenStatus === 'error') {
170-
this.serialMonitorOpened.error(new Error(`Failed to open serial ${port}`));
170+
this.serialMonitorError.next(`Failed to open serial ${port}`);
171171
}
172172
});
173173
this.channel.postMessage({
@@ -189,7 +189,7 @@ export default class ChromeOsDaemon extends Daemon {
189189
}
190190
const serialPort = this.devicesList.getValue().serial.find(p => p.Name === port);
191191
if (!serialPort) {
192-
return this.serialMonitorOpened.error(new Error(`Can't find port ${port}`));
192+
return this.serialMonitorError.next(`Can't find port ${port}`);
193193
}
194194
this.appMessages
195195
.pipe(takeUntil(this.serialMonitorOpened.pipe(filter(open => !open))))
@@ -198,7 +198,7 @@ export default class ChromeOsDaemon extends Daemon {
198198
this.serialMonitorOpened.next(false);
199199
}
200200
if (message.portCloseStatus === 'error') {
201-
this.serialMonitorOpened.error(new Error(`Failed to close serial ${port}`));
201+
this.serialMonitorError.next(`Failed to close serial ${port}`);
202202
}
203203
});
204204
this.channel.postMessage({

src/daemon.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export default class Daemon {
4545
this.channelOpen = new BehaviorSubject(null);
4646
this.channelOpenStatus = this.channelOpen.pipe(distinctUntilChanged());
4747
this.error = new BehaviorSubject(null).pipe(distinctUntilChanged());
48+
this.serialMonitorError = new BehaviorSubject(null);
4849

4950
this.appMessages = new Subject();
5051
this.serialMonitorOpened = new BehaviorSubject(false);

src/socket-daemon.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ export default class SocketDaemon extends Daemon {
336336
openSerialMonitor(port, baudrate = 9600) {
337337
const serialPort = this.devicesList.getValue().serial.find(p => p.Name === port);
338338
if (!serialPort) {
339-
return this.serialMonitorOpened.error(new Error(`Can't find board at ${port}`));
339+
return this.serialMonitorError.next(`Can't find board at ${port}`);
340340
}
341341
if (this.uploading.getValue().status === this.UPLOAD_IN_PROGRESS || serialPort.IsOpen) {
342342
return;
@@ -349,7 +349,7 @@ export default class SocketDaemon extends Daemon {
349349
this.serialMonitorOpened.next(true);
350350
}
351351
if (message.Cmd === 'OpenFail') {
352-
this.serialMonitorOpened.error(new Error(`Failed to open serial monitor at ${port}`));
352+
this.serialMonitorError.next(`Failed to open serial monitor at ${port}`);
353353
}
354354
});
355355

@@ -373,7 +373,7 @@ export default class SocketDaemon extends Daemon {
373373
this.serialMonitorOpened.next(false);
374374
}
375375
if (message.Cmd === 'CloseFail') {
376-
this.serialMonitorOpened.error(new Error(`Failed to close serial monitor at ${port}`));
376+
this.serialMonitorError.next(`Failed to close serial monitor at ${port}`);
377377
}
378378
});
379379
this.socket.emit('command', `close ${port}`);

0 commit comments

Comments
 (0)