canonical / matter-pi-gpio-commander Goto Github PK
View Code? Open in Web Editor NEWMatter Raspberry Pi GPIO Commander - Turn your Pi into a Matter lighting device!
License: Apache License 2.0
Matter Raspberry Pi GPIO Commander - Turn your Pi into a Matter lighting device!
License: Apache License 2.0
The stoi
function is used for converting the value of GPIO environment variable to an integer. When a non-integer is set for the value, the application crashes:
$ sudo snap set matter-pi-gpio-commander gpio=x
$ sudo snap run matter-pi-gpio-commander.lighting
...
[1677659847.179663][14576:14576] CHIP:SVR: Using GPIO x
terminate called after throwing an instance of 'std::invalid_argument'
what(): stoi
/snap/matter-pi-gpio-commander/x7/bin/run.sh: line 3: 14576 Aborted (core dumped) $SNAP/bin/lighting-app $ARGS
The test-blink app has exception handling for stoi
:
matter-pi-gpio-commander/test-blink.cpp
Lines 24 to 33 in 4df75fa
Originally posted by @farshidtz in #9 (comment)
If a process is expected to be killed after a timeout with utils.ExecContext
or utils.ExecContextVerbose
when running inside a GH runner it's only killed the parent process and not the child ones.
The build process of the SDK now pulls zap artifacts for arm64 as well. As a result, the snap doesn't need to address this manually. It is hard to maintain the existing zap part; see #54.
This was recently done for chip tool snap: canonical/chip-tool-snap#47
The build of main branch is failing on arm64
.
As showed in this action run:
Something made it incompatible with the upstream chip project, similar to what happens on #43.
The errors:
:: [69/639] ACTION //third_party/connectedhomeip/examples/lighting-app/lighting-common:lighting-common_codegen_generate(//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc)
:: [70/639] ACTION //third_party/connectedhomeip/examples/lighting-app/lighting-common:lighting-common_zapgen_generate(//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc)
:: FAILED: gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zapgen/zap-generated/access.h gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zapgen/zap-generated/gen_config.h gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zapgen/zap-generated/endpoint_config.h gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zapgen/zap-generated/IMClusterCommandHandler.cpp
:: python ../../third_party/connectedhomeip/third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../../ --current-path ../../third_party/connectedhomeip/examples/lighting-app/lighting-common --default-toolchain=//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc --current-toolchain=//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc --capture-output --python-dep-list-files gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/lighting-common_zapgen_generate_metadata_path_list.txt -- ../../third_party/connectedhomeip/scripts/tools/zap/generate.py --no-prettify-output --templates /root/parts/connectedhomeip/src/examples/lighting-app/linux/third_party/connectedhomeip/src/app/zap-templates/app-templates.json --output-dir /root/parts/connectedhomeip/src/examples/lighting-app/linux/out/build/gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zapgen/zap-generated --lock-file /root/parts/connectedhomeip/src/examples/lighting-app/linux/out/build/zap_gen.lock --parallel /root/parts/connectedhomeip/src/examples/lighting-app/linux/third_party/connectedhomeip/examples/lighting-app/lighting-common/lighting-app.zap
:: Searching for zcl file from /root/parts/connectedhomeip/src/examples/lighting-app/linux/third_party/connectedhomeip/examples/lighting-app/lighting-common/lighting-app.zap
:: Checking ZAP from ['/root/parts/zap/build/zap-cli']:
:: !!! Version validation failed: required at least 2024.3.14, got 2024.1.5 instead
:: [71/639] stamp obj/third_party/connectedhomeip/examples/lighting-app/lighting-common/lighting-common_codegen_generate.stamp
:: [72/639] ar openthread.a
The following script could be moved to a new part called nodjs-zap
:
matter-pi-gpio-commander/snap/snapcraft.yaml
Lines 82 to 110 in d39721b
The main README.md documentation is outdated for instructions to v2.0.0, more specifically on:
sysfs
is no longer used).The bluez interface is required for Thread commissioning. The following content should be added to README:
Connect the bluez interface for device discovery over Bluetooth Low Energy (BLE):
sudo snap connect chip-tool:bluez
The WiringPi library is archived and unmaintained, so it would be a good practice to look for a new, actively maintained alternative.
I receive the following denial when running the test-blink
on the v2.0.0 of the snap:
= AppArmor =
Time: Feb 22 15:33:57
Log: apparmor="DENIED" operation="capable" profile="snap.matter-pi-gpio-commander.test-blink" pid=1961 comm="load-snap-optio" capability=2 capname="dac_read_search"
Capability: dac_read_search
Suggestions:
* adjust program to not require 'CAP_DAC_READ_SEARCH' (see 'man 7 capabilities')
* add one of 'microstack-support, system-backup' to 'plugs'
* do nothing if program otherwise works properly
It doesn't affect the functionality.
Launchpad build log:
[09/Apr/2024:06:15:02 +0000] "CONNECT github.com:443 HTTP/1.1" 200 49427057 "-" "git/2.34.1"
:: + scripts/checkout_submodules.py --shallow --platform linux
:: Checking out: nlassert, nlio, nlunit-test, mbedtls, qrcode, pigweed, openthread, ot-br-posix, cirque, nanopb, ot-stm32, third_party/pybind11/repo, third_party/jsoncpp/repo, editline, third_party/boringssl/repo/src, third_party/libwebsockets/repo, third_party/imgui/repo, perfetto
[09/Apr/2024:06:15:05 +0000] "CONNECT github.com:443 HTTP/1.1" 200 181618 "-" "git/2.34.1"
[09/Apr/2024:06:15:08 +0000] "CONNECT github.com:443 HTTP/1.1" 200 35441910 "-" "git/2.34.1"
[09/Apr/2024:06:15:09 +0000] "CONNECT github.com:443 HTTP/1.1" 200 74164 "-" "git/2.34.1"
[09/Apr/2024:06:15:12 +0000] "CONNECT github.com:443 HTTP/1.1" 200 63656 "-" "git/2.34.1"
[09/Apr/2024:06:15:14 +0000] "CONNECT github.com:443 HTTP/1.1" 200 1728361 "-" "git/2.34.1"
[09/Apr/2024:06:15:15 +0000] "CONNECT github.com:443 HTTP/1.1" 200 208151 "-" "git/2.34.1"
[09/Apr/2024:06:15:18 +0000] "CONNECT github.com:443 HTTP/1.1" 200 16884377 "-" "git/2.34.1"
[09/Apr/2024:06:15:19 +0000] "CONNECT github.com:443 HTTP/1.1" 200 5539059 "-" "git/2.34.1"
[09/Apr/2024:06:15:21 +0000] "CONNECT github.com:443 HTTP/1.1" 200 1266169 "-" "git/2.34.1"
[09/Apr/2024:06:15:23 +0000] "CONNECT github.com:443 HTTP/1.1" 200 582676 "-" "git/2.34.1"
[09/Apr/2024:06:15:24 +0000] "CONNECT github.com:443 HTTP/1.1" 200 578146 "-" "git/2.34.1"
[09/Apr/2024:06:15:25 +0000] "CONNECT github.com:443 HTTP/1.1" 200 530441 "-" "git/2.34.1"
[09/Apr/2024:06:15:27 +0000] "CONNECT github.com:443 HTTP/1.1" 200 8894100 "-" "git/2.34.1"
[09/Apr/2024:06:15:29 +0000] "CONNECT github.com:443 HTTP/1.1" 200 8893760 "-" "git/2.34.1"
[09/Apr/2024:06:15:31 +0000] "CONNECT github.com:443 HTTP/1.1" 200 1069302 "-" "git/2.34.1"
[09/Apr/2024:06:15:33 +0000] "CONNECT github.com:443 HTTP/1.1" 200 22986078 "-" "git/2.34.1"
[09/Apr/2024:06:15:36 +0000] "CONNECT github.com:443 HTTP/1.1" 200 9150416 "-" "git/2.34.1"
[09/Apr/2024:06:15:37 +0000] "CONNECT github.com:443 HTTP/1.1" 200 871582 "-" "git/2.34.1"
[09/Apr/2024:06:15:38 +0000] "CONNECT github.com:443 HTTP/1.1" 200 6755 "-" "git/2.34.1"
[09/Apr/2024:06:15:40 +0000] "CONNECT github.com:443 HTTP/1.1" 200 59004 "-" "git/2.34.1"
[09/Apr/2024:06:15:41 +0000] "CONNECT github.com:443 HTTP/1.1" 200 7511 "-" "git/2.34.1"
[09/Apr/2024:06:15:43 +0000] "CONNECT github.com:443 HTTP/1.1" 200 2581807 "-" "git/2.34.1"
[09/Apr/2024:06:15:45 +0000] "CONNECT github.com:443 HTTP/1.1" 200 12382 "-" "git/2.34.1"
[09/Apr/2024:06:15:46 +0000] "CONNECT github.com:443 HTTP/1.1" 200 120420 "-" "git/2.34.1"
[09/Apr/2024:06:15:48 +0000] "CONNECT github.com:443 HTTP/1.1" 200 12650 "-" "git/2.34.1"
[09/Apr/2024:06:15:49 +0000] "CONNECT github.com:443 HTTP/1.1" 200 83133 "-" "git/2.34.1"
[09/Apr/2024:06:15:50 +0000] "CONNECT github.com:443 HTTP/1.1" 200 34982 "-" "git/2.34.1"
[09/Apr/2024:06:15:52 +0000] "CONNECT github.com:443 HTTP/1.1" 200 1616206 "-" "git/2.34.1"
[09/Apr/2024:06:15:54 +0000] "CONNECT github.com:443 HTTP/1.1" 200 6442 "-" "git/2.34.1"
[09/Apr/2024:06:15:57 +0000] "CONNECT github.com:443 HTTP/1.1" 200 2480747 "-" "git/2.34.1"
[09/Apr/2024:06:15:59 +0000] "CONNECT github.com:443 HTTP/1.1" 200 6444 "-" "git/2.34.1"
[09/Apr/2024:06:16:01 +0000] "CONNECT github.com:443 HTTP/1.1" 200 675437 "-" "git/2.34.1"
[09/Apr/2024:06:16:03 +0000] "CONNECT github.com:443 HTTP/1.1" 200 5905 "-" "git/2.34.1"
[09/Apr/2024:06:16:04 +0000] "CONNECT github.com:443 HTTP/1.1" 200 135952 "-" "git/2.34.1"
[09/Apr/2024:06:16:05 +0000] "CONNECT github.com:443 HTTP/1.1" 200 11820 "-" "git/2.34.1"
[09/Apr/2024:06:16:07 +0000] "CONNECT github.com:443 HTTP/1.1" 200 3267874 "-" "git/2.34.1"
[09/Apr/2024:06:16:09 +0000] "CONNECT github.com:443 HTTP/1.1" 200 5389 "-" "git/2.34.1"
[09/Apr/2024:06:16:12 +0000] "CONNECT github.com:443 HTTP/1.1" 200 404135 "-" "git/2.34.1"
[09/Apr/2024:06:16:14 +0000] "CONNECT github.com:443 HTTP/1.1" 200 11647 "-" "git/2.34.1"
[09/Apr/2024:06:16:15 +0000] "CONNECT github.com:443 HTTP/1.1" 200 203273 "-" "git/2.34.1"
Pulling libgpiod
[09/Apr/2024:06:16:16 +0000] "CONNECT git.kernel.org:9418 HTTP/1.0" 200 56686 "-" "-"
Failed to pull source: command ['git', 'clone', '--recursive', '--branch', 'v2.1', 'git://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git', '/build/matter-pi-gpio-commander/parts/libgpiod/src'] exited with code 128.
Make sure sources are correctly specified.
Full execution log: '/root/.local/state/snapcraft/log/snapcraft-20240409-061345.223713.log'
Build failed
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 265, in run
self.pull()
File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 205, in pull
self.run_build_command(
File "/usr/lib/python3/dist-packages/lpbuildd/target/operation.py", line 62, in run_build_command
return self.backend.run(args, cwd=cwd, env=full_env, **kwargs)
File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 718, in run
subprocess.check_call(cmd, **kwargs)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['lxc', 'exec', 'lp-jammy-arm64', '--env', 'LANG=C.UTF-8', '--env', 'SHELL=/bin/sh', '--env', 'http_proxy=http://10.10.10.1:8222/', '--env', 'https_proxy=http://10.10.10.1:8222/', '--env', 'GIT_PROXY_COMMAND=/usr/local/bin/lpbuildd-git-proxy', '--env', 'SNAPPY_STORE_NO_CDN=1', '--env', 'SNAPCRAFT_LOCAL_SOURCES=1', '--env', 'SNAPCRAFT_SETUP_CORE=1', '--env', 'SNAPCRAFT_BUILD_INFO=1', '--env', 'SNAPCRAFT_IMAGE_INFO={"build-request-id": "lp-87860346", "build-request-timestamp": "2024-04-09T06:10:51Z", "build_url": "https://launchpad.net/~build.snapcraft.io/+snap/23e77e65b0e55be1a2f0abd873ad22d8/+build/2445776"}', '--env', 'SNAPCRAFT_BUILD_ENVIRONMENT=host', '--', '/bin/sh', '-c', 'cd /build/matter-pi-gpio-commander && linux64 snapcraft pull']' returned non-zero exit status 1.
Revoking proxy token...
RUN: /usr/share/launchpad-buildd/bin/in-target scan-for-processes --backend=lxd --series=jammy --arch=arm64 SNAPBUILD-2445776
Scanning for processes to kill in build SNAPBUILD-2445776
The application advertises a non-functional occupancy sensor.
This comes from the default Matter definition: https://github.com/project-chip/connectedhomeip/blob/8f66f4215bc0708efc8cc73bda80620e67d8955f/examples/lighting-app/lighting-common/lighting-app.matter#L1914
On remote build (using snapcraft remote-build, via Launchpad), the env file created in zap
part doesn't get loaded in the lighting
part. See the relevant logs below:
Remote build:
:: + echo 'export ZAP_INSTALL_PATH=/build/snapcraft-matter-pi-gpio-commander-dcf72f424a2401ddf9b69c72baccc6c2/parts/zap/build'
...
:: + test -f /root/parts/zap/build/env
:: + cd ../../connectedhomeip/src
On Pi:
+ echo 'export ZAP_INSTALL_PATH=/root/parts/zap/build'
...
:: + test -f /root/parts/zap/build/env
:: + source /root/parts/zap/build/env
:: ++ export ZAP_INSTALL_PATH=/root/parts/zap/build
:: ++ ZAP_INSTALL_PATH=/root/parts/zap/build
:: + cd ../../connectedhomeip/src
The remote builds use the destructive mode, i.e. building directly on the host. The difference in paths appears related to that.
Originally posted by @farshidtz in #29 (comment)
The libgpiod
library used in the snap does not support the GPIO API v2. This version is the only version supported on the ARM64 Runner on Github.
For details, refer to #51 (comment)_
This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
This repository currently has no open or pending branches.
.github/workflows/build-and-test-snap.yml
actions/checkout v4
snapcore/action-build v1
actions/setup-go v5
actions/upload-artifact v4
actions/upload-artifact v4
Sometimes it takes a few toggle commands to turn on the LED. The actual GPIO state is not recorded by the application upon startup.
To manually bring the device state with the stored state in sync: sudo chip-tool onoff on <node-id> 1 && sudo chip-tool onoff off <node-id> 1
The arm64 build of v1.1.0.1 fails with the following error:
:: [33/555] ACTION //third_party/connectedhomeip/examples/lighting-app/lighting-common:lighting-common_zapgen_zap_pregen(//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc)
:: FAILED: gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zap_pregen/zap-generated/access.h gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zap_pregen/zap-generated/gen_config.h gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zap_pregen/zap-generated/endpoint_config.h gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zap_pregen/zap-generated/CHIPClientCallbacks.h gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zap_pregen/zap-generated/CHIPClusters.h gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zap_pregen/zap-generated/IMClusterCommandHandler.cpp
:: python ../../third_party/connectedhomeip/third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../../ --current-path ../../third_party/connectedhomeip/examples/lighting-app/lighting-common --default-toolchain=//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc --current-toolchain=//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc --capture-output --python-dep-list-files gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/lighting-common_zapgen_zap_pregen_metadata_path_list.txt -- ../../third_party/connectedhomeip/scripts/tools/zap/generate.py --no-prettify-output --templates /build/snapcraft-matter-pi-gpio-commander-28bfd9faac2be3cc31a04dd4da83a95d/parts/connectedhomeip/src/examples/lighting-app/linux/third_party/connectedhomeip/src/app/zap-templates/app-templates.json --output-dir /build/snapcraft-matter-pi-gpio-commander-28bfd9faac2be3cc31a04dd4da83a95d/parts/connectedhomeip/src/examples/lighting-app/linux/out/build/gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zap_pregen/zap-generated --lock-file /build/snapcraft-matter-pi-gpio-commander-28bfd9faac2be3cc31a04dd4da83a95d/parts/connectedhomeip/src/examples/lighting-app/linux/out/build/zap_gen.lock --parallel /build/snapcraft-matter-pi-gpio-commander-28bfd9faac2be3cc31a04dd4da83a95d/parts/connectedhomeip/src/examples/lighting-app/linux/third_party/connectedhomeip/examples/lighting-app/lighting-common/lighting-app.zap
:: Searching for zcl file from /build/snapcraft-matter-pi-gpio-commander-28bfd9faac2be3cc31a04dd4da83a95d/parts/connectedhomeip/src/examples/lighting-app/linux/third_party/connectedhomeip/examples/lighting-app/lighting-common/lighting-app.zap
:: FAILED TO EXECUTE ZAP GENERATION: No such file or directory - "zap-cli"
:: ********************************************************************************
:: * You may need to install zap. Please ensure one of these applies:
:: * - `zap-cli` is in $PATH. Install from https://github.com/project-chip/zap/releases
:: * see docs/guides/BUILDING.md for details
:: * - `zap-cli` is in $ZAP_INSTALL_PATH. Use this option if you
:: * installed zap but do not want to update $PATH
:: * - Point $ZAP_DEVELOPMENT_PATH to your local copy of zap that you
:: * develop on (to use a developer build of zap)
:: ********************************************************************************
:: [34/555] ACTION //third_party/connectedhomeip/src/platform/Linux/dbus/bluez:bluez_gen(//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc)
:: [35/555] ACTION //third_party/connectedhomeip/src/platform/Linux/dbus/openthread:openthread_gen(//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc)
:: [36/555] ACTION //third_party/connectedhomeip/src/platform/Linux/dbus/wpa:wpa_gen(//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc)
:: [37/555] ACTION //third_party/connectedhomeip/src/platform/Linux/dbus/wpa:wpa_gen(//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc)
:: [38/555] ACTION //third_party/connectedhomeip/examples/lighting-app/lighting-common:lighting-common_codegen_codegen(//third_party/connectedhomeip/build/toolchain/linux:linux_arm64_gcc)
:: ninja: build stopped: subcommand failed.
The same issue exists on the chip-tool side, where it utilizes the same version of the Matter SDK: canonical/chip-tool-snap#3
The chip-tool v1.1.0.1 has some difficulties in pairing with the matter-gpio-commander. The log shows a persisted storage error preventing the commissioning discovery over DNS-SD as follows:
CHIP:CTL: Couldn't get ExampleOpCredsCAKey from storage: src/controller/ExamplePersistentStorage.cpp:93: CHIP Error 0x000000A0: Value not found in the persisted storage
Full logs could be find here.
With the same setup as the matter-bridge-tapo-lighting, the chip-tool snapped from the edge channel was able to pair with it without any errors. The full logs can be found here.
chip-tool snap:
$ snap info chip-tool
...
latest/edge: v1.0.0.2+snap 2023-03-02 (14) 17MB -
installed: v1.1.0.1+snap (x1) 20MB -
$ snap connections chip-tool
Interface Plug Slot Notes
avahi-observe chip-tool:avahi-observe :avahi-observe manual
bluez chip-tool:bluez :bluez manual
network chip-tool:network :network -
Originally posted by @MonicaisHer in canonical/chip-tool-snap#2 (comment)
Can I use named pipe this program which registered snap store?
I want to use named pipe for communicate other program.
The application code has become incompatible with the SDK some time between Jan 15 (when it was last built) and now.
The build fails with the following errors:
:: [318/602] c++ obj/third_party/connectedhomeip/src/app/clusters/scenes-server/lighting-common.scenes-server.cpp.o
:: FAILED: obj/third_party/connectedhomeip/src/app/clusters/scenes-server/lighting-common.scenes-server.cpp.o
:: aarch64-linux-gnu-g++ -MMD -MF obj/third_party/connectedhomeip/src/app/clusters/scenes-server/lighting-common.scenes-server.cpp.o.d -Wconversion -O0 -g2 -fno-common -ffunction-sections -fdata-sections -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -Wall -Werror -Wextra -Wshadow -Wunreachable-code -Wvla -Wformat -Wformat-nonliteral -Wformat-security -Wundef -Wno-deprecated-declarations -Wno-missing-field-initializers -Wno-unknown-warning-option -Wno-unused-parameter -Wno-cast-function-type -Wno-psabi -Wno-maybe-uninitialized -fdiagnostics-color -fno-strict-aliasing -fmacro-prefix-map=../../third_party/connectedhomeip/= -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -Wno-format-nonliteral -Wno-format-nonliteral -std=gnu++17 -fno-rtti -Wnon-virtual-dtor -DCHIP_HAVE_CONFIG_H=1 -DCHIP_ADDRESS_RESOLVE_IMPL_INCLUDE_HEADER=\<lib/address_resolve/AddressResolve_DefaultImpl.h\> -DCHIP_MINMDNS_USE_EPHEMERAL_UNICAST_PORT=1 -DCHIP_MINMDNS_HIGH_VERBOSITY=0 -DCHIP_MINMDNS_DEFAULT_POLICY=1 -I../../third_party/connectedhomeip/zzz_generated/lighting-app -Igen/third_party/connectedhomeip/examples/lighting-app/lighting-common -Igen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zapgen -I../../third_party/connectedhomeip/src/include -I../../third_party/connectedhomeip/src -Igen/include -I../../third_party/connectedhomeip/zzz_generated/app-common -I../../third_party/connectedhomeip/examples/lighting-app/linux/include -I../../third_party/connectedhomeip/config/standalone -I../../third_party/connectedhomeip/third_party/nlassert/repo/include -I../../third_party/connectedhomeip/third_party/nlio/repo/include -I../../third_party/connectedhomeip/third_party/inipp/repo/inipp -I../../third_party/connectedhomeip/src/tracing/perfetto/include -I../../third_party/connectedhomeip/third_party/perfetto/repo/sdk -c ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.cpp -o obj/third_party/connectedhomeip/src/app/clusters/scenes-server/lighting-common.scenes-server.cpp.o
:: In file included from ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.cpp:19:
:: ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.h:38:9: error: ‘EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT’ was not declared in this scope; did you mean ‘EMBER_AF_SWITCH_CLUSTER_SERVER_ENDPOINT_COUNT’?
:: 38 | EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT + CHIP_DEVICE_CONFIG_DYNAMIC_ENDPOINT_COUNT;
:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: | EMBER_AF_SWITCH_CLUSTER_SERVER_ENDPOINT_COUNT
:: ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.h:38:9: note: maximum limit of 1000 namespaces searched for ‘EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT’
:: ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.h:39:49: error: non-constant condition for static assertion
:: 39 | static_assert(kScenesServerMaxEndpointCount <= kEmberInvalidEndpointIndex, "Scenes endpoint count error");
:: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: In file included from ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.cpp:19:
:: ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.h:69:58: error: size of array ‘mSceneInfoStructs’ is not an integral constant-expression
:: 69 | Structs::SceneInfoStruct::Type mSceneInfoStructs[kScenesServerMaxEndpointCount][kScenesServerMaxFabricCount];
:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.h:70:40: error: size of array ‘mSceneInfoStructsCount’ is not an integral constant-expression
:: 70 | uint8_t mSceneInfoStructsCount[kScenesServerMaxEndpointCount] = { 0 };
:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.cpp: In member function ‘CHIP_ERROR chip::app::Clusters::ScenesManagement::ScenesServer::FabricSceneInfo::FindFabricSceneInfoIndex(chip::EndpointId, size_t&)’:
:: ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.cpp:264:78: error: ‘EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT’ was not declared in this scope; did you mean ‘EMBER_AF_SWITCH_CLUSTER_SERVER_ENDPOINT_COUNT’?
:: 264 | emberAfGetClusterServerEndpointIndex(endpoint, ScenesManagement::Id, EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT);
:: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: | EMBER_AF_SWITCH_CLUSTER_SERVER_ENDPOINT_COUNT
:: ../../third_party/connectedhomeip/src/app/clusters/scenes-server/scenes-server.cpp:264:78: note: maximum limit of 1000 namespaces searched for ‘EMBER_AF_SCENES_CLUSTER_SERVER_ENDPOINT_COUNT’
:: At global scope:
:: cc1plus: note: unrecognized command-line option ‘-Wno-unknown-warning-option’ may have been intended to silence earlier diagnostics
:: [319/602] c++ obj/BUILD_DIR/gen/third_party/connectedhomeip/examples/lighting-app/lighting-common/zapgen/zap-generated/lighting-common_zapgen.IMClusterCommandHandler.cpp.o
:: [320/602] c++ obj/third_party/connectedhomeip/src/app/clusters/wifi-network-diagnostics-server/lighting-common.wifi-network-diagnostics-server.cpp.o
:: ninja: build stopped: subcommand failed.
Workaround:
$ git diff
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index 776353f..10a3359 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -54,7 +54,7 @@ parts:
plugin: nil
source: https://github.com/project-chip/connectedhomeip.git
source-depth: 1
- source-tag: master
+ source-commit: 4676d277af113d6e07e0de235c8ca8b70237109a
source-submodules: []
override-pull: |
craftctl default
Commit project-chip/connectedhomeip@4676d27 is the last one before Jan 15th, but there may be other working commits after that.
This will work only if the snap is locally built and freshly installed:
matter-pi-gpio-commander/tests/snap_test.go
Line 199 in a66a496
Should use the symbolic link: /snap/matter-pi-gpio-commander/current/bin/test-blink
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.