Skip to content

Commit

Permalink
Merge branch 'master' into mcore-fs-1-3
Browse files Browse the repository at this point in the history
  • Loading branch information
tehampson committed Jul 30, 2024
2 parents d8265e3 + b426fde commit 1233149
Show file tree
Hide file tree
Showing 491 changed files with 25,338 additions and 4,735 deletions.
1 change: 1 addition & 0 deletions .github/.wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -650,6 +650,7 @@ href
HSM
hsm
HTTPS
Humidistat
HW
hwadr
HydrogenConcentrationMeasurement
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/darwin-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ jobs:
--target darwin-x64-lit-icd-${BUILD_VARIANT} \
--target darwin-x64-microwave-oven-${BUILD_VARIANT} \
--target darwin-x64-rvc-${BUILD_VARIANT} \
--target darwin-x64-network-manager-${BUILD_VARIANT} \
build \
--copy-artifacts-to objdir-clone \
"
Expand All @@ -116,6 +117,7 @@ jobs:
--bridge-app ./out/darwin-x64-bridge-${BUILD_VARIANT}/chip-bridge-app \
--microwave-oven-app ./out/darwin-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
--rvc-app ./out/darwin-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
--network-manager-app ./out/darwin-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
"
- name: Run OTA Test
run: |
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ jobs:
src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/thread-border-router-management-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/thread-network-diagnostics-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/thread-network-directory-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/time-format-localization-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/time-synchronization-cluster.xml \
src/app/zap-templates/zcl/data-model/chip/timer-cluster.xml \
Expand Down Expand Up @@ -223,6 +224,7 @@ jobs:
--target linux-x64-lit-icd-${BUILD_VARIANT} \
--target linux-x64-microwave-oven-${BUILD_VARIANT} \
--target linux-x64-rvc-${BUILD_VARIANT} \
--target linux-x64-network-manager-${BUILD_VARIANT} \
build \
--copy-artifacts-to objdir-clone \
"
Expand All @@ -245,6 +247,7 @@ jobs:
--lit-icd-app ./out/linux-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
--microwave-oven-app ./out/linux-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
--rvc-app ./out/linux-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
--network-manager-app ./out/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
"
- name: Run purposeful failure tests using the python parser sending commands to chip-tool
Expand Down Expand Up @@ -286,6 +289,7 @@ jobs:
--lit-icd-app ./out/linux-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
--microwave-oven-app ./out/linux-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
--rvc-app ./out/linux-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
--network-manager-app ./out/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
"
- name: Run Tests using chip-repl (including slow)
if: github.event_name == 'push'
Expand All @@ -305,6 +309,7 @@ jobs:
--lit-icd-app ./out/linux-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
--microwave-oven-app ./out/linux-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
--rvc-app ./out/linux-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
--network-manager-app ./out/linux-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
"
- name: Uploading core files
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -373,6 +378,7 @@ jobs:
--target darwin-x64-lit-icd-${BUILD_VARIANT} \
--target darwin-x64-microwave-oven-${BUILD_VARIANT} \
--target darwin-x64-rvc-${BUILD_VARIANT} \
--target darwin-x64-network-manager-${BUILD_VARIANT} \
build \
--copy-artifacts-to objdir-clone \
"
Expand All @@ -396,6 +402,7 @@ jobs:
--lit-icd-app ./out/darwin-x64-lit-icd-${BUILD_VARIANT}/lit-icd-app \
--microwave-oven-app ./out/darwin-x64-microwave-oven-${BUILD_VARIANT}/chip-microwave-oven-app \
--rvc-app ./out/darwin-x64-rvc-${BUILD_VARIANT}/chip-rvc-app \
--network-manager-app ./out/darwin-x64-network-manager-${BUILD_VARIANT}/matter-network-manager-app \
"
- name: Run purposeful failure tests using the python parser sending commands to chip-tool
Expand Down Expand Up @@ -591,6 +598,10 @@ jobs:
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_RVCOPSTATE_2_4.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_SC_7_1.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_SWTCH.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_WHM_1_2.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_WHM_2_1.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TC_LVL_2_3.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --load-from-env /tmp/test_env.yaml --script src/python_testing/TCP_Tests.py'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --script "src/python_testing/TestConformanceSupport.py" --script-args "--trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --script "src/python_testing/TestMatterTestingSupport.py" --script-args "--trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
scripts/run_in_python_env.sh out/venv './scripts/tests/run_python_test.py --script "src/python_testing/TestSpecParsingSupport.py" --script-args "--trace-to json:out/trace_data/test-{SCRIPT_BASE_NAME}.json --trace-to perfetto:out/trace_data/test-{SCRIPT_BASE_NAME}.perfetto"'
Expand Down
2 changes: 2 additions & 0 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ if (current_toolchain != "${dir_pw_toolchain}/default:default") {
"${chip_root}/src/lib/core/tests:fuzz-tlv-reader",
"${chip_root}/src/lib/dnssd/minimal_mdns/tests:fuzz-minmdns-packet-parsing",
"${chip_root}/src/lib/format/tests:fuzz-payload-decoder",
"${chip_root}/src/setup_payload/tests:fuzz-setup-payload-base38",
"${chip_root}/src/setup_payload/tests:fuzz-setup-payload-base38-decode",
]
}
}
Expand Down
10 changes: 9 additions & 1 deletion build/config/compiler/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

