Skip to content

Commit cffe3b3

Browse files
authored
Merge branch 'master' into camera-webrtc-server
2 parents 8441cee + 545b49c commit cffe3b3

File tree

151 files changed

+4934
-3943
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

151 files changed

+4934
-3943
lines changed

.github/workflows/darwin.yaml

+10-1
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,18 @@ jobs:
117117
export TEST_RUNNER_ASAN_OPTIONS=__CURRENT_VALUE__:detect_stack_use_after_return=1
118118
119119
# Disable BLE (CHIP_IS_BLE=NO) because the app does not have the permission to use it and that may crash the CI.
120-
xcodebuild test -target "Matter" -scheme "Matter Framework Tests" -sdk macosx ${{ matrix.options.arguments }} \
120+
xcodebuild test -target "Matter" -scheme "Matter Framework Tests" \
121+
-resultBundlePath /tmp/darwin/framework-tests/TestResults.xcresult \
122+
-sdk macosx ${{ matrix.options.arguments }} \
121123
CHIP_IS_BLE=NO GCC_PREPROCESSOR_DEFINITIONS='${inherited} ${{ matrix.options.defines }}' \
122124
> >(tee /tmp/darwin/framework-tests/darwin-tests.log) 2> >(tee /tmp/darwin/framework-tests/darwin-tests-err.log >&2)
125+
- name: Generate Summary
126+
if: always()
127+
working-directory: /tmp
128+
run: |
129+
wget https://github.com/a7ex/xcresultparser/releases/download/1.8.4/xcresultparser.zip
130+
unzip -j xcresultparser.zip
131+
./xcresultparser --output-format md --failed-tests-only /tmp/darwin/framework-tests/TestResults.xcresult >>"$GITHUB_STEP_SUMMARY"
123132
- name: Collect crash logs
124133
if: failure() && !env.ACT
125134
run: |

.github/workflows/tests.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,8 @@ jobs:
528528
- name: Verify Testing Support
529529
run: |
530530
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_IDM_10_4.py'
531-
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_TC_ICDM_2_1.py'
531+
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_TC_ICDM_2_1_full_pics.py'
532+
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_TC_ICDM_2_1_min_pics.py'
532533
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/test_TC_SC_7_1.py'
533534
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/test_testing/TestDecorators.py'
534535
scripts/run_in_python_env.sh out/venv 'python3 src/python_testing/TestChoiceConformanceSupport.py'

.vscode/tasks.json

