@@ -2,10 +2,9 @@ package main
2
2
3
3
import (
4
4
"fmt"
5
- "os"
6
- "os/exec"
7
5
"time"
8
6
7
+ "github.com/arduino/arduino-cli/executils"
9
8
helper "github.com/arduino/fwuploader-plugin-helper"
10
9
"github.com/arduino/go-paths-helper"
11
10
"github.com/sstallion/go-hid"
@@ -60,10 +59,12 @@ func (p *unoR4WifiPlugin) UploadFirmware(portAddress string, firmwarePath *paths
60
59
// Wait a bit before flashing the firmware to allow the board to become available again.
61
60
time .Sleep (3 * time .Second )
62
61
63
- cmd := exec .Command ("espflash" , "flash" , firmwarePath .String (), "-p" , portAddress )
64
- cmd .Stdout = feedback .Out ()
65
- cmd .Stderr = feedback .Err ()
66
- cmd .Env = append (cmd .Env , os .Environ ()... )
62
+ cmd , err := executils .NewProcess ([]string {}, "espflash" , "flash" , firmwarePath .String (), "-p" , portAddress )
63
+ if err != nil {
64
+ return err
65
+ }
66
+ cmd .RedirectStderrTo (feedback .Err ())
67
+ cmd .RedirectStdoutTo (feedback .Out ())
67
68
if err := cmd .Run (); err != nil {
68
69
return err
69
70
}
@@ -101,10 +102,12 @@ func (p *unoR4WifiPlugin) UploadCertificate(portAddress string, certificatePath
101
102
// Wait a bit before flashing the certificate to allow the board to become available again.
102
103
time .Sleep (3 * time .Second )
103
104
104
- cmd := exec .Command ("espflash" , "write-bin" , "-p" , portAddress , "-b" , "921600" , "0x3C0000" , certificatePath .String ())
105
- cmd .Stdout = feedback .Out ()
106
- cmd .Stderr = feedback .Err ()
107
- cmd .Env = append (cmd .Env , os .Environ ()... )
105
+ cmd , err := executils .NewProcess ([]string {}, "espflash" , "write-bin" , "-p" , portAddress , "-b" , "921600" , "0x3C0000" , certificatePath .String ())
106
+ if err != nil {
107
+ return err
108
+ }
109
+ cmd .RedirectStderrTo (feedback .Err ())
110
+ cmd .RedirectStdoutTo (feedback .Out ())
108
111
if err := cmd .Run (); err != nil {
109
112
return err
110
113
}
0 commit comments