Skip to content

Commit c66c280

Browse files
committed
Update build scripts for CYW30739 to build one board at a time.
1 parent dea5b30 commit c66c280

File tree

4 files changed

+48
-37
lines changed

4 files changed

+48
-37
lines changed

.github/workflows/examples-infineon.yaml

+20-13
Original file line numberDiff line numberDiff line change
@@ -111,75 +111,82 @@ jobs:
111111
run: |
112112
./scripts/run_in_build_env.sh \
113113
"./scripts/build/build_examples.py \
114-
--target cyw30739-light \
114+
--target cyw30739-cyw30739b2_p5_evk_01-light \
115+
--target cyw30739-cyw30739b2_p5_evk_02-light \
116+
--target cyw30739-cyw30739b2_p5_evk_03-light \
117+
--target cyw30739-cyw930739m2evb_02-light \
115118
build \
116119
--copy-artifacts-to out/artifacts \
117120
"
118121
- name: Get light size stats
119122
run: |
120123
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
121124
cyw30739 CYW30739B2-P5-EVK-01 light \
122-
out/artifacts/cyw30739-light/lighting_app-CYW30739B2-P5-EVK-01.elf \
125+
out/artifacts/cyw30739-cyw30739b2_p5_evk_01-light/lighting_app-CYW30739B2-P5-EVK-01.elf \
123126
/tmp/bloat_reports/
124127
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
125128
cyw30739 CYW30739B2-P5-EVK-02 light \
126-
out/artifacts/cyw30739-light/lighting_app-CYW30739B2-P5-EVK-02.elf \
129+
out/artifacts/cyw30739-cyw30739b2_p5_evk_02-light/lighting_app-CYW30739B2-P5-EVK-02.elf \
127130
/tmp/bloat_reports/
128131
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
129132
cyw30739 CYW30739B2-P5-EVK-03 light \
130-
out/artifacts/cyw30739-light/lighting_app-CYW30739B2-P5-EVK-03.elf \
133+
out/artifacts/cyw30739-cyw30739b2_p5_evk_03-light/lighting_app-CYW30739B2-P5-EVK-03.elf \
131134
/tmp/bloat_reports/
132135
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
133136
cyw30739 CYW930739M2EVB-02 light \
134-
out/artifacts/cyw30739-light/lighting_app-CYW930739M2EVB-02.elf \
137+
out/artifacts/cyw30739-cyw930739m2evb_02-light/lighting_app-CYW930739M2EVB-02.elf \
135138
/tmp/bloat_reports/
136139
- name: Clean out build output
137140
run: rm -rf ./out
138141
- name: Build CYW30739 Light Switch App
139142
run: |
140143
./scripts/run_in_build_env.sh \
141144
"./scripts/build/build_examples.py \
142-
--target cyw30739-light-switch \
145+
--target cyw30739-cyw30739b2_p5_evk_01-light-switch \
146+
--target cyw30739-cyw30739b2_p5_evk_02-light-switch \
147+
--target cyw30739-cyw30739b2_p5_evk_03-light-switch \
143148
build \
144149
--copy-artifacts-to out/artifacts \
145150
"
146151
- name: Get light-switch size stats
147152
run: |
148153
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
149154
cyw30739 CYW30739B2-P5-EVK-01 light-switch \
150-
out/artifacts/cyw30739-light-switch/light_switch_app-CYW30739B2-P5-EVK-01.elf \
155+
out/artifacts/cyw30739-cyw30739b2_p5_evk_01-light-switch/light_switch_app-CYW30739B2-P5-EVK-01.elf \
151156
/tmp/bloat_reports/
152157
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
153158
cyw30739 CYW30739B2-P5-EVK-02 light-switch \
154-
out/artifacts/cyw30739-light-switch/light_switch_app-CYW30739B2-P5-EVK-02.elf \
159+
out/artifacts/cyw30739-cyw30739b2_p5_evk_02-light-switch/light_switch_app-CYW30739B2-P5-EVK-02.elf \
155160
/tmp/bloat_reports/
156161
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
157162
cyw30739 CYW30739B2-P5-EVK-03 light-switch \
158-
out/artifacts/cyw30739-light-switch/light_switch_app-CYW30739B2-P5-EVK-03.elf \
163+
out/artifacts/cyw30739-cyw30739b2_p5_evk_03-light-switch/light_switch_app-CYW30739B2-P5-EVK-03.elf \
159164
/tmp/bloat_reports/
160165
- name: Clean out build output
161166
run: rm -rf ./out
162167
- name: Build CYW30739 Lock App
163168
run: |
164169
./scripts/run_in_build_env.sh \
165170
"./scripts/build/build_examples.py \
166-
--target cyw30739-lock \
171+
--target cyw30739-cyw30739b2_p5_evk_01-lock \
172+
--target cyw30739-cyw30739b2_p5_evk_02-lock \
173+
--target cyw30739-cyw30739b2_p5_evk_03-lock \
167174
build \
168175
--copy-artifacts-to out/artifacts \
169176
"
170177
- name: Get lock size stats
171178
run: |
172179
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
173180
cyw30739 CYW30739B2-P5-EVK-01 lock \
174-
out/artifacts/cyw30739-lock/lock_app-CYW30739B2-P5-EVK-01.elf \
181+
out/artifacts/cyw30739-cyw30739b2_p5_evk_01-lock/lock_app-CYW30739B2-P5-EVK-01.elf \
175182
/tmp/bloat_reports/
176183
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
177184
cyw30739 CYW30739B2-P5-EVK-02 lock \
178-
out/artifacts/cyw30739-lock/lock_app-CYW30739B2-P5-EVK-02.elf \
185+
out/artifacts/cyw30739-cyw30739b2_p5_evk_02-lock/lock_app-CYW30739B2-P5-EVK-02.elf \
179186
/tmp/bloat_reports/
180187
.environment/pigweed-venv/bin/python3 scripts/tools/memory/gh_sizes.py \
181188
cyw30739 CYW30739B2-P5-EVK-03 lock \
182-
out/artifacts/cyw30739-lock/lock_app-CYW30739B2-P5-EVK-03.elf \
189+
out/artifacts/cyw30739-cyw30739b2_p5_evk_03-lock/lock_app-CYW30739B2-P5-EVK-03.elf \
183190
/tmp/bloat_reports/
184191
- name: Clean out build output
185192
run: rm -rf ./out

