Skip to content

Commit 9adf462

Browse files
committed
Fixed port opening error if the port is not available
1 parent cffa595 commit 9adf462

File tree

2 files changed

+7
-14
lines changed

2 files changed

+7
-14
lines changed

modules/nina/flasher.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -249,18 +249,11 @@ func (flasher *Flasher) Md5sum(data []byte) error {
249249
}
250250

251251
func OpenFlasher(portName string) (*Flasher, error) {
252-
253252
port, err := utils.OpenSerial(portName)
254-
255253
if err != nil {
256254
return nil, &FlasherError{err: "Error opening serial port. " + err.Error()}
257255
}
258256

259-
flasher := &Flasher{
260-
port: port,
261-
}
262-
263257
time.Sleep(2 * time.Second)
264-
265-
return flasher, err
258+
return &Flasher{port: port}, err
266259
}

utils/flasher.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,12 @@ var baudRates = []int{
1717
}
1818

1919
func OpenSerial(portName string) (serial.Port, error) {
20-
var err error
20+
var lastError error
21+
2122
for _, baudRate := range baudRates {
22-
mode := &serial.Mode{
23-
BaudRate: baudRate,
24-
}
25-
port, err := serial.Open(portName, mode)
23+
port, err := serial.Open(portName, &serial.Mode{BaudRate: baudRate})
2624
if err != nil {
25+
lastError = err
2726
// try another baudrate
2827
continue
2928
}
@@ -33,8 +32,9 @@ func OpenSerial(portName string) (serial.Port, error) {
3332
log.Fatalf("Could not set timeout on serial port: %s", err)
3433
return nil, err
3534
}
35+
3636
return port, nil
3737
}
3838

39-
return nil, err
39+
return nil, lastError
4040
}

0 commit comments

Comments
 (0)