+45
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,30 @@
157157
]
158158
}
159159
},
160+
{
161+
"label": "Build EFR32 Unit Tests and Test Runner",
162+
"type": "shell",
163+
"command": "source scripts/activate.sh; scripts/build/build_examples.py --target efr32-${input:efr32Board}-unit-test build; scripts/build/build_examples.py --target linux-x64-efr32-test-runner build; pip3 install out/linux-x64-efr32-test-runner/chip_pw_test_runner_wheels/*.whl --force-reinstall",
164+
"problemMatcher": []
165+
},
166+
{
167+
"label": "Rebuild EFR32 Unit Tests and Test Runner",
168+
"type": "shell",
169+
"command": "source scripts/activate.sh; rm -rf out/efr32-brd*-unit-test out/linux-x64-efr32-test-runner; scripts/build/build_examples.py --target efr32-${input:efr32Board}-unit-test build; scripts/build/build_examples.py --target linux-x64-efr32-test-runner build; pip3 install out/linux-x64-efr32-test-runner/chip_pw_test_runner_wheels/*.whl --force-reinstall",
170+
"problemMatcher": []
171+
},
172+
{
173+
"label": "Clean EFR32 Unit Tests and Test Runner",
174+
"type": "shell",
175+
"command": "rm -rf out/efr32-brd*-unit-test out/linux-x64-efr32-test-runner",
176+
"problemMatcher": []
177+
},
178+
{
179+
"label": "Run EFR32 Unit Tests",
180+
"type": "shell",
181+
"command": "source scripts/activate.sh; python -m src.test_driver.efr32.py.pw_test_runner.pw_test_runner -d /dev/ttyACM1 -f out/efr32-brd2703a-unit-test/tests -o out.log",
182+
"problemMatcher": []
183+
},
160184
{
161185
"label": "Flash EFR32 board",
162186
"type": "shell",
@@ -646,6 +670,27 @@
646670
"tizen-arm-light"
647671
]
648672
},
673+
{
674+
"type": "pickString",
675+
"id": "efr32Board",
676+
"description": "Which board",
677+
"options": [
678+
"brd2704b",
679+
"brd4316a",
680+
"brd4317a",
681+
"brd4318a",
682+
"brd4319a",
683+
"brd4186a",
684+
"brd4187a",
685+
"brd2601b",
686+
"brd4187c",
687+
"brd4186c",
688+
"brd2703a",
689+
"brd4338a",
690+
"brd2605a",
691+
"brd4343a"
692+
]
693+
},
649694
{
650695
"type": "promptString",
651696
"id": "tizenTargetDeviceAddress",

examples/air-quality-sensor-app/silabs/build_for_wifi_gnfile.gn

+1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ default_args = {
2424
target_cpu = "arm"
2525
target_os = "freertos"
2626
chip_enable_wifi = true
27+
chip_device_platform = "SiWx917"
2728
import("//build_for_wifi_args.gni")
2829
}

examples/common/pigweed/rpc_services/Attributes.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include <app/InteractionModelEngine.h>
2828
#include <app/MessageDef/AttributeReportIBs.h>
2929
#include <app/data-model-provider/ActionReturnStatus.h>
30+
#include <app/data-model-provider/MetadataLookup.h>
3031
#include <app/data-model-provider/OperationTypes.h>
3132
#include <app/data-model-provider/Provider.h>
3233
#include <app/util/attribute-storage.h>
@@ -221,7 +222,9 @@ class Attributes : public pw_rpc::nanopb::Attributes::Service<Attributes>
221222
request.operationFlags.Set(app::DataModel::OperationFlags::kInternal);
222223
request.subjectDescriptor = &subjectDescriptor;
223224

224-
std::optional<app::DataModel::ClusterInfo> info = provider->GetServerClusterInfo(path);
225+
app::DataModel::ServerClusterFinder serverClusterFinder(provider);
226+
auto info = serverClusterFinder.Find(path);
227+
225228
if (!info.has_value())
226229
{
227230
return ::pw::Status::NotFound();

examples/common/tracing/BUILD.gn

+2
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ source_set("trace_handlers_decoder") {
9494

9595
deps = [
9696
":trace_handlers",
97+
"${chip_root}/src/app/common:cluster-objects",
9798
"${chip_root}/src/lib",
9899
"${chip_root}/src/lib/core:types",
99100
]
@@ -123,6 +124,7 @@ executable("chip-trace-decoder") {
123124
deps = [ "${chip_root}/src/platform/logging:stdio" ]
124125

125126
public_deps = [
127+
"${chip_root}/src/app/common:cluster-objects",
126128
"${chip_root}/src/lib",
127129
"${chip_root}/src/lib/core:types",
128130
"${chip_root}/third_party/jsoncpp",

examples/dishwasher-app/silabs/src/DeviceEnergyManager.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -165,3 +165,12 @@ DeviceEnergyManagementDelegate * DeviceEnergyManager::GetDEMDelegate()
165165
{
166166
return gDEMDelegate.get();
167167
};
168+
169+
/**
170+
* @brief Returns the EndpointID of the DeviceEnergyManagement cluster.
171+
* The energy management cluster assumes this functions is global to be able to leverage it.
172+
*/
173+
EndpointId GetEnergyDeviceEndpointId()
174+
{
175+
return DataModelHelper::GetEndpointIdFromCluster(DeviceEnergyManagement::Id);
176+
}

examples/energy-management-app/silabs/src/AppTask.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ AppTask AppTask::sAppTask;
133133

134134
EndpointId GetEnergyDeviceEndpointId()
135135
{
136-
#if defined(SL_CONFIG_ENABLE_EXAMPLE_WATER_HEATER_DEVICE)
136+
#if SL_CONFIG_ENABLE_EXAMPLE_WATER_HEATER_DEVICE
137137
return kWaterHeaterEndpoint;
138138
#else
139139
return kEvseEndpoint;

examples/lit-icd-app/silabs/build_for_wifi_gnfile.gn

+1
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,6 @@ default_args = {
2525
target_cpu = "arm"
2626
target_os = "freertos"
2727
chip_enable_wifi = true
28+
chip_device_platform = "SiWx917"
2829
import("//build_for_wifi_args.gni")
2930
}

examples/platform/esp32/external_platform/ESP32_custom/BUILD.gn

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ static_library("ESP32_custom") {
9898
]
9999

100100
deps = [
101+
"${chip_root}/src/app:app_config",
101102
"${chip_root}/src/lib/dnssd:platform_header",
102103
"${chip_root}/src/platform/logging:headers",
103104
"${chip_root}/src/setup_payload",

examples/platform/silabs/BaseApplication.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ CHIP_ERROR BaseApplication::Init()
261261
* Wait for the WiFi to be initialized
262262
*/
263263
ChipLogProgress(AppServer, "APP: Wait WiFi Init");
264-
while (!wfx_hw_ready())
264+
while (!IsStationReady())
265265
{
266266
osDelay(pdMS_TO_TICKS(10));
267267
}

examples/platform/silabs/MatterConfig.cpp

+10-6
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@
2626

2727
#ifdef SL_WIFI
2828
#include <platform/silabs/wifi/WifiInterface.h>
29-
#endif /* SL_WIFI */
29+
30+
// TODO: We shouldn't need any platform specific includes in this file
31+
#ifdef WF200_WIFI
32+
#include <platform/silabs/wifi/wf200/ncp/sl_wfx_task.h>
33+
#endif // WF200_WIFI
34+
#endif // SL_WIFI
3035

3136
#if PW_RPC_ENABLED
3237
#include "Rpc.h"
@@ -40,6 +45,7 @@
4045
#include "MemMonitoring.h"
4146
#endif
4247

48+
// TODO: We shouldn't need any platform specific includes in this file
4349
#if defined(SLI_SI91X_MCU_INTERFACE) && SLI_SI91X_MCU_INTERFACE == 1
4450
#include <platform/silabs/SiWx917/SiWxPlatformInterface.h>
4551
#include <platform/silabs/wifi/wiseconnect-interface/WiseconnectWifiInterface.h>
@@ -308,17 +314,15 @@ CHIP_ERROR SilabsMatterConfig::InitMatter(const char * appName)
308314
#ifdef SL_WIFI
309315
CHIP_ERROR SilabsMatterConfig::InitWiFi(void)
310316
{
317+
// TODO: Platform specific init should not be required here
311318
#ifdef WF200_WIFI
312319
// Start wfx bus communication task.
313320
wfx_bus_start();
314-
#ifdef SL_WFX_USE_SECURE_LINK
315-
// start securelink key renegotiation task
316-
wfx_securelink_task_start();
317-
#endif // SL_WFX_USE_SECURE_LINK
318321
#endif // WF200_WIFI
319322

323+
// TODO: Platform specific init should not be required here
320324
#if defined(SLI_SI91X_MCU_INTERFACE) && SLI_SI91X_MCU_INTERFACE == 1
321-
VerifyOrReturnError(sl_matter_wifi_platform_init() == SL_STATUS_OK, CHIP_ERROR_INTERNAL);
325+
VerifyOrReturnError(InitSiWxWifi() == SL_STATUS_OK, CHIP_ERROR_INTERNAL);
322326
#endif // SLI_SI91X_MCU_INTERFACE
323327

324328
return CHIP_NO_ERROR;

examples/pump-app/silabs/build_for_wifi_gnfile.gn

+1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ default_args = {
2424
target_cpu = "arm"
2525
target_os = "freertos"
2626
chip_enable_wifi = true
27+
chip_device_platform = "SiWx917"
2728
import("//build_for_wifi_args.gni")
2829
}

examples/refrigerator-app/silabs/src/RefrigeratorUI.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
// Only needed for wifi NCP devices
3030
#if SL_WIFI && !defined(SLI_SI91X_MCU_INTERFACE)
31-
#include <platform/silabs/wifi/wf200/platform/spi_multiplex.h>
31+
#include <platform/silabs/wifi/ncp/spi_multiplex.h>
3232
#endif // SL_WIFI && !defined(SLI_SI91X_MCU_INTERFACE)
3333

3434
// LCD line define

examples/smoke-co-alarm-app/silabs/build_for_wifi_gnfile.gn

+1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ default_args = {
2424
target_cpu = "arm"
2525
target_os = "freertos"
2626
chip_enable_wifi = true
27+
chip_device_platform = "SiWx917"
2728
import("//build_for_wifi_args.gni")
2829
}

examples/thermostat/silabs/src/ThermostatUI.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828
// Only needed for wifi NCP devices
2929
#if SL_WIFI && !defined(SLI_SI91X_MCU_INTERFACE)
30-
#include <platform/silabs/wifi/wf200/platform/spi_multiplex.h>
30+
#include <platform/silabs/wifi/ncp/spi_multiplex.h>
3131
#endif // SL_WIFI && !defined(SLI_SI91X_MCU_INTERFACE)
3232

3333
// LCD line define
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
98 : [nrfconnect] Update nRF Connect SDK version.
1+
99 : Update Dockerfile for updating java version (Java 8 -> Java 11)

integrations/docker/images/stage-2/chip-build-java/Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ LABEL org.opencontainers.image.source https://github.com/project-chip/connectedh
66
RUN set -x \
77
&& apt-get update \
88
&& DEBIAN_FRONTEND=noninteractive apt-get install -fy \
9-
openjdk-8-jdk \
9+
openjdk-11-jdk \
1010
&& rm -rf /var/lib/apt/lists/ \
1111
&& : # last line
1212

@@ -20,4 +20,4 @@ RUN set -x \
2020
&& : # last line
2121

2222
ENV PATH $PATH:/usr/lib/kotlinc/bin
23-
ENV JAVA_PATH=/usr/lib/jvm/java-8-openjdk-amd64
23+
ENV JAVA_PATH=/usr/lib/jvm/java-11-openjdk-amd64

integrations/docker/images/stage-3/chip-build-android/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ LABEL org.opencontainers.image.source https://github.com/project-chip/connectedh
88
RUN set -x \
99
&& apt-get update \
1010
&& DEBIAN_FRONTEND=noninteractive apt-get install -fy \
11-
openjdk-8-jdk \
11+
openjdk-11-jdk \
1212
rsync \
1313
swig \
1414
&& rm -rf /var/lib/apt/lists/ \

scripts/examples/gn_silabs_example.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ else
205205

206206
NCP_DIR_SUFFIX="/"$2
207207
USE_WIFI=true
208-
optArgs+="chip_device_platform =\"efr32\" chip_crypto_keystore=\"psa\""
208+
optArgs+="chip_device_platform =\"efr32\" chip_crypto_keystore=\"psa\" "
209209
shift
210210
shift
211211
;;

scripts/spec_xml/generate_spec_xml.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
# Replace hardcoded paths with dynamic paths using paths.py functions
3333
DEFAULT_CHIP_ROOT = get_chip_root()
34-
DEFAULT_OUTPUT_DIR_1_3 = get_data_model_path(Branch.V1_3)
34+
DEFAULT_OUTPUT_DIR_1_4 = get_data_model_path(Branch.V1_4)
3535
DEFAULT_OUTPUT_DIR_IN_PROGRESS = get_data_model_path(Branch.IN_PROGRESS)
3636
DEFAULT_OUTPUT_DIR_TOT = get_data_model_path(Branch.MASTER)
3737
DEFAULT_DOCUMENTATION_FILE = get_documentation_file_path()
@@ -82,7 +82,7 @@ def make_asciidoc(target: str, include_in_progress: str, spec_dir: str, dry_run:
8282
type=click.Choice(['All', 'None', 'Current']), default='All')
8383
def main(scraper, spec_root, output_dir, dry_run, include_in_progress):
8484
if not output_dir:
85-
output_dir_map = {'All': DEFAULT_OUTPUT_DIR_TOT, 'None': DEFAULT_OUTPUT_DIR_1_3, 'Current': DEFAULT_OUTPUT_DIR_IN_PROGRESS}
85+
output_dir_map = {'All': DEFAULT_OUTPUT_DIR_TOT, 'None': DEFAULT_OUTPUT_DIR_1_4, 'Current': DEFAULT_OUTPUT_DIR_IN_PROGRESS}
8686
output_dir = output_dir_map[include_in_progress]
8787
scrape_clusters(scraper, spec_root, output_dir, dry_run, include_in_progress)
8888
scrape_device_types(scraper, spec_root, output_dir, dry_run, include_in_progress)

0 commit comments

Comments
 (0)