import("//build_overrides/build.gni")
import("//build_overrides/pigweed.gni")
import("//build_overrides/pigweed_environment.gni")
import("${build_root}/chip/java/config.gni")
import("${build_root}/config/compiler/compiler.gni")
import("${build_root}/config/sysroot.gni")
Expand Down Expand Up @@ -348,7 +349,14 @@ config("cosmetic_default") {
}

config("runtime_default") {
if (is_clang) { # Using Pigweed clang instead of Darwin host clang
if (is_clang &&
current_os == "mac") { # Using Pigweed clang instead of Darwin host clang
# Without pw_env_setup_CIPD_PIGWEED defined the hostclang:no_system_libcpp
# config silently uses the system libc++, usually resulting in linker errors.
assert(
defined(pw_env_setup_CIPD_PIGWEED),
"//build_overrides/pigweed_environment.gni must define pw_env_setup_CIPD_PIGWEED when using pigweed clang")

configs = [
"$dir_pw_toolchain/host_clang:no_system_libcpp",
"$dir_pw_toolchain/host_clang:xcode_sysroot",
Expand Down
6 changes: 6 additions & 0 deletions config/esp32/components/chip/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,12 @@ else()
chip_gn_arg_append("chip_openthread_ftd" "false")
endif()

if (CONFIG_OPENTHREAD_BORDER_ROUTER)
chip_gn_arg_append("chip_openthread_border_router" "true")
else()
chip_gn_arg_append("chip_openthread_border_router" "false")
endif()

if (CONFIG_ENABLE_OTA_REQUESTOR)
chip_gn_arg_append("chip_enable_ota_requestor" "true")
endif()
Expand Down
11 changes: 10 additions & 1 deletion config/nrfconnect/chip-module/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,6 @@ matter_generate_args_tmp_file()
# ==============================================================================

matter_build(chip
LIB_SHELL ${CONFIG_CHIP_LIB_SHELL}
LIB_TESTS ${CONFIG_CHIP_BUILD_TESTS}
DEVICE_INFO_EXAMPLE_PROVIDER ${CONFIG_CHIP_EXAMPLE_DEVICE_INFO_PROVIDER}
GN_DEPENDENCIES kernel
Expand All @@ -225,6 +224,16 @@ if (CONFIG_CHIP_MALLOC_SYS_HEAP_OVERRIDE)
)
endif()

if (CONFIG_CHIP_LIB_SHELL)
# Force pulling chip::Shell::Engine::RunMainLoop() in the final binary.
# Without this workaround, the linker script does not process the shell and
# init objects defined in MainLoopZephyr.cpp unless the Matter library or
# the Matter shell library is linked using the '--whole-archive' flag.
target_link_options(chip INTERFACE
-Wl,-u,_ZN4chip5Shell6Engine11RunMainLoopEv
)
endif()

# ==============================================================================
# Define 'chip-ota-image' target for building CHIP OTA image
# ==============================================================================
Expand Down
134 changes: 122 additions & 12 deletions data_model/master/clusters/ACL-Cluster.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,18 @@ Davis, CA 95616, USA
-->
<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x001F" name="Access Control Cluster" revision="2">
<revisionHistory>
<revision revision="1" summary="Initial Release"/>
<revision revision="2" summary="Added Managed feature"/>
<revision revision="1" summary="Initial revision"/>
<revision revision="2" summary="Added Managed Device feature, Extension feature, fixed conformance"/>
</revisionHistory>
<clusterIds>
<clusterId id="0x001F" name="AccessControl"/>
</clusterIds>
<classification hierarchy="base" role="utility" picsCode="ACL" scope="Node"/>
<features>
<feature bit="0" code="MNGD" name="Managed" summary="Device is managed">
<feature bit="0" code="EXTS" name="Extension" summary="Device provides ACL Extension attribute">
<optionalConform/>
</feature>
<feature bit="1" code="MNGD" name="Managed" summary="Device is managed">
<optionalConform/>
</feature>
</features>
Expand All @@ -80,11 +83,6 @@ Davis, CA 95616, USA
<item value="3" name="Group" summary="Group authenticated session">
<mandatoryConform/>
</item>
<item value="4" name="ALL" summary="All modes">
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
</item>
</enum>
<enum name="AccessControlEntryPrivilegeEnum">
<item value="1" name="View" summary="Can read and observe all (except Access Control Cluster and as seen by a non-Proxy)">
Expand All @@ -106,6 +104,20 @@ Davis, CA 95616, USA
<mandatoryConform/>
</item>
</enum>
<enum name="AccessRestrictionTypeEnum">
<item value="0" name="AttributeAccessForbidden" summary="Clients on this fabric are currently forbidden from reading and writing an attribute">
<mandatoryConform/>
</item>
<item value="1" name="AttributeWriteForbidden" summary="Clients on this fabric are currently forbidden from writing an attribute">
<mandatoryConform/>
</item>
<item value="2" name="CommandForbidden" summary="Clients on this fabric are currently forbidden from invoking a command">
<mandatoryConform/>
</item>
<item value="3" name="EventForbidden" summary="Clients on this fabric are currently forbidden from reading an event">
<mandatoryConform/>
</item>
</enum>
<enum name="ChangeTypeEnum">
<item value="0" name="Changed" summary="Entry or extension was changed">
<mandatoryConform/>
Expand Down Expand Up @@ -164,6 +176,45 @@ Davis, CA 95616, USA
<mandatoryConform/>
</field>
</struct>
<struct name="AccessRestrictionEntryStruct">
<field id="0" name="Endpoint" type="endpoint-no">
<access fabricSensitive="true"/>
<mandatoryConform/>
</field>
<field id="1" name="Cluster" type="cluster-id">
<access fabricSensitive="true"/>
<mandatoryConform/>
</field>
<field id="2" name="Restrictions" type="list" default="desc">
<entry type="AccessRestrictionStruct"/>
<access fabricSensitive="true"/>
<mandatoryConform/>
<constraint type="minCount" value="1"/>
</field>
<access fabricScoped="true"/>
</struct>
<struct name="AccessRestrictionStruct">
<field id="0" name="Type" type="AccessRestrictionTypeEnum">
<mandatoryConform/>
</field>
<field id="1" name="ID" type="uint32">
<quality nullable="true"/>
<mandatoryConform/>
</field>
</struct>
<struct name="CommissioningAccessRestrictionEntryStruct">
<field id="0" name="Endpoint" type="endpoint-no">
<mandatoryConform/>
</field>
<field id="1" name="Cluster" type="cluster-id">
<mandatoryConform/>
</field>
<field id="2" name="Restrictions" type="list" default="desc">
<entry type="AccessRestrictionStruct"/>
<mandatoryConform/>
<constraint type="minCount" value="1"/>
</field>
</struct>
</dataTypes>
<attributes>
<attribute id="0x0000" name="ACL" type="list" default="desc">
Expand All @@ -175,7 +226,9 @@ Davis, CA 95616, USA
<attribute id="0x0001" name="Extension" type="list" default="desc">
<entry type="AccessControlExtensionStruct"/>
<access read="true" write="true" readPrivilege="admin" writePrivilege="admin" fabricScoped="true"/>
<optionalConform/>
<mandatoryConform>
<feature name="EXTS"/>
</mandatoryConform>
<constraint type="desc"/>
</attribute>
<attribute id="0x0002" name="SubjectsPerAccessControlEntry" type="uint16" default="4">
Expand All @@ -196,15 +249,45 @@ Davis, CA 95616, USA
<mandatoryConform/>
<constraint type="min" value="4"/>
</attribute>
<attribute id="0x0005" name="ManagedACL" type="list" default="desc">
<entry type="AccessControlEntryStruct"/>
<attribute id="0x0005" name="CommissioningARL" type="list" default="[]">
<entry type="CommissioningAccessRestrictionEntryStruct"/>
<access read="true" readPrivilege="view"/>
<quality changeOmitted="false" nullable="false" scene="false" persistence="fixed" reportable="false" sourceAttribution="false" quieterReporting="false"/>
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
<constraint type="desc"/>
</attribute>
<attribute id="0x0006" name="ARL" type="list" default="[]">
<entry type="AccessRestrictionEntryStruct"/>
<access read="true" readPrivilege="view" fabricScoped="true"/>
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
<constraint type="desc"/>
</attribute>
</attributes>
<commands>
<command id="0x00" name="ReviewFabricRestrictions" direction="commandToServer" response="ReviewFabricRestrictionsResponse">
<access invokePrivilege="admin" fabricScoped="true"/>
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
<field id="0" name="ARL" type="list" default="desc">
<entry type="AccessRestrictionStruct"/>
<mandatoryConform/>
<constraint type="desc"/>
</field>
</command>
<command id="0x01" name="ReviewFabricRestrictionsResponse" direction="responseFromServer">
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
<field id="0" name="Token" type="uint64">
<mandatoryConform/>
</field>
</command>
</commands>
<events>
<event id="0x00" name="AccessControlEntryChanged" priority="info">
<access readPrivilege="admin" fabricSensitive="true"/>
Expand All @@ -229,7 +312,9 @@ Davis, CA 95616, USA
</event>
<event id="0x01" name="AccessControlExtensionChanged" priority="info">
<access readPrivilege="admin" fabricSensitive="true"/>
<mandatoryConform/>
<mandatoryConform>
<feature name="EXTS"/>
</mandatoryConform>
<field id="1" name="AdminNodeID" type="node-id">
<quality nullable="true"/>
<mandatoryConform/>
Expand All @@ -248,5 +333,30 @@ Davis, CA 95616, USA
<mandatoryConform/>
</field>
</event>
<event id="0x02" name="AccessRestrictionEntryChanged" priority="info">
<access readPrivilege="admin" fabricSensitive="true"/>
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
</event>
<event id="0x03" name="FabricRestrictionReviewUpdate" priority="info">
<access readPrivilege="admin" fabricSensitive="true"/>
<mandatoryConform>
<feature name="MNGD"/>
</mandatoryConform>
<field id="0" name="Token" type="uint64">
<mandatoryConform/>
</field>
<field id="1" name="Instruction" type="string">
<quality nullable="true"/>
<mandatoryConform/>
<constraint type="maxLength" value="512"/>
</field>
<field id="2" name="RedirectURL" type="string">
<quality nullable="true"/>
<mandatoryConform/>
<constraint type="maxLength" value="256"/>
</field>
</event>
</events>
</cluster>
2 changes: 1 addition & 1 deletion data_model/master/clusters/AccountLogin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Davis, CA 95616, USA
-->
<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x050E" name="Account Login Cluster" revision="2">
<revisionHistory>
<revision revision="1" summary="Initial Release"/>
<revision revision="1" summary="Initial revision"/>
<revision revision="2" summary="Add support for 8 character PIN code, Add Node to Login, Logout commands. Add LoggedOut event."/>
</revisionHistory>
<clusterIds>
Expand Down
2 changes: 1 addition & 1 deletion data_model/master/clusters/AdminCommissioningCluster.xml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Davis, CA 95616, USA
-->
<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x003C" name="Administrator Commissioning Cluster" revision="1">
<revisionHistory>
<revision revision="1" summary="Initial Release"/>
<revision revision="1" summary="Initial revision"/>
</revisionHistory>
<clusterIds>
<clusterId id="0x003C" name="Administrator Commissioning"/>
Expand Down
2 changes: 1 addition & 1 deletion data_model/master/clusters/AirQuality.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Davis, CA 95616, USA
-->
<cluster xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="types types.xsd cluster cluster.xsd" id="0x005B" name="Air Quality Cluster" revision="1">
<revisionHistory>
<revision revision="1" summary="Initial version of the Air Quality cluster"/>
<revision revision="1" summary="Initial revision"/>
</revisionHistory>
<clusterIds>
<clusterId id="0x005B" name="Air Quality"/>
Expand Down
Loading

0 comments on commit 1233149

Please sign in to comment.