@@ -36,17 +36,6 @@ const scrollToBottom = (target) => {
3636const daemon = new Daemon ( 'https://builder.arduino.cc/v3/boards' , chromeExtensionID ) ;
3737const firmwareUpdater = new FirmwareUpdater ( daemon ) ;
3838
39- const handleUpload = ( ) => {
40- const target = {
41- board : 'arduino:samd:mkr1000' ,
42- port : '/dev/ttyACM0' ,
43- network : false
44- } ;
45-
46- // Upload a compiled sketch.
47- daemon . uploadSerial ( target , 'serial_mirror' , { bin : HEX } ) ;
48- } ;
49-
5039const handleBootloaderMode = ( e , port ) => {
5140 e . preventDefault ( ) ;
5241 daemon . setBootloaderMode ( port ) ;
@@ -98,14 +87,16 @@ class App extends React.Component {
9887 downloadStatus : '' ,
9988 downloadError : '' ,
10089 serialInput : '' ,
101- supportedBoards : [ ]
90+ supportedBoards : [ ] ,
91+ uploadingPort : ''
10292 } ;
10393 this . handleOpen = this . handleOpen . bind ( this ) ;
10494 this . handleClose = this . handleClose . bind ( this ) ;
10595 this . handleSend = this . handleSend . bind ( this ) ;
10696 this . handleChangeSerial = this . handleChangeSerial . bind ( this ) ;
10797 this . showError = this . showError . bind ( this ) ;
10898 this . clearError = this . clearError . bind ( this ) ;
99+ this . handleUpload = this . handleUpload . bind ( this ) ;
109100 }
110101
111102 componentDidMount ( ) {
@@ -191,6 +182,24 @@ class App extends React.Component {
191182 this . setState ( { serialInput : '' } ) ;
192183 }
193184
185+ handleUpload ( ) {
186+ const target = {
187+ board : 'arduino:samd:mkr1000' ,
188+ port : '/dev/ttyACM1' ,
189+ network : false
190+ } ;
191+
192+ this . setState ( { uploadingPort : target . port } ) ;
193+ daemon . boardPortAfterUpload . subscribe ( portStatus => {
194+ if ( portStatus . hasChanged ) {
195+ this . setState ( { uploadingPort : portStatus . newPort } ) ;
196+ }
197+ } ) ;
198+
199+ // Upload a compiled sketch.
200+ daemon . uploadSerial ( target , 'serial_mirror' , { bin : HEX } ) ;
201+ }
202+
194203 render ( ) {
195204 const listSerialDevices = this . state . serialDevices . map ( ( device , i ) => < li key = { i } >
196205 { device . Name } - IsOpen: < span className = { device . IsOpen ? 'open' : 'closed' } >
@@ -306,8 +315,9 @@ class App extends React.Component {
306315
307316 < div className = "section" >
308317 < h2 > Upload a sample sketch on a MKR1000 at /dev/ttyACM0</ h2 >
309- < button onClick = { handleUpload } disabled = { this . state . uploadStatus === daemon . UPLOAD_IN_PROGRESS } > Upload Sketch</ button > < br />
318+ < button onClick = { this . handleUpload } disabled = { this . state . uploadStatus === daemon . UPLOAD_IN_PROGRESS } > Upload Sketch</ button > < br />
310319 < div > Upload status: < span className = { uploadClass } > { this . state . uploadStatus } </ span > < span > { this . state . uploadError } </ span > </ div >
320+ < div > Uploading port: { this . state . uploadingPort || '-' } </ div >
311321 </ div >
312322
313323 { daemon . downloading ? < div className = "section" >
0 commit comments