Skip to content

Commit e6d1973

Browse files
Merge branch 'master' into bugfix/closure_cadmin__test_failure
2 parents 7e4a5d6 + a2f630d commit e6d1973

File tree

213 files changed

+11499
-1796
lines changed

Some content is hidden

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

213 files changed

+11499
-1796
lines changed

docs/development_controllers/matter-repl/python_chip_controller_advanced_usage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ then you can use `bt` (for `backtrace`) to see the backtrace of the call stack.
225225
#0 chip::Controller::DeviceCommissioner::PairDevice
226226
(this=0x7fffd8003a90, remoteDeviceId=1234, setUpCode=0x7fffef2555d0 "MT:-24J0AFN00KA0648G00", params=..., discoveryType=chip::Controller::DiscoveryType::kAll, resolutionData=...)
227227
at ../../src/controller/CHIPDeviceController.cpp:646
228-
#1 0x00007fffed040825 in pychip_DeviceController_ConnectWithCode (devCtrl=0x7fffd8003a90, onboardingPayload=0x7fffef2555d0 "MT:-24J0AFN00KA0648G00", nodeid=1234, discoveryType=2 '\002')
228+
#1 0x00007fffed040825 in pychip_DeviceController_ConnectWithCode (devCtrl=0x7fffd8003a90, onboardingPayload=0x7fffef2555d0 "MT:-24J0AFN00KA0648G00", nodeId=1234, discoveryType=2 '\002')
229229
at ../../src/controller/python/ChipDeviceController-ScriptBinding.cpp:395
230230
#2 0x00007ffff6ad5596 in ??? () at /usr/lib/libffi.so.8
231231
#3 0x00007ffff6ad200e in ??? () at /usr/lib/libffi.so.8

docs/testing/python.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ Example for setting callbacks:
323323
cb = EventSubscriptionHandler(cluster, cluster_id, event_id)
324324

325325
urgent = 1
326-
subscription = await dev_ctrl.ReadEvent(nodeid=1, events=[(1, event, urgent)], reportInterval=[1, 3])
326+
subscription = await dev_ctrl.ReadEvent(nodeId=1, events=[(1, event, urgent)], reportInterval=[1, 3])
327327
subscription.SetEventUpdateCallback(callback=cb)
328328

329329
try:
@@ -344,7 +344,7 @@ PyChipError
344344
Example:
345345

346346
```python
347-
res = await devCtrl.WriteAttribute(nodeid=0, attributes=[(0,Clusters.BasicInformation.Attributes.NodeLabel("Test"))])
347+
res = await devCtrl.WriteAttribute(nodeId=0, attributes=[(0,Clusters.BasicInformation.Attributes.NodeLabel("Test"))])
348348
asserts.assert_equal(ret[0].status, Status.Success, "write failed")
349349
```
350350

docs/testing/yaml.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,12 +271,33 @@ the test harness. Note that full-test gating is not currently implemented in the
271271
local runner or in the CI.
272272

