Skip to content

Commit 91f8c09

Browse files
committed
add readTimeout parameter to OpenSerial
It has to be different when reading from serial to check the version and when uploading the firmware.
1 parent 5cc7c5f commit 91f8c09

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

cli/certificates/flash.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,9 @@ func runFlash(cmd *cobra.Command, args []string) {
101101
switch moduleName {
102102
case "NINA":
103103
// we use address and not bootloaderPort because the board should not be in bootloader mode
104-
f, err = flasher.NewNinaFlasher(commonFlags.Address, baudRate)
104+
f, err = flasher.NewNinaFlasher(commonFlags.Address, baudRate, 30)
105105
case "WINC1500":
106-
f, err = flasher.NewWincFlasher(commonFlags.Address, baudRate)
106+
f, err = flasher.NewWincFlasher(commonFlags.Address, baudRate, 30)
107107
default:
108108
err = fmt.Errorf("unknown module: %s", moduleName)
109109
}

cli/firmware/flash.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,9 @@ func updateFirmware(board *firmwareindex.IndexBoard, loaderSketch, moduleName st
146146
switch moduleName {
147147
case "NINA":
148148
// we use address and not bootloaderPort because the board should not be in bootloader mode
149-
f, err = flasher.NewNinaFlasher(commonFlags.Address, baudRate)
149+
f, err = flasher.NewNinaFlasher(commonFlags.Address, baudRate, 30)
150150
case "WINC1500":
151-
f, err = flasher.NewWincFlasher(commonFlags.Address, baudRate)
151+
f, err = flasher.NewWincFlasher(commonFlags.Address, baudRate, 30)
152152
default:
153153
err = fmt.Errorf("unknown module: %s", moduleName)
154154
feedback.Errorf("Error during firmware flashing: %s", err)

flasher/flasher.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,15 @@ type Flasher interface {
6262
sendCommand(data CommandData) error
6363
}
6464

65-
func OpenSerial(portAddress string, baudRate int) (serial.Port, error) {
65+
func OpenSerial(portAddress string, baudRate int, readTimeout int) (serial.Port, error) {
6666

6767
port, err := serial.Open(portAddress, &serial.Mode{BaudRate: baudRate})
6868
if err != nil {
6969
return nil, err
7070
}
7171
logrus.Infof("Opened port %s at %d", portAddress, baudRate)
7272

73-
if err := port.SetReadTimeout(30 * time.Second); err != nil {
73+
if err := port.SetReadTimeout(time.Duration(readTimeout) * time.Second); err != nil {
7474
err = fmt.Errorf("could not set timeout on serial port: %s", err)
7575
logrus.Error(err)
7676
return nil, err

flasher/nina.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ import (
3636
)
3737

3838
// NewNinaFlasher creates an new instance of NinaFlasher
39-
func NewNinaFlasher(portAddress string, baudRate int) (*NinaFlasher, error) {
40-
port, err := OpenSerial(portAddress, baudRate)
39+
func NewNinaFlasher(portAddress string, baudRate, readTimeout int) (*NinaFlasher, error) {
40+
port, err := OpenSerial(portAddress, baudRate, readTimeout)
4141
if err != nil {
4242
logrus.Error(err)
4343
return nil, err

flasher/winc.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ import (
3535
"go.bug.st/serial"
3636
)
3737

38-
func NewWincFlasher(portAddress string, baudRate int) (*WincFlasher, error) {
39-
port, err := OpenSerial(portAddress, baudRate)
38+
func NewWincFlasher(portAddress string, baudRate, readTimeout int) (*WincFlasher, error) {
39+
port, err := OpenSerial(portAddress, baudRate, readTimeout)
4040
if err != nil {
4141
logrus.Error(err)
4242
return nil, err

0 commit comments

Comments
 (0)