@@ -5,11 +5,6 @@ import (
55 "bytes"
66 "encoding/json"
77 "fmt"
8- log "github.com/Sirupsen/logrus"
9- "github.com/facchinm/go-serial"
10- "github.com/mattn/go-shellwords"
11- "github.com/sfreiberg/simplessh"
12- "github.com/xrash/smetrics"
138 "io"
149 "mime/multipart"
1510 "net/http"
@@ -21,6 +16,12 @@ import (
2116 "strconv"
2217 "strings"
2318 "time"
19+
20+ log "github.com/Sirupsen/logrus"
21+ "github.com/facchinm/go-serial"
22+ "github.com/mattn/go-shellwords"
23+ "github.com/sfreiberg/simplessh"
24+ "github.com/xrash/smetrics"
2425)
2526
2627var compiling = false
@@ -31,15 +32,15 @@ func colonToUnderscore(input string) string {
3132}
3233
3334type basicAuthData struct {
34- UserName string
35- Password string
35+ Username string `json:"username"`
36+ Password string `json:"password"`
3637}
3738
3839type boardExtraInfo struct {
39- use_1200bps_touch bool
40- wait_for_upload_port bool
41- networkPort bool
42- authdata basicAuthData
40+ Use1200bpsTouch bool `json:"use_100bps_touch"`
41+ WaitForUploadPort bool `json:"wait_for_upload_port"`
42+ Network bool `json:"network"`
43+ Auth basicAuthData `json:"auth"`
4344}
4445
4546// Scp uploads sourceFile to remote machine like native scp console app.
@@ -90,15 +91,15 @@ func spProgramSSHNetwork(portname string, boardname string, filePath string, com
9091 log .Println ("Starting network upload" )
9192 log .Println ("Board Name: " + boardname )
9293
93- if authdata .UserName == "" {
94- authdata .UserName = "root"
94+ if authdata .Username == "" {
95+ authdata .Username = "root"
9596 }
9697
9798 if authdata .Password == "" {
9899 authdata .Password = "arduino"
99100 }
100101
101- ssh_client , err := simplessh .ConnectWithPassword (portname + ":22" , authdata .UserName , authdata .Password )
102+ ssh_client , err := simplessh .ConnectWithPassword (portname + ":22" , authdata .Username , authdata .Password )
102103 if err != nil {
103104 log .Println ("Error connecting via ssh" )
104105 return err
@@ -133,8 +134,8 @@ func spProgramNetwork(portname string, boardname string, filePath string, authda
133134 log .Println ("Starting network upload" )
134135 log .Println ("Board Name: " + boardname )
135136
136- if authdata .UserName == "" {
137- authdata .UserName = "root"
137+ if authdata .Username == "" {
138+ authdata .Username = "root"
138139 }
139140
140141 if authdata .Password == "" {
@@ -182,8 +183,8 @@ func spProgramNetwork(portname string, boardname string, filePath string, authda
182183 }
183184 // Don't forget to set the content type, this will contain the boundary.
184185 req .Header .Set ("Content-Type" , w .FormDataContentType ())
185- if authdata .UserName != "" {
186- req .SetBasicAuth (authdata .UserName , authdata .Password )
186+ if authdata .Username != "" {
187+ req .SetBasicAuth (authdata .Username , authdata .Password )
187188 }
188189
189190 //h.broadcastSys <- []byte("Start flashing with command " + cmdString)
@@ -211,8 +212,8 @@ func spProgramNetwork(portname string, boardname string, filePath string, authda
211212func spProgramLocal (portname string , boardname string , filePath string , commandline string , extraInfo boardExtraInfo ) error {
212213
213214 var err error
214- if extraInfo .use_1200bps_touch {
215- portname , err = touch_port_1200bps (portname , extraInfo .wait_for_upload_port )
215+ if extraInfo .Use1200bpsTouch {
216+ portname , err = touch_port_1200bps (portname , extraInfo .WaitForUploadPort )
216217 }
217218
218219 if err != nil {
@@ -264,11 +265,11 @@ func spProgramRW(portname string, boardname string, filePath string, commandline
264265
265266 var err error
266267
267- if extraInfo .networkPort {
268- err = spProgramNetwork (portname , boardname , filePath , extraInfo .authdata )
268+ if extraInfo .Network {
269+ err = spProgramNetwork (portname , boardname , filePath , extraInfo .Auth )
269270 if err != nil {
270271 // no http method available, try ssh upload
271- err = spProgramSSHNetwork (portname , boardname , filePath , commandline , extraInfo .authdata )
272+ err = spProgramSSHNetwork (portname , boardname , filePath , commandline , extraInfo .Auth )
272273 }
273274 } else {
274275 err = spProgramLocal (portname , boardname , filePath , commandline , extraInfo )
@@ -423,7 +424,7 @@ func findNewPortName(slice1 []string, slice2 []string) string {
423424 return ""
424425}
425426
426- func touch_port_1200bps (portname string , wait_for_upload_port bool ) (string , error ) {
427+ func touch_port_1200bps (portname string , WaitForUploadPort bool ) (string , error ) {
427428 initialPortName := portname
428429 log .Println ("Restarting in bootloader mode" )
429430
@@ -455,7 +456,7 @@ func touch_port_1200bps(portname string, wait_for_upload_port bool) (string, err
455456 }()
456457
457458 // wait for port to disappear
458- if wait_for_upload_port {
459+ if WaitForUploadPort {
459460 for {
460461 ports , _ = serial .GetPortsList ()
461462 log .Println (ports )
@@ -471,7 +472,7 @@ func touch_port_1200bps(portname string, wait_for_upload_port bool) (string, err
471472 }
472473
473474 // wait for port to reappear
474- if wait_for_upload_port {
475+ if WaitForUploadPort {
475476 after_reset_ports , _ := serial .GetPortsList ()
476477 log .Println (after_reset_ports )
477478 for {
0 commit comments