1
- import { BehaviorSubject } from 'rxjs' ;
1
+ import { BehaviorSubject } from 'rxjs' ;
2
2
3
3
import {
4
4
takeUntil ,
@@ -41,15 +41,15 @@ export default class FirmwareUpdater {
41
41
42
42
this . FWUToolStatus = FWUToolStatusEnum . NOPE ;
43
43
this . updating = new BehaviorSubject ( { status : this . updateStatusEnum . NOPE } ) ;
44
-
44
+
45
45
this . updatingDone = this . updating . pipe ( filter ( update => update . status === this . updateStatusEnum . DONE ) )
46
46
. pipe ( first ( ) )
47
47
. pipe ( takeUntil ( this . updating . pipe ( filter ( update => update . status === this . updateStatusEnum . ERROR ) ) ) ) ;
48
-
48
+
49
49
this . updatingError = this . updating . pipe ( filter ( update => update . status === this . updateStatusEnum . ERROR ) )
50
50
. pipe ( first ( ) )
51
51
. pipe ( takeUntil ( this . updatingDone ) ) ;
52
-
52
+
53
53
this . gotFWInfo = this . updating . pipe ( filter ( update => update . status === this . updateStatusEnum . GOT_INFO ) )
54
54
. pipe ( first ( ) )
55
55
. pipe ( takeUntil ( this . updatingDone ) )
@@ -64,14 +64,15 @@ export default class FirmwareUpdater {
64
64
let firmwareInfoMessagesSubscription ;
65
65
66
66
const handleFirmwareInfoMessage = message => {
67
+ let versions ;
67
68
switch ( message . ProgrammerStatus ) {
68
69
case 'Starting' :
69
70
break ;
70
71
case 'Busy' :
71
72
if ( message . Msg . indexOf ( 'Flashing with command:' ) >= 0 ) {
72
73
return ;
73
74
}
74
- const versions = JSON . parse ( message . Msg ) ;
75
+ versions = JSON . parse ( message . Msg ) ;
75
76
Object . keys ( versions ) . forEach ( v => {
76
77
if ( versions [ v ] [ 0 ] . IsLoader ) {
77
78
this . loaderPath = versions [ v ] [ 0 ] . Path ;
@@ -83,7 +84,6 @@ export default class FirmwareUpdater {
83
84
this . firmwareVersionData = versionsList . find ( version => version . Name . split ( ' ' ) . splice ( - 1 ) [ 0 ] . trim ( ) === firmwareVersion ) ;
84
85
if ( ! this . firmwareVersionData ) {
85
86
this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Can't get firmware info: couldn't find version '${ firmwareVersion } ' for board '${ boardId } '` } ) ;
86
- return ;
87
87
}
88
88
break ;
89
89
case 'Error' :
@@ -97,8 +97,8 @@ export default class FirmwareUpdater {
97
97
default :
98
98
break ;
99
99
}
100
- }
101
-
100
+ } ;
101
+
102
102
if ( this . FWUToolStatus !== FWUToolStatusEnum . OK ) {
103
103
this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Can't get firmware info: couldn't find firmware updater tool` } ) ;
104
104
return ;
@@ -131,12 +131,12 @@ export default class FirmwareUpdater {
131
131
} ) . then ( response => {
132
132
if ( ! response . ok ) {
133
133
this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Error fetching ${ this . Daemon . pluginURL } /upload` } ) ;
134
- return ;
134
+
135
135
}
136
- } ) . catch ( reason => {
136
+ } ) . catch ( ( ) => {
137
137
this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Coudln't list firmware versions info.` } ) ;
138
- return ;
139
- } ) ;
138
+
139
+ } ) ;
140
140
}
141
141
142
142
updateFirmware ( boardId , port , firmwareVersion ) {
@@ -147,28 +147,28 @@ export default class FirmwareUpdater {
147
147
this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Can't update Firmware: no port selected.` } ) ;
148
148
return ;
149
149
}
150
- this . gotFWInfo . subscribe ( state => {
150
+ this . gotFWInfo . subscribe ( ( ) => {
151
151
if ( ! this . firmwareVersionData ) {
152
152
this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Can't update Firmware: couldn't find version '${ firmwareVersion } ' for board '${ boardId } '` } ) ;
153
153
return ;
154
154
}
155
155
156
156
let updateFirmwareMessagesSubscription ;
157
-
157
+
158
158
const handleFirmwareUpdateMessage = message => {
159
159
switch ( message . ProgrammerStatus ) {
160
160
case 'Error' :
161
- this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Can't update Firmware: ${ message . Msg } ` } ) ;
161
+ this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Can't update Firmware: ${ message . Msg } ` } ) ;
162
162
updateFirmwareMessagesSubscription . unsubscribe ( ) ;
163
163
break ;
164
164
case 'Done' :
165
- this . updating . next ( { status : this . updateStatusEnum . DONE } ) ;
165
+ this . updating . next ( { status : this . updateStatusEnum . DONE } ) ;
166
166
updateFirmwareMessagesSubscription . unsubscribe ( ) ;
167
167
break ;
168
168
default :
169
169
break ;
170
170
}
171
- }
171
+ } ;
172
172
173
173
updateFirmwareMessagesSubscription = this . Daemon . appMessages . subscribe ( message => {
174
174
if ( message . ProgrammerStatus ) {
@@ -181,7 +181,7 @@ export default class FirmwareUpdater {
181
181
domain : 'arduino.cc' ,
182
182
port : 443
183
183
} ] ;
184
-
184
+
185
185
rootCertificates . forEach ( address => {
186
186
if ( address . domain && address . port ) {
187
187
addresses += `-address ${ address . domain } :${ address . port } ` ;
@@ -221,11 +221,11 @@ export default class FirmwareUpdater {
221
221
} ) . then ( response => {
222
222
if ( ! response . ok ) {
223
223
this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Can't update Firmware: error fetching ${ this . Daemon . pluginURL } /upload` } ) ;
224
- return ;
224
+
225
225
}
226
226
} ) . catch ( reason => {
227
227
this . updating . next ( { status : this . updateStatusEnum . ERROR , err : `Can't update Firmware: ${ reason } ` } ) ;
228
- return ;
228
+
229
229
} ) ;
230
230
} ) ;
231
231
this . getFirmwareInfo ( boardId , port , firmwareVersion ) ;
0 commit comments