compileopts: replace 'retries' with more correct 'timeout' param

Signed-off-by: deadprogram <ron@hybridgroup.com>
Этот коммит содержится в:
deadprogram 2022-12-18 20:22:54 +01:00 коммит произвёл Ron Evans
родитель c90ff1e1cf
коммит c5c6464175
2 изменённых файлов: 7 добавлений и 7 удалений

Просмотреть файл

@ -51,7 +51,7 @@ type Options struct {
PrintJSON bool PrintJSON bool
Monitor bool Monitor bool
BaudRate int BaudRate int
Retries int Timeout time.Duration
} }
// Verify performs a validation on the given options, raising an error if options are not valid. // Verify performs a validation on the given options, raising an error if options are not valid.

12
main.go
Просмотреть файл

@ -949,7 +949,7 @@ func flashUF2UsingMSD(volume, tmppath string, options *compileopts.Options) erro
infoPath = path + "/INFO_UF2.TXT" infoPath = path + "/INFO_UF2.TXT"
} }
d, err := locateDevice(volume, infoPath, options.Retries) d, err := locateDevice(volume, infoPath, options.Timeout)
if err != nil { if err != nil {
return err return err
} }
@ -978,7 +978,7 @@ func flashHexUsingMSD(volume, tmppath string, options *compileopts.Options) erro
destPath = path + "/" destPath = path + "/"
} }
d, err := locateDevice(volume, destPath, options.Retries) d, err := locateDevice(volume, destPath, options.Timeout)
if err != nil { if err != nil {
return err return err
} }
@ -986,10 +986,10 @@ func flashHexUsingMSD(volume, tmppath string, options *compileopts.Options) erro
return moveFile(tmppath, d+"/flash.hex") return moveFile(tmppath, d+"/flash.hex")
} }
func locateDevice(volume, path string, maxRetries int) (string, error) { func locateDevice(volume, path string, timeout time.Duration) (string, error) {
var d []string var d []string
var err error var err error
for i := 0; i < maxRetries; i++ { for start := time.Now(); time.Since(start) < timeout; {
d, err = filepath.Glob(path) d, err = filepath.Glob(path)
if err != nil { if err != nil {
return "", err return "", err
@ -1396,7 +1396,7 @@ func main() {
ocdCommandsString := flag.String("ocd-commands", "", "OpenOCD commands, overriding target spec (can specify multiple separated by commas)") ocdCommandsString := flag.String("ocd-commands", "", "OpenOCD commands, overriding target spec (can specify multiple separated by commas)")
ocdOutput := flag.Bool("ocd-output", false, "print OCD daemon output during debug") ocdOutput := flag.Bool("ocd-output", false, "print OCD daemon output during debug")
port := flag.String("port", "", "flash port (can specify multiple candidates separated by commas)") port := flag.String("port", "", "flash port (can specify multiple candidates separated by commas)")
maxRetries := flag.Int("retries", 10, "the maximum number of times to retry locating the MSD volume to be used for flashing") timeout := flag.Duration("timeout", 20*time.Second, "the length of time to retry locating the MSD volume to be used for flashing")
programmer := flag.String("programmer", "", "which hardware programmer to use") programmer := flag.String("programmer", "", "which hardware programmer to use")
ldflags := flag.String("ldflags", "", "Go link tool compatible ldflags") ldflags := flag.String("ldflags", "", "Go link tool compatible ldflags")
llvmFeatures := flag.String("llvm-features", "", "comma separated LLVM features to enable") llvmFeatures := flag.String("llvm-features", "", "comma separated LLVM features to enable")
@ -1493,7 +1493,7 @@ func main() {
PrintJSON: flagJSON, PrintJSON: flagJSON,
Monitor: *monitor, Monitor: *monitor,
BaudRate: *baudrate, BaudRate: *baudrate,
Retries: *maxRetries, Timeout: *timeout,
} }
if *printCommands { if *printCommands {
options.PrintCommands = printCommand options.PrintCommands = printCommand