Skip to content

Commit 70f23b6

Browse files
Add VScode tasks to build and flash efr32 apps with selected boards. (project-chip#12478)
* Add task to build and flash efr32 examples for selected boards. Update efr32.py and targets.py to support board selection * restyle * add Global blacklist for all boards except BRD4161A * Restyled by autopep8 * address PR comments * Update testdata txt files to validate news boards in all targets dry-run * fix build_all_except_host Co-authored-by: Restyled.io <commits@restyled.io>
1 parent aa71969 commit 70f23b6

File tree

5 files changed

+392
-11
lines changed

5 files changed

+392
-11
lines changed

.vscode/tasks.json

+46
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,17 @@
170170
"${workspaceFolder}/src/test_driver/mbed/unit_tests/build"
171171
]
172172
}
173+
},
174+
{
175+
"label": "Flash EFR32 board",
176+
"type": "shell",
177+
"command": "python3",
178+
"args": [
179+
"${workspaceFolder}/out/${input:exampleTarget}/chip-efr32-*.flash.py"
180+
],
181+
"problemMatcher": {
182+
"base": "$gcc"
183+
}
173184
}
174185
],
175186
"inputs": [
@@ -229,10 +240,45 @@
229240
"android-x64-chip-tool",
230241
"android-x86-chip-tool",
231242
"efr32-brd4161a-light",
243+
"efr32-brd4163a-light",
244+
"efr32-brd4164a-light",
245+
"efr32-brd4166a-light",
246+
"efr32-brd4170a-light",
247+
"efr32-brd4186a-light",
248+
"efr32-brd4187a-light",
249+
"efr32-brd4304a-light",
232250
"efr32-brd4161a-light-rpc",
251+
"efr32-brd4163a-light-rpc",
252+
"efr32-brd4164a-light-rpc",
253+
"efr32-brd4166a-light-rpc",
254+
"efr32-brd4170a-light-rpc",
255+
"efr32-brd4186a-light-rpc",
256+
"efr32-brd4187a-light-rpc",
257+
"efr32-brd4304a-light-rpc",
233258
"efr32-brd4161a-lock",
259+
"efr32-brd4163a-lock",
260+
"efr32-brd4164a-lock",
261+
"efr32-brd4166a-lock",
262+
"efr32-brd4170a-lock",
263+
"efr32-brd4186a-lock",
264+
"efr32-brd4187a-lock",
265+
"efr32-brd4304a-lock",
234266
"efr32-brd4161a-unit-test",
267+
"efr32-brd4163a-unit-test",
268+
"efr32-brd4164a-unit-test",
269+
"efr32-brd4166a-unit-test",
270+
"efr32-brd4170a-unit-test",
271+
"efr32-brd4186a-unit-test",
272+
"efr32-brd4187a-unit-test",
273+
"efr32-brd4304a-unit-test",
235274
"efr32-brd4161a-window-covering",
275+
"efr32-brd4163a-window-covering",
276+
"efr32-brd4164a-window-covering",
277+
"efr32-brd4166a-window-covering",
278+
"efr32-brd4170a-window-covering",
279+
"efr32-brd4186a-window-covering",
280+
"efr32-brd4187a-window-covering",
281+
"efr32-brd4304a-window-covering",
236282
"esp32-c3devkit-all-clusters",
237283
"esp32-devkitc-all-clusters",
238284
"esp32-devkitc-all-clusters-ipv6only",

scripts/build/build/targets.py

+29-11
Original file line numberDiff line numberDiff line change
@@ -214,20 +214,38 @@ def Esp32Targets():
214214

215215

216216
def Efr32Targets():
217-
efr_target = Target('efr32-brd4161a', Efr32Builder,
218-
board=Efr32Board.BRD4161A)
217+
efr_target = Target('efr32', Efr32Builder)
218+
219+
board_targets = [
220+
efr_target.Extend('brd4161a', board=Efr32Board.BRD4161A),
221+
efr_target.Extend('brd4163a', board=Efr32Board.BRD4163A).GlobBlacklist(
222+
'only user requested'),
223+
efr_target.Extend('brd4164a', board=Efr32Board.BRD4164A).GlobBlacklist(
224+
'only user requested'),
225+
efr_target.Extend('brd4166a', board=Efr32Board.BRD4166A).GlobBlacklist(
226+
'only user requested'),
227+
efr_target.Extend('brd4170a', board=Efr32Board.BRD4170A).GlobBlacklist(
228+
'only user requested'),
229+
efr_target.Extend('brd4186a', board=Efr32Board.BRD4186A).GlobBlacklist(
230+
'only user requested'),
231+
efr_target.Extend('brd4187a', board=Efr32Board.BRD4187A).GlobBlacklist(
232+
'only user requested'),
233+
efr_target.Extend('brd4304a', board=Efr32Board.BRD4304A).GlobBlacklist(
234+
'only user requested')
235+
]
219236

220-
yield efr_target.Extend('window-covering', app=Efr32App.WINDOW_COVERING)
221-
yield efr_target.Extend('unit-test', app=Efr32App.UNIT_TEST)
237+
for board_target in board_targets:
238+
yield board_target.Extend('window-covering', app=Efr32App.WINDOW_COVERING)
239+
yield board_target.Extend('unit-test', app=Efr32App.UNIT_TEST)
222240

223-
rpc_aware_targets = [
224-
efr_target.Extend('light', app=Efr32App.LIGHT),
225-
efr_target.Extend('lock', app=Efr32App.LOCK)
226-
]
241+
rpc_aware_targets = [
242+
board_target.Extend('light', app=Efr32App.LIGHT),
243+
board_target.Extend('lock', app=Efr32App.LOCK)
244+
]
227245

228-
for target in rpc_aware_targets:
229-
yield target
230-
yield target.Extend('rpc', enable_rpcs=True)
246+
for target in rpc_aware_targets:
247+
yield target
248+
yield target.Extend('rpc', enable_rpcs=True)
231249

232250

233251
def NrfTargets():

scripts/build/builders/efr32.py

+23
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,33 @@ def BuildRoot(self, root):
6767

6868
class Efr32Board(Enum):
6969
BRD4161A = 1
70+
BRD4163A = 2
71+
BRD4164A = 3
72+
BRD4166A = 4
73+
BRD4170A = 5
74+
BRD4186A = 6
75+
BRD4187A = 7
76+
BRD4304A = 8
7077

7178
def GnArgName(self):
7279
if self == Efr32Board.BRD4161A:
7380
return 'BRD4161A'
81+
elif self == Efr32Board.BRD4163A:
82+
return 'BRD4163A'
83+
elif self == Efr32Board.BRD4164A:
84+
return 'BRD4164A'
85+
elif self == Efr32Board.BRD4166A:
86+
return 'BRD4166A'
87+
elif self == Efr32Board.BRD4170A:
88+
return 'BRD4170A'
89+
elif self == Efr32Board.BRD4186A:
90+
return 'BRD4186A'
91+
elif self == Efr32Board.BRD4187A:
92+
return 'BRD4187A'
93+
elif self == Efr32Board.BRD4304A:
94+
return 'BRD4304A'
95+
else:
96+
raise Exception('Unknown board #: %r' % self)
7497

7598

7699
class Efr32Builder(GnBuilder):

scripts/build/testdata/all_targets_except_host.txt

+42
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,48 @@ efr32-brd4161a-lock
1515
efr32-brd4161a-lock-rpc
1616
efr32-brd4161a-unit-test
1717
efr32-brd4161a-window-covering
18+
efr32-brd4163a-light (NOGLOB: only user requested)
19+
efr32-brd4163a-light-rpc (NOGLOB: only user requested)
20+
efr32-brd4163a-lock (NOGLOB: only user requested)
21+
efr32-brd4163a-lock-rpc (NOGLOB: only user requested)
22+
efr32-brd4163a-unit-test (NOGLOB: only user requested)
23+
efr32-brd4163a-window-covering (NOGLOB: only user requested)
24+
efr32-brd4164a-light (NOGLOB: only user requested)
25+
efr32-brd4164a-light-rpc (NOGLOB: only user requested)
26+
efr32-brd4164a-lock (NOGLOB: only user requested)
27+
efr32-brd4164a-lock-rpc (NOGLOB: only user requested)
28+
efr32-brd4164a-unit-test (NOGLOB: only user requested)
29+
efr32-brd4164a-window-covering (NOGLOB: only user requested)
30+
efr32-brd4166a-light (NOGLOB: only user requested)
31+
efr32-brd4166a-light-rpc (NOGLOB: only user requested)
32+
efr32-brd4166a-lock (NOGLOB: only user requested)
33+
efr32-brd4166a-lock-rpc (NOGLOB: only user requested)
34+
efr32-brd4166a-unit-test (NOGLOB: only user requested)
35+
efr32-brd4166a-window-covering (NOGLOB: only user requested)
36+
efr32-brd4170a-light (NOGLOB: only user requested)
37+
efr32-brd4170a-light-rpc (NOGLOB: only user requested)
38+
efr32-brd4170a-lock (NOGLOB: only user requested)
39+
efr32-brd4170a-lock-rpc (NOGLOB: only user requested)
40+
efr32-brd4170a-unit-test (NOGLOB: only user requested)
41+
efr32-brd4170a-window-covering (NOGLOB: only user requested)
42+
efr32-brd4186a-light (NOGLOB: only user requested)
43+
efr32-brd4186a-light-rpc (NOGLOB: only user requested)
44+
efr32-brd4186a-lock (NOGLOB: only user requested)
45+
efr32-brd4186a-lock-rpc (NOGLOB: only user requested)
46+
efr32-brd4186a-unit-test (NOGLOB: only user requested)
47+
efr32-brd4186a-window-covering (NOGLOB: only user requested)
48+
efr32-brd4187a-light (NOGLOB: only user requested)
49+
efr32-brd4187a-light-rpc (NOGLOB: only user requested)
50+
efr32-brd4187a-lock (NOGLOB: only user requested)
51+
efr32-brd4187a-lock-rpc (NOGLOB: only user requested)
52+
efr32-brd4187a-unit-test (NOGLOB: only user requested)
53+
efr32-brd4187a-window-covering (NOGLOB: only user requested)
54+
efr32-brd4304a-light (NOGLOB: only user requested)
55+
efr32-brd4304a-light-rpc (NOGLOB: only user requested)
56+
efr32-brd4304a-lock (NOGLOB: only user requested)
57+
efr32-brd4304a-lock-rpc (NOGLOB: only user requested)
58+
efr32-brd4304a-unit-test (NOGLOB: only user requested)
59+
efr32-brd4304a-window-covering (NOGLOB: only user requested)
1860
esp32-c3devkit-all-clusters
1961
esp32-devkitc-all-clusters
2062
esp32-devkitc-all-clusters-ipv6only

0 commit comments

Comments
 (0)