Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[python] Move string encoding to ChipDeviceCtrl.py #20306

Merged

Conversation

agners
Copy link
Contributor

@agners agners commented Jul 5, 2022

Problem

With #19792 SetWiFiCredentials() changed from taking string arguments to byte arrays. This shifts responsibility to choose the right encoding to the caller, which seems not ideal.

Change overview

Exposing a Pythonic API and encode the string in ChipDeviceCtrl.py.

Testing

Manually using chip-repl.

@github-actions
Copy link

github-actions bot commented Jul 5, 2022

PR #20306: Size comparison from 90f32a0 to d1edd0d

Increases (1 build for cyw30739)
platform target config section 90f32a0 d1edd0d change % change
cyw30739 light cyw930739m2evb_01 (read/write) 578886 578894 8 0.0
.app_xip_area 457656 457664 8 0.0
Decreases (2 builds for esp32, telink)
platform target config section 90f32a0 d1edd0d change % change
esp32 all-clusters-app c3devkit (read only) 1019298 1019294 -4 -0.0
.flash.text 1019298 1019294 -4 -0.0
telink light-switch-app tlsr9518adk80d text 565056 565054 -2 -0.0
Full report (41 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 90f32a0 d1edd0d change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 665379 665379 0 0.0
(read/write) 185844 185844 0 0.0
.bss 74116 74116 0 0.0
.data 3356 3356 0 0.0
.rodata 88067 88067 0 0.0
.text 576996 576996 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 631395 631395 0 0.0
(read/write) 157684 157684 0 0.0
.bss 73412 73412 0 0.0
.data 3356 3356 0 0.0
.rodata 77307 77307 0 0.0
.text 553764 553764 0 0.0
lock-ftd LP_CC2652R7 (read only) 668095 668095 0 0.0
(read/write) 173272 173272 0 0.0
.bss 71148 71148 0 0.0
.data 3280 3280 0 0.0
.rodata 76191 76191 0 0.0
.text 591424 591424 0 0.0
lock-mtd LP_CC2652R7 (read only) 617511 617511 0 0.0
(read/write) 144264 144264 0 0.0
.bss 66868 66868 0 0.0
.data 3280 3280 0 0.0
.rodata 76071 76071 0 0.0
.text 540952 540952 0 0.0
pump-app LP_CC2652R7 (read only) 677407 677407 0 0.0
(read/write) 164808 164808 0 0.0
.bss 71228 71228 0 0.0
.data 3280 3280 0 0.0
.rodata 88415 88415 0 0.0
.text 588508 588508 0 0.0
pump-controller-app LP_CC2652R7 (read only) 663279 663279 0 0.0
(read/write) 179056 179056 0 0.0
.bss 71348 71348 0 0.0
.data 3276 3276 0 0.0
.rodata 84279 84279 0 0.0
.text 578520 578520 0 0.0
shell LP_CC2652R7 (read only) 657878 657878 0 0.0
(read/write) 188848 188848 0 0.0
.bss 76420 76420 0 0.0
.data 3360 3360 0 0.0
.rodata 84846 84846 0 0.0
.text 572716 572716 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 578886 578894 8 0.0
.app_xip_area 457656 457664 8 0.0
.bss 64184 64184 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 580550 580550 0 0.0
.app_xip_area 459120 459120 0 0.0
.bss 64376 64376 0 0.0
.data 720 720 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 581958 581958 0 0.0
.app_xip_area 461576 461576 0 0.0
.bss 63392 63392 0 0.0
.data 660 660 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1080332 1080332 0 0.0
.bss 132996 132996 0 0.0
.data 2048 2048 0 0.0
.text 945268 945268 0 0.0
BRD4161A+rpc (read/write) 1134692 1134692 0 0.0
.bss 149676 149676 0 0.0
.data 2260 2260 0 0.0
.text 982736 982736 0 0.0
BRD4161A+rs911x (read/write) 946436 946436 0 0.0
.bss 140768 140768 0 0.0
.data 2048 2048 0 0.0
.text 803600 803600 0 0.0
lock-app BRD4161A+wf200 (read/write) 1127016 1127016 0 0.0
.bss 144184 144184 0 0.0
.data 2060 2060 0 0.0
.text 980748 980748 0 0.0
window-app BRD4161A (read/write) 1074132 1074132 0 0.0
.bss 134468 134468 0 0.0
.data 2076 2076 0 0.0
.text 937564 937564 0 0.0
esp32 all-clusters-app c3devkit (read only) 1019298 1019294 -4 -0.0
(read/write) 1485050 1485050 0 0.0
.dram0.bss 70080 70080 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 214936 214936 0 0.0
.flash.text 1019298 1019294 -4 -0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1073187 1073187 0 0.0
(read/write) 487136 487136 0 0.0
.dram0.bss 75600 75600 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 245396 245396 0 0.0
.flash.text 1067803 1067803 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 658192 658192 0 0.0
.bss 69516 69516 0 0.0
.data 1992 1992 0 0.0
.text 580884 580884 0 0.0
lock k32w061+release (read/write) 684772 684772 0 0.0
.bss 69980 69980 0 0.0
.data 2004 2004 0 0.0
.text 606988 606988 0 0.0
linux all-clusters-app debug (read only) 2955729 2955729 0 0.0
(read/write) 154744 154744 0 0.0
.bss 61536 61536 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 84968 84968 0 0.0
.dynamic 608 608 0 0.0
.got 4536 4536 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 263229 263229 0 0.0
.text 2515314 2515314 0 0.0
all-clusters-minimal-app debug (read only) 2809873 2809873 0 0.0
(read/write) 146680 146680 0 0.0
.bss 60864 60864 0 0.0
.data 2048 2048 0 0.0
.data.rel.ro 77608 77608 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 264925 264925 0 0.0
.text 2369938 2369938 0 0.0
bridge-app debug+rpc (read only) 2312793 2312793 0 0.0
(read/write) 125504 125504 0 0.0
.bss 48928 48928 0 0.0
.data 3824 3824 0 0.0
.data.rel.ro 66984 66984 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 197952 197952 0 0.0
.text 1953106 1953106 0 0.0
chip-tool debug (read only) 10195461 10195461 0 0.0
(read/write) 611816 611816 0 0.0
.bss 24384 24384 0 0.0
.data 1088 1088 0 0.0
.data.rel.ro 580032 580032 0 0.0
.dynamic 624 624 0 0.0
.got 5016 5016 0 0.0
.init 27 27 0 0.0
.init_array 640 640 0 0.0
.rodata 507493 507493 0 0.0
.text 8276933 8276933 0 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 9922676 9922676 0 0.0
(read/write) 676609 676609 0 0.0
.bss 42609 42609 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 615592 615592 0 0.0
.dynamic 528 528 0 0.0
.got 13448 13448 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 470260 470260 0 0.0
.text 7910516 7910516 0 0.0
lighting-app debug+rpc (read only) 2548633 2548633 0 0.0
(read/write) 129528 129528 0 0.0
.bss 49440 49440 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72136 72136 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 816 816 0 0.0
.rodata 213704 213704 0 0.0
.text 2164962 2164962 0 0.0
lock-app debug (read only) 2510961 2510961 0 0.0
(read/write) 124504 124504 0 0.0
.bss 47840 47840 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69096 69096 0 0.0
.dynamic 608 608 0 0.0
.got 4424 4424 0 0.0
.init 27 27 0 0.0
.init_array 784 784 0 0.0
.rodata 228328 228328 0 0.0
.text 2117490 2117490 0 0.0
ota-provider-app debug (read only) 2319601 2319601 0 0.0
(read/write) 118312 118312 0 0.0
.bss 47488 47488 0 0.0
.data 1944 1944 0 0.0
.data.rel.ro 63096 63096 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 203416 203416 0 0.0
.text 1953410 1953410 0 0.0
ota-requestor-app debug (read only) 2436801 2436801 0 0.0
(read/write) 125216 125216 0 0.0
.bss 49856 49856 0 0.0
.data 2232 2232 0 0.0
.data.rel.ro 67288 67288 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 207424 207424 0 0.0
.text 2058226 2058226 0 0.0
shell debug (read only) 2546057 2546057 0 0.0
(read/write) 141096 141096 0 0.0
.bss 57448 57448 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 76688 76688 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 227346 227346 0 0.0
.text 2161634 2161634 0 0.0
thermostat-no-ble arm64 (read only) 2592612 2592612 0 0.0
(read/write) 158289 158289 0 0.0
.bss 65249 65249 0 0.0
.data 1704 1704 0 0.0
.data.rel.ro 83240 83240 0 0.0
.dynamic 528 528 0 0.0
.got 5072 5072 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 165348 165348 0 0.0
.text 2187488 2187488 0 0.0
tv-app debug (read only) 3099697 3099697 0 0.0
(read/write) 257704 257704 0 0.0
.bss 167016 167016 0 0.0
.data 4848 4848 0 0.0
.data.rel.ro 79392 79392 0 0.0
.dynamic 608 608 0 0.0
.got 4848 4848 0 0.0
.init 27 27 0 0.0
.init_array 952 952 0 0.0
.rodata 249216 249216 0 0.0
.text 2662578 2662578 0 0.0
tv-casting-app debug (read only) 5560809 5560809 0 0.0
(read/write) 161744 161744 0 0.0
.bss 50248 50248 0 0.0
.data 2416 2416 0 0.0
.data.rel.ro 102824 102824 0 0.0
.dynamic 608 608 0 0.0
.got 4736 4736 0 0.0
.init 27 27 0 0.0
.init_array 864 864 0 0.0
.rodata 343433 343433 0 0.0
.text 4940162 4940162 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2447376 2447376 0 0.0
.bss 213940 213940 0 0.0
.data 5872 5872 0 0.0
.text 1410020 1410020 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1173323 1173323 0 0.0
bss 142900 142900 0 0.0
rodata 141356 141356 0 0.0
text 810164 810164 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1154159 1154159 0 0.0
bss 142136 142136 0 0.0
rodata 133288 133288 0 0.0
text 799856 799856 0 0.0
p6 all-clusters-app default (read/write) 2563024 2563024 0 0.0
.bss 149120 149120 0 0.0
.data 2776 2776 0 0.0
.text 1521288 1521288 0 0.0
all-clusters-minimal-app default (read/write) 2508888 2508888 0 0.0
.bss 148400 148400 0 0.0
.data 2776 2776 0 0.0
.text 1467152 1467152 0 0.0
light-app default (read/write) 2439256 2439256 0 0.0
.bss 140456 140456 0 0.0
.data 2592 2592 0 0.0
.text 1397520 1397520 0 0.0
lock-app default (read/write) 2465672 2465672 0 0.0
.bss 140304 140304 0 0.0
.data 2600 2600 0 0.0
.text 1423936 1423936 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 796552 796552 0 0.0
bss 70576 70576 0 0.0
noinit 40416 40416 0 0.0
text 565056 565054 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 816388 816388 0 0.0
bss 71420 71420 0 0.0
noinit 40416 40416 0 0.0
text 581380 581380 0 0.0

Copy link
Contributor

@woody-apple woody-apple left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fast tracking tooling updates

@andy31415
Copy link
Contributor

Needs more changes in tests. I see:

[2022-07-05 14:29:58.995671][TEST][STDERR]INFO:PythonMatterControllerTEST:Commissioning device fe80::42:acff:fe12:2
[2022-07-05 14:29:58.997094][TEST][STDERR]'bytes' object has no attribute 'encode'
[2022-07-05 14:29:58.997123][TEST][STDERR]Traceback (most recent call last):
[2022-07-05 14:29:58.997129][TEST][STDERR]  File "/__w/connectedhomeip/connectedhomeip/src/controller/python/test/test_scripts/mobile-device-test.py", line 224, in <module>
[2022-07-05 14:29:58.997135][TEST][STDERR]    run()
[2022-07-05 14:29:58.997140][TEST][STDERR]  File "/__w/connectedhomeip/connectedhomeip/.environment/pigweed-venv/lib/python3.9/site-packages/click/core.py", line 829, in __call__
[2022-07-05 14:29:58.997146][TEST][STDERR]    return self.main(*args, **kwargs)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants