Skip to content

Commit 01e7153

Browse files
committed
Refactored -get_available_for flag subroutine
1 parent fd85eae commit 01e7153

File tree

2 files changed

+8
-20
lines changed

2 files changed

+8
-20
lines changed
File renamed without changes.

Diff for: utils/utils.go

+8-20
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,13 @@ type firmware struct {
1616

1717
type combo struct {
1818
match string
19-
prefer string
20-
avoid string
2119
loader string
2220
}
2321

24-
func isPreferred(existing bool, path string, board combo) bool {
22+
func isPreferred(path string) bool {
2523
if path == "" {
2624
return false
2725
}
28-
if board.avoid != "" && strings.Contains(path, board.avoid) {
29-
return false
30-
}
31-
if existing && !strings.Contains(path, board.prefer) {
32-
return false
33-
}
3426
return true
3527
}
3628

@@ -39,13 +31,13 @@ func GetCompatibleWith(name string, rootPath string) map[string][]firmware {
3931
files := make(map[string][]firmware)
4032

4133
knownBoards := make(map[string]combo)
42-
knownBoards["mkr1000"] = combo{match: "(WINC1500)*(3a0)", loader: "WINC1500/Firmware*"}
43-
knownBoards["mkrwifi1010"] = combo{match: "(NINA)", loader: "NINA/Firmware.*mkrwifi1010.*", avoid: "uno"}
44-
knownBoards["nano_33_iot"] = combo{match: "(NINA)", loader: "NINA/Firmware.*nano_33_iot.*", avoid: "uno"}
45-
knownBoards["mkrvidor4000"] = combo{match: "(NINA)", loader: "NINA/Firmware.*mkrvidor.*", avoid: "uno"}
46-
knownBoards["uno2018"] = combo{match: "(NINA)", loader: "NINA/Firmware.*unowifi.*", prefer: "uno", avoid: "mkr"}
34+
knownBoards["mkr1000"] = combo{match: "(WINC1500)*(3a0)", loader: "WINC1500/FirmwareUpdater.mkr1000.ino.bin"}
35+
knownBoards["mkrwifi1010"] = combo{match: "NINA_W102.bin", loader: "NINA/FirmwareUpdater.mkrwifi1010.ino.bin"}
36+
knownBoards["nano_33_iot"] = combo{match: "NINA_W102.bin", loader: "NINA/FirmwareUpdater.nano_33_iot.ino.bin"}
37+
knownBoards["mkrvidor4000"] = combo{match: "NINA_W102.bin", loader: "NINA/FirmwareUpdater.mkrvidor4000.ino.bin"}
38+
knownBoards["uno2018"] = combo{match: "NINA_W102-Uno_WiFi_Rev2.bin", loader: "NINA/FirmwareUpdater.unowifirev2.without_bl.ino.hex"}
4739
knownBoards["mkrnb1500"] = combo{match: "SARA", loader: "SARA/SerialSARAPassthrough*"}
48-
//knownBoards["nanorp2040connect"] = combo{match: "(NINA).*(Nano_RP2040_Connect)", loader: "NINA/Firmware.*nanorp2040connect.*"}
40+
knownBoards["nanorp2040connect"] = combo{match: "NINA_W102-Nano_RP2040_Connect", loader: "NINA/FirmwareUpdater.nanorp2040connect.ino.elf"}
4941

5042
listAll := false
5143

@@ -74,16 +66,12 @@ func GetCompatibleWith(name string, rootPath string) map[string][]firmware {
7466
IsLoader: loader.MatchString(unixPath) && !listAll,
7567
}
7668
folder := filepath.Dir(path)
77-
lowerPath, _ := filepath.Rel(root, path)
78-
lowerPath = strings.ToLower(lowerPath)
79-
_, alreadyPopulated := files[folder]
8069
if strings.HasPrefix(f.Name, "firmwares") && !f.IsLoader {
8170
return nil
8271
}
8372
if listAll && !strings.HasPrefix(f.Name, "firmwares") {
8473
files[folder] = append(files[folder], f)
85-
}
86-
if !listAll && (fw.MatchString(path) || f.IsLoader) && isPreferred(alreadyPopulated, lowerPath, knownBoards[name]) {
74+
} else if !listAll && (fw.MatchString(path) || f.IsLoader) {
8775
files[folder] = append(files[folder], f)
8876
}
8977
return nil

0 commit comments

Comments
 (0)