273273
Some test steps need to be gated on values from earlier in the test. In these
274-
cases, PICS cannot be used. Instead, the runIf: tag can be used. This tag
274+
cases, PICS cannot be used. Instead, the `runIf` tag can be used. This tag
275275
requires a boolean value. To convert values to booleans, the TestEqualities
276276
function can be use. See
277277
[TestEqualities](https://github.com/project-chip/connectedhomeip/blob/master/src/app/tests/suites/TestEqualities.yaml)
278278
for an example of how to use this pseudo-cluster.
279279

280+
In addition to the `PICS` and `runIf` tags, there are the `minRevision` and
281+
`maxRevision` tags which use the step's `cluster`'s `ClusterRevision` attribute
282+
to determine if a step should be skipped because it only applies to older or
283+
newer versions. A step will be skipped if the cluster's `ClusterRevision`
284+
attribute is < `minRevision` (if present), or > `maxRevision` (if present).
285+
286+
Here is an example of only checking for the value of a given attribute if
287+
`ClusterRevision` >= 3 using `minRevision`.
288+
289+
```yaml
290+
- label: "Verify the minimum-to-support Max Paths Per Invoke value"
291+
command: "readAttribute"
292+
attribute: "MaxPathsPerInvoke"
293+
minRevision:
294+
3 # Attribute was added in revision 3, so this step applies
295+
# to revision >= 3.
296+
response:
297+
constraints:
298+
minValue: 1
299+
```
300+
280301
#### Setting step timeouts
281302

282303
The timeout argument can be used for each individual test step to set the time

docs/testing/yaml_schema.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,5 @@ YAML schema
7676
|&emsp; dataVersion |list,int|Y|
7777
|&emsp; busyWaitMs |int||
7878
|&emsp; wait |str||
79+
|&emsp; minRevision |int|Y|
80+
|&emsp; maxRevision |int|Y|

examples/air-purifier-app/ameba/main/chipinterface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ static void InitServer(intptr_t context)
154154
const Optional<app::TermsAndConditions> termsAndConditions = Optional<app::TermsAndConditions>(
155155
app::TermsAndConditions(CHIP_AMEBA_TC_REQUIRED_ACKNOWLEDGEMENTS, CHIP_AMEBA_TC_MIN_REQUIRED_VERSION));
156156
PersistentStorageDelegate & persistentStorageDelegate = Server::GetInstance().GetPersistentStorage();
157-
chip::app::TermsAndConditionsManager::GetInstance()->Init(&persistentStorageDelegate, termsAndConditions);
157+
chip::app::TermsAndConditionsManager::GetInstance().Init(&persistentStorageDelegate, termsAndConditions);
158158
#endif
159159

160160
if (RTW_SUCCESS != wifi_is_connected_to_ap())

examples/all-clusters-app/ameba/main/chipinterface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ static void InitServer(intptr_t context)
160160
const Optional<app::TermsAndConditions> termsAndConditions = Optional<app::TermsAndConditions>(
161161
app::TermsAndConditions(CHIP_AMEBA_TC_REQUIRED_ACKNOWLEDGEMENTS, CHIP_AMEBA_TC_MIN_REQUIRED_VERSION));
162162
PersistentStorageDelegate & persistentStorageDelegate = Server::GetInstance().GetPersistentStorage();
163-
chip::app::TermsAndConditionsManager::GetInstance()->Init(&persistentStorageDelegate, termsAndConditions);
163+
chip::app::TermsAndConditionsManager::GetInstance().Init(&persistentStorageDelegate, termsAndConditions);
164164
#endif
165165

166166
NetWorkCommissioningInstInit();

examples/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/GenericChipDeviceListener.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,10 @@ open class GenericChipDeviceListener : ChipDeviceController.CompletionListener {
3737
// No op
3838
}
3939

40+
override fun onCommissioningStageStart(nodeId: Long, stage: String) {
41+
// No op
42+
}
43+
4044
override fun onNotifyChipConnectionClosed() {
4145
// No op
4246
}

examples/camera-app/camera-common/include/media-controller/media-controller.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ class MediaController
4343
// Transports must first unregister from the media-controller when they are
4444
// getting destroyed.
4545
virtual void UnregisterTransport(Transport * transport) = 0;
46+
// Get transport registered for a specific stream ID
47+
virtual Transport * GetTransportForVideoStream(uint16_t videoStreamID) = 0;
48+
virtual Transport * GetTransportForAudioStream(uint16_t audioStreamID) = 0;
4649
// Media controller goes through registered transports and dispatches media
4750
// if the transport is ready.
4851
virtual void DistributeVideo(const uint8_t * data, size_t size, uint16_t videoStreamID) = 0;

examples/camera-app/camera-common/include/transport/transport.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,11 @@
1616
* limitations under the License.
1717
*/
1818

19+
#include <app-common/zap-generated/cluster-objects.h>
1920
#include <cstddef>
2021
#include <cstdint>
2122
#include <cstring>
23+
#include <lib/core/Optional.h>
2224
#include <lib/support/Span.h>
2325
#pragma once
2426
// Base class for media transports(WebRTC, PushAV)
@@ -46,4 +48,9 @@ class Transport
4648
virtual bool CanSendAudio() = 0;
4749

4850
virtual ~Transport() = default;
51+
52+
// SFrame End-to-End Encryption configuration (optional)
53+
// For transport types that support SFrame (e.g., WebRTC), this will contain the encryption config.
54+
// For transport types that don't support SFrame (e.g., PushAV), this will remain empty (!HasValue()).
55+
chip::Optional<chip::app::Clusters::WebRTCTransportProvider::Structs::SFrameStruct::Type> sFrameConfig;
4956
};

examples/camera-app/linux/include/clusters/webrtc-provider/webrtc-provider-manager.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ class WebRTCProviderManager : public Delegate, public WebRTCTransportProviderCon
9090

9191
bool HasAllocatedAudioStreams() override;
9292

93+
CHIP_ERROR ValidateSFrameConfig(uint16_t cipherSuite, size_t baseKeyLength) override;
94+
95+
CHIP_ERROR IsUTCTimeNull(bool & isNull) override;
96+
9397
void LiveStreamPrivacyModeChanged(bool privacyModeEnabled);
9498

9599
private:

0 commit comments

Comments
 (0)