@@ -16,21 +16,13 @@ type firmware struct {
16
16
17
17
type combo struct {
18
18
match string
19
- prefer string
20
- avoid string
21
19
loader string
22
20
}
23
21
24
- func isPreferred (existing bool , path string , board combo ) bool {
22
+ func isPreferred (path string ) bool {
25
23
if path == "" {
26
24
return false
27
25
}
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
- }
34
26
return true
35
27
}
36
28
@@ -39,13 +31,13 @@ func GetCompatibleWith(name string, rootPath string) map[string][]firmware {
39
31
files := make (map [string ][]firmware )
40
32
41
33
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 " }
47
39
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 " }
49
41
50
42
listAll := false
51
43
@@ -74,16 +66,12 @@ func GetCompatibleWith(name string, rootPath string) map[string][]firmware {
74
66
IsLoader : loader .MatchString (unixPath ) && ! listAll ,
75
67
}
76
68
folder := filepath .Dir (path )
77
- lowerPath , _ := filepath .Rel (root , path )
78
- lowerPath = strings .ToLower (lowerPath )
79
- _ , alreadyPopulated := files [folder ]
80
69
if strings .HasPrefix (f .Name , "firmwares" ) && ! f .IsLoader {
81
70
return nil
82
71
}
83
72
if listAll && ! strings .HasPrefix (f .Name , "firmwares" ) {
84
73
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 ) {
87
75
files [folder ] = append (files [folder ], f )
88
76
}
89
77
return nil
0 commit comments