Skip to content

Commit 1e2ac10

Browse files
authored
Initial cut of Matter camera app (#37625)
* Initial structure of camera-app * Add camera-app.zap and .matter files. Add chime server support. Add Chime cluster in the Camera endpoint in .zap config. Add delegate implementation of chime cluster. * Fix missing device type id in .zap and .matter files for camera device endpoint. * Create a source set for the common camera app files. Also, - Add build support into gn_build.sh. - Change executable name to chip-camera-app. * Add camera.md in docs
1 parent 616e1bd commit 1e2ac10

File tree

24 files changed

+8632
-2
lines changed

24 files changed

+8632
-2
lines changed

BUILD.gn

+13
Original file line numberDiff line numberDiff line change
@@ -394,6 +394,10 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
394394
enable_linux_rvc_app_build =
395395
enable_default_builds && (host_os == "linux" || host_os == "mac")
396396

397+
# Build the Linux Camera app example.
398+
enable_linux_camera_app_build =
399+
enable_default_builds && (host_os == "linux" || host_os == "mac")
400+
397401
# Build the cc13x2x7_26x2x7 lock app example.
398402
enable_cc13x2x7_26x2x7_lock_app_build = enable_ti_simplelink_builds
399403

@@ -783,6 +787,15 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
783787
extra_build_deps += [ ":linux_rvc_app" ]
784788
}
785789

790+
if (enable_linux_camera_app_build) {
791+
group("linux_camera_app") {
792+
deps =
793+
[ "${chip_root}/examples/camera-app/linux(${standalone_toolchain})" ]
794+
}
795+
796+
extra_build_deps += [ ":linux_camera_app" ]
797+
}
798+
786799
group("default") {
787800
deps = extra_build_deps + builds
788801
}

docs/examples/camera.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## Camera
2+
3+
```{toctree}
4+
:glob:
5+
:maxdepth: 1
6+
7+
camera-app/**/README
8+
```
+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Copyright (c) 2025 Project CHIP Authors
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
import("//build_overrides/chip.gni")
16+
import("${chip_root}/src/app/chip_data_model.gni")
17+
18+
config("config") {
19+
include_dirs = [ "include" ]
20+
}
21+
22+
chip_data_model("camera-common") {
23+
zap_file = "camera-app.zap"
24+
is_server = true
25+
}
26+
27+
source_set("camera-lib") {
28+
public_configs = [ ":config" ]
29+
30+
sources = [
31+
"include/camera-app.h",
32+
"include/camera-device-interface.h",
33+
"src/camera-app.cpp",
34+
]
35+
36+
deps = [
37+
"${chip_root}/examples/camera-app/camera-common",
38+
"${chip_root}/src/lib",
39+
]
40+
}

0 commit comments

Comments
 (0)