scripts/build/build/targets.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from builders.asr import ASRApp, ASRBoard, ASRBuilder
1818
from builders.bouffalolab import BouffalolabApp, BouffalolabBoard, BouffalolabBuilder, BouffalolabMfd
1919
from builders.cc32xx import cc32xxApp, cc32xxBuilder
20-
from builders.cyw30739 import Cyw30739App, Cyw30739Builder
20+
from builders.cyw30739 import Cyw30739App, Cyw30739Board, Cyw30739Builder
2121
from builders.efr32 import Efr32App, Efr32Board, Efr32Builder
2222
from builders.esp32 import Esp32App, Esp32Board, Esp32Builder
2323
from builders.genio import GenioApp, GenioBuilder
@@ -535,6 +535,15 @@ def Buildcc32xxTarget():
535535

536536
def BuildCyw30739Target():
537537
target = BuildTarget('cyw30739', Cyw30739Builder)
538+
# board
539+
target.AppendFixedTargets([
540+
TargetPart('cyw30739b2_p5_evk_01', board=Cyw30739Board.CYW30739B2_P5_EVK_01),
541+
TargetPart('cyw30739b2_p5_evk_02', board=Cyw30739Board.CYW30739B2_P5_EVK_02),
542+
TargetPart('cyw30739b2_p5_evk_03', board=Cyw30739Board.CYW30739B2_P5_EVK_03),
543+
TargetPart('cyw930739m2evb_01', board=Cyw30739Board.CYW930739M2EVB_01),
544+
TargetPart('cyw930739m2evb_02', board=Cyw30739Board.CYW930739M2EVB_02),
545+
])
546+
538547
# apps
539548
target.AppendFixedTargets([
540549
TargetPart('light', app=Cyw30739App.LIGHT),

scripts/build/builders/cyw30739.py

+17-22
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,27 @@ def __init__(
6868
root,
6969
runner,
7070
app: Cyw30739App = Cyw30739App.LIGHT,
71+
board: Cyw30739Board = Cyw30739Board.CYW30739B2_P5_EVK_01,
7172
release: bool = False,
7273
):
7374
super(Cyw30739Builder, self).__init__(
7475
root=app.BuildRoot(root), runner=runner)
7576
self.app = app
77+
self.board = board
7678
self.release = release
79+
self.build_command = f"{app.AppNamePrefix()}-{board.GnArgName()}"
80+
self._output_dir = None
81+
82+
@property
83+
def output_dir(self):
84+
return self._output_dir
85+
86+
@output_dir.setter
87+
def output_dir(self, value):
88+
if hasattr(self, "board"):
89+
board = self.board.GnArgName().lower().replace("-", "_")
90+
value = value.replace(f"-{board}", "")
91+
self._output_dir = value
7792

7893
def GnBuildArgs(self):
7994
args = []
@@ -84,28 +99,8 @@ def GnBuildArgs(self):
8499
return args
85100

86101
def build_outputs(self):
87-
board_list = {
88-
Cyw30739App.LIGHT: [
89-
Cyw30739Board.CYW30739B2_P5_EVK_01,
90-
Cyw30739Board.CYW30739B2_P5_EVK_02,
91-
Cyw30739Board.CYW30739B2_P5_EVK_03,
92-
Cyw30739Board.CYW930739M2EVB_02,
93-
],
94-
Cyw30739App.LIGHT_SWITCH: [
95-
Cyw30739Board.CYW30739B2_P5_EVK_01,
96-
Cyw30739Board.CYW30739B2_P5_EVK_02,
97-
Cyw30739Board.CYW30739B2_P5_EVK_03,
98-
],
99-
Cyw30739App.LOCK: [
100-
Cyw30739Board.CYW30739B2_P5_EVK_01,
101-
Cyw30739Board.CYW30739B2_P5_EVK_02,
102-
Cyw30739Board.CYW30739B2_P5_EVK_03,
103-
],
104-
}
105102
items = {}
106103
for extension in ["elf", "elf.map"]:
107-
for board in board_list[self.app]:
108-
name = "%s-%s.%s" % (self.app.AppNamePrefix(),
109-
board.GnArgName(), extension)
110-
items[name] = os.path.join(self.output_dir, name)
104+
name = "%s-%s.%s" % (self.app.AppNamePrefix(), self.board.GnArgName(), extension)
105+
items[name] = os.path.join(self.output_dir, name)
111106
return items

scripts/build/testdata/all_targets_linux_x64.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ android-{arm,arm64,x86,x64,androidstudio-arm,androidstudio-arm64,androidstudio-x
44
bouffalolab-{bl602-iot-matter-v1,bl602-night-light,xt-zb6-devkit,bl706-night-light,bl706dk,bl704ldk}-light[-shell][-115200][-rpc][-cdc][-resetcnt][-rotating_device_id][-mfd][-mfdtest][-ethernet][-wifi][-thread][-fp][-memmonitor][-mot]
55
cc32xx-{lock,air-purifier}
66
ti-cc13x4_26x4-{all-clusters,lighting,lock,pump,pump-controller}[-mtd][-ftd]
7-
cyw30739-{light,light-switch,lock}
7+
cyw30739-{cyw30739b2_p5_evk_01,cyw30739b2_p5_evk_02,cyw30739b2_p5_evk_03,cyw930739m2evb_01,cyw930739m2evb_02}-{light,light-switch,lock}
88
efr32-{brd4161a,brd4187c,brd4186c,brd4163a,brd4164a,brd4166a,brd4170a,brd4186a,brd4187a,brd4304a,brd4338a}-{window-covering,switch,unit-test,light,lock,thermostat,pump}[-rpc][-with-ota-requestor][-icd][-low-power][-shell][-no-logging][-openthread-mtd][-heap-monitoring][-no-openthread-cli][-show-qr-code][-wifi][-rs9116][-wf200][-siwx917][-ipv4][-additional-data-advertising][-use-ot-lib][-use-ot-coap-lib][-no-version][-skip-rps-generation]
99
esp32-{m5stack,c3devkit,devkitc,qemu}-{all-clusters,all-clusters-minimal,energy-management,ota-provider,ota-requestor,shell,light,lock,bridge,temperature-measurement,ota-requestor,tests}[-rpc][-ipv6only][-tracing]
1010
genio-lighting-app

0 commit comments

Comments
 (0)