Skip to content

Commit a069fdc

Browse files
authored
Merge branch 'master' into issue/43364
2 parents 239c702 + e39dcc1 commit a069fdc

File tree

283 files changed

+5987
-6833
lines changed

Some content is hidden

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

283 files changed

+5987
-6833
lines changed

.github/workflows/build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ jobs:
523523
env:
524524
TSAN_OPTIONS: "halt_on_error=1 suppressions=scripts/tests/chiptest/tsan-linux-suppressions.txt"
525525

526-
if: github.actor != 'restyled-io[bot]' && inputs.run-codeql != true
526+
if: github.actor != 'restyled-io[bot]' && github.actor != 'dependabot[bot]' && inputs.run-codeql != true
527527
# Use namespace to get more disk space and slightly better performance (Compile and unit tests
528528
# are CPU bound)
529529
#

.github/workflows/tests.yaml

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
runs-on: ubuntu-latest
6262

6363
container:
64-
image: ghcr.io/project-chip/chip-build:184
64+
image: ghcr.io/project-chip/chip-build:190
6565
options: >-
6666
--privileged --sysctl "net.ipv6.conf.all.disable_ipv6=0
6767
net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1"
@@ -796,7 +796,7 @@ jobs:
796796
runs-on: namespace-profile-16x32
797797

798798
container:
799-
image: ghcr.io/project-chip/chip-build:181
799+
image: ghcr.io/project-chip/chip-build:190
800800
volumes:
801801
- /var/run/nsc/:/var/run/nsc/
802802
env:
@@ -1054,12 +1054,13 @@ jobs:
10541054
BUILD_VARIANT: ipv6only-no-ble-no-wifi
10551055
DISABLE_CCACHE: ${{ (github.event_name == 'workflow_dispatch' && inputs.disable_ccache == 'true') && 'true' || (contains(github.event.head_commit.message, '[no-ccache]') && 'true') || 'false' }}
10561056
CCACHE_KEY_SUFFIX: ${{ github.event_name == 'workflow_dispatch' && inputs.cache_suffix || '' }}
1057+
CHIP_IP_PACKET_CAPTURE: 1
10571058

10581059
# Tests are I/O bound, so run on a smaller machine
10591060
runs-on: namespace-profile-1x2
10601061

10611062
container:
1062-
image: ghcr.io/project-chip/chip-build:182
1063+
image: ghcr.io/project-chip/chip-build:190
10631064
volumes:
10641065
- /var/run/nsc/:/var/run/nsc/
10651066
env:
@@ -1191,6 +1192,21 @@ jobs:
11911192
docs/development_controllers/matter-repl/Matter_Multi_Fabric_Commissioning.ipynb \
11921193
"
11931194
1195+
- name: Uploading core files
1196+
uses: actions/upload-artifact@v7
1197+
if: ${{ failure() && !env.ACT }}
1198+
with:
1199+
name: crash-core-linux-repl-${{ matrix.filter }}
1200+
path: /tmp/cores/
1201+
# Cores are big; don't hold on to them too long.
1202+
retention-days: 5
1203+
- name: Uploading packet captures for debugging
1204+
uses: actions/upload-artifact@v7
1205+
if: ${{ failure() && !env.ACT }}
1206+
with:
1207+
name: pcaps-linux-repl-${{ matrix.filter }}
1208+
path: out/ip_packet_captures
1209+
11941210
# Example debug breakpoint:
11951211
#
11961212
# - name: Breakpoint if tests failed

config/telink/chip-module/Kconfig.defaults

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ config POSIX_MAX_FDS
6868

6969
# Application stack size
7070
config MAIN_STACK_SIZE
71-
default 4864 if SOC_RISCV_TELINK_W91
72-
default 3240 if PM || SOC_RISCV_TELINK_TL321X
71+
default 4864 if SOC_RISCV_TELINK_W91 || SOC_RISCV_TELINK_B91
72+
default 3560 if PM || SOC_RISCV_TELINK_TL321X
7373
default 4096
7474

7575
config INIT_STACKS
@@ -82,7 +82,7 @@ config ISR_STACK_SIZE
8282
default 800 if PM || SOC_RISCV_TELINK_TL321X || SOC_RISCV_TELINK_W91
8383

8484
config SYSTEM_WORKQUEUE_STACK_SIZE
85-
default 664 if PM && !SOC_RISCV_TELINK_W91
85+
default 1024 if PM && !SOC_RISCV_TELINK_W91
8686

8787
config HEAP_MEM_POOL_SIZE
8888
default 256 if ZEPHYR_VERSION_3_3

docs/cluster_and_device_type_dev/cluster_tester.md

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -110,30 +110,52 @@ class TestGroupKeyManagementCluster : public ::testing::Test
110110
111111
```
112112

113-
### Writing Attributes (Lists & Structs)
113+
### Writing Attributes (Structs)
114114

115-
The tester handles complex types like Lists and Structs automatically.
115+
The tester handles complex types like Structs automatically, with the exception
116+
of lists.
116117

117118
```cpp
118-
TEST_F(TestGroupKeyManagementCluster, TestWriteGroupKeyMapAttribute)
119+
TEST_F(TestCameraAVStreamManagementCluster, TestReadWriteViewport)
119120
{
120-
// Create a vector of Structs
121-
std::vector<GroupKeyManagement::Structs::GroupKeyMapStruct::Type> keys;
121+
...
122122

123-
GroupKeyManagement::Structs::GroupKeyMapStruct::Type key;
124-
key.groupId = 0x1234;
125-
key.groupKeySetID = 1;
126-
key.fabricIndex = kTestFabricIndex;
127-
keys.push_back(key);
123+
// Write a valid new value
124+
Attributes::Viewport::TypeInfo::Type newViewport = { 0, 0, 1280, 720 };
125+
EXPECT_EQ(mClusterTester.WriteAttribute(Attributes::Viewport::Id, newViewport), CHIP_NO_ERROR);
128126

129-
// Wrap in DataModel::List
130-
auto listToWrite = app::DataModel::List<const GroupKeyManagement::Structs::GroupKeyMapStruct::Type>(keys.data(), keys.size());
127+
}
128+
```
131129
132-
// Write the attribute
133-
// The tester automatically handles EncodeForWrite for fabric-scoped attributes
134-
CHIP_ERROR err = tester.WriteAttribute(GroupKeyManagement::Attributes::GroupKeyMap::Id, listToWrite).GetUnderlyingError();
130+
### Writing List Attributes
135131
136-
ASSERT_EQ(err, CHIP_NO_ERROR);
132+
- There are (Mainly) two patterns used to write list attributes, and cluster
133+
servers usually support both of them.
134+
- For that reason, ClusterTester provides a `WriteAttribute` overload for
135+
lists that takes a `ListWritingPattern`
136+
- Tests for list attributes should exercise both patterns to ensure future
137+
proofing. One way of doing that could be through a range-for loop as in the
138+
example below.
139+
140+
```cpp
141+
TEST_F(TestUserLabelCluster, WriteValidLabelListTest)
142+
{
143+
// Repeating the testcase twice, once for each List Writing Pattern
144+
for (ListWritingPattern listWritingPattern : { ListWritingPattern::ReplaceAll, ListWritingPattern::ClearAllThenAppendItems })
145+
{
146+
ClusterTester tester(userLabel);
147+
Structs::LabelStruct::Type labels[] = {
148+
{ .label = "room"_span, .value = "bedroom 2"_span },
149+
{ .label = "orientation"_span, .value = "North"_span },
150+
};
151+
152+
// Wrap in DataModel::List
153+
auto listToWrite = DataModel::List(labels);
154+
155+
// Write the attribute
156+
// The tester automatically handles EncodeForWrite for fabric-scoped attributes
157+
ASSERT_EQ(tester.WriteAttribute(LabelList::Id, listToWrite, listWritingPattern), CHIP_NO_ERROR);
158+
}
137159
}
138160
139161
```

examples/air-quality-sensor-app/telink/src/AppTask.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ CHIP_ERROR AppTask::Init(void)
3838
CHIP_ERROR err;
3939

4040
SetExampleButtonCallbacks(AirQualitySensorUpdateTimerEventHandler);
41-
TEMPORARY_RETURN_IGNORED InitCommonParts();
41+
ReturnErrorOnFailure(InitCommonParts());
4242

4343
err = SensorMgr().Init();
4444
if (err != CHIP_NO_ERROR)

examples/all-clusters-app/all-clusters-common/all-clusters-app.matter

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3342,7 +3342,7 @@ cluster RefrigeratorAndTemperatureControlledCabinetMode = 82 {
33423342

33433343
/** This cluster supports remotely monitoring and controlling the different types of functionality available to a washing device, such as a washing machine. */
33443344
cluster LaundryWasherControls = 83 {
3345-
revision 1;
3345+
revision 2;
33463346

33473347
enum NumberOfRinsesEnum : enum8 {
33483348
kNone = 0;
@@ -5503,43 +5503,43 @@ cluster ColorControl = 768 {
55035503
OptionsBitmap optionsOverride = 6;
55045504
}
55055505

5506-
/** Move to specified hue. */
5506+
/** This command will move the device to the requested hue using a transition. */
55075507
command MoveToHue(MoveToHueRequest): DefaultSuccess = 0;
5508-
/** Move hue up or down at specified rate. */
5508+
/** This command will change the hue of the device with a requested rate. */
55095509
command MoveHue(MoveHueRequest): DefaultSuccess = 1;
5510-
/** Step hue up or down by specified size at specified rate. */
5510+
/** This command will change the hue of the device using a step and transition. */
55115511
command StepHue(StepHueRequest): DefaultSuccess = 2;
5512-
/** Move to specified saturation. */
5512+
/** This command will move the device to the requested saturation using a transition. */
55135513
command MoveToSaturation(MoveToSaturationRequest): DefaultSuccess = 3;
5514-
/** Move saturation up or down at specified rate. */
5514+
/** This command will change the saturation of the device with a requested rate. */
55155515
command MoveSaturation(MoveSaturationRequest): DefaultSuccess = 4;
5516-
/** Step saturation up or down by specified size at specified rate. */
5516+
/** This command will change the saturation of the device using a step and transition. */
55175517
command StepSaturation(StepSaturationRequest): DefaultSuccess = 5;
5518-
/** Move to hue and saturation. */
5518+
/** This command will move the device to the requested hue and saturation using a transition. */
55195519
command MoveToHueAndSaturation(MoveToHueAndSaturationRequest): DefaultSuccess = 6;
5520-
/** Move to specified color. */
5520+
/** This command will move the device to the requested color using a transition. */
55215521
command MoveToColor(MoveToColorRequest): DefaultSuccess = 7;
5522-
/** Moves the color. */
5522+
/** This command will change the color of the device with a requested rate. */
55235523
command MoveColor(MoveColorRequest): DefaultSuccess = 8;
5524-
/** Steps the lighting to a specific color. */
5524+
/** This command will change the color of the device using a step and transition. */
55255525
command StepColor(StepColorRequest): DefaultSuccess = 9;
5526-
/** Move to a specific color temperature. */
5526+
/** This command will move the device to the requested color temperate using a transition. */
55275527
command MoveToColorTemperature(MoveToColorTemperatureRequest): DefaultSuccess = 10;
5528-
/** Command description for EnhancedMoveToHue */
5528+
/** This command allows the light to be moved in a smooth continuous transition from their current hue to a target hue. */
55295529
command EnhancedMoveToHue(EnhancedMoveToHueRequest): DefaultSuccess = 64;
5530-
/** Command description for EnhancedMoveHue */
5530+
/** This command allows the light to start a continuous transition starting from their current hue. */
55315531
command EnhancedMoveHue(EnhancedMoveHueRequest): DefaultSuccess = 65;
5532-
/** Command description for EnhancedStepHue */
5532+
/** This command allows the device to be moved in a stepped transition from their current hue. */
55335533
command EnhancedStepHue(EnhancedStepHueRequest): DefaultSuccess = 66;
5534-
/** Command description for EnhancedMoveToHueAndSaturation */
5534+
/** This command allows the light to be moved in a smooth continuous transition from their current hue to a target hue and from their current saturation to a target saturation. */
55355535
command EnhancedMoveToHueAndSaturation(EnhancedMoveToHueAndSaturationRequest): DefaultSuccess = 67;
5536-
/** Command description for ColorLoopSet */
5536+
/** This command allows a color loop to be activated such that the color light cycles through its range of hues. */
55375537
command ColorLoopSet(ColorLoopSetRequest): DefaultSuccess = 68;
5538-
/** Command description for StopMoveStep */
5538+
/** This command is provided to allow MoveTo and Step commands to be stopped. */
55395539
command StopMoveStep(StopMoveStepRequest): DefaultSuccess = 71;
5540-
/** Command description for MoveColorTemperature */
5540+
/** This command allows the color temperature of the light to be moved at a specified rate. */
55415541
command MoveColorTemperature(MoveColorTemperatureRequest): DefaultSuccess = 75;
5542-
/** Command description for StepColorTemperature */
5542+
/** This command allows the color temperature of the light to be stepped with a specified step size. */
55435543
command StepColorTemperature(StepColorTemperatureRequest): DefaultSuccess = 76;
55445544
}
55455545

examples/all-clusters-app/realtek/data_model/all-clusters-app.matter

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3439,7 +3439,7 @@ cluster RefrigeratorAndTemperatureControlledCabinetMode = 82 {
34393439

34403440
/** This cluster supports remotely monitoring and controlling the different types of functionality available to a washing device, such as a washing machine. */
34413441
cluster LaundryWasherControls = 83 {
3442-
revision 1;
3442+
revision 2;
34433443

34443444
enum NumberOfRinsesEnum : enum8 {
34453445
kNone = 0;
@@ -6457,43 +6457,43 @@ cluster ColorControl = 768 {
64576457
OptionsBitmap optionsOverride = 6;
64586458
}
64596459

6460-
/** Move to specified hue. */
6460+
/** This command will move the device to the requested hue using a transition. */
64616461
command MoveToHue(MoveToHueRequest): DefaultSuccess = 0;
6462-
/** Move hue up or down at specified rate. */
6462+
/** This command will change the hue of the device with a requested rate. */
64636463
command MoveHue(MoveHueRequest): DefaultSuccess = 1;
6464-
/** Step hue up or down by specified size at specified rate. */
6464+
/** This command will change the hue of the device using a step and transition. */
64656465
command StepHue(StepHueRequest): DefaultSuccess = 2;
6466-
/** Move to specified saturation. */
6466+
/** This command will move the device to the requested saturation using a transition. */
64676467
command MoveToSaturation(MoveToSaturationRequest): DefaultSuccess = 3;
6468-
/** Move saturation up or down at specified rate. */
6468+
/** This command will change the saturation of the device with a requested rate. */
64696469
command MoveSaturation(MoveSaturationRequest): DefaultSuccess = 4;
6470-
/** Step saturation up or down by specified size at specified rate. */
6470+
/** This command will change the saturation of the device using a step and transition. */
64716471
command StepSaturation(StepSaturationRequest): DefaultSuccess = 5;
6472-
/** Move to hue and saturation. */
6472+
/** This command will move the device to the requested hue and saturation using a transition. */
64736473
command MoveToHueAndSaturation(MoveToHueAndSaturationRequest): DefaultSuccess = 6;
6474-
/** Move to specified color. */
6474+
/** This command will move the device to the requested color using a transition. */
64756475
command MoveToColor(MoveToColorRequest): DefaultSuccess = 7;
6476-
/** Moves the color. */
6476+
/** This command will change the color of the device with a requested rate. */
64776477
command MoveColor(MoveColorRequest): DefaultSuccess = 8;
6478-
/** Steps the lighting to a specific color. */
6478+
/** This command will change the color of the device using a step and transition. */
64796479
command StepColor(StepColorRequest): DefaultSuccess = 9;
6480-
/** Move to a specific color temperature. */
6480+
/** This command will move the device to the requested color temperate using a transition. */
64816481
command MoveToColorTemperature(MoveToColorTemperatureRequest): DefaultSuccess = 10;
6482-
/** Command description for EnhancedMoveToHue */
6482+
/** This command allows the light to be moved in a smooth continuous transition from their current hue to a target hue. */
64836483
command EnhancedMoveToHue(EnhancedMoveToHueRequest): DefaultSuccess = 64;
6484-
/** Command description for EnhancedMoveHue */
6484+
/** This command allows the light to start a continuous transition starting from their current hue. */
64856485
command EnhancedMoveHue(EnhancedMoveHueRequest): DefaultSuccess = 65;
6486-
/** Command description for EnhancedStepHue */
6486+
/** This command allows the device to be moved in a stepped transition from their current hue. */
64876487
command EnhancedStepHue(EnhancedStepHueRequest): DefaultSuccess = 66;
6488-
/** Command description for EnhancedMoveToHueAndSaturation */
6488+
/** This command allows the light to be moved in a smooth continuous transition from their current hue to a target hue and from their current saturation to a target saturation. */
64896489
command EnhancedMoveToHueAndSaturation(EnhancedMoveToHueAndSaturationRequest): DefaultSuccess = 67;
6490-
/** Command description for ColorLoopSet */
6490+
/** This command allows a color loop to be activated such that the color light cycles through its range of hues. */
64916491
command ColorLoopSet(ColorLoopSetRequest): DefaultSuccess = 68;
6492-
/** Command description for StopMoveStep */
6492+
/** This command is provided to allow MoveTo and Step commands to be stopped. */
64936493
command StopMoveStep(StopMoveStepRequest): DefaultSuccess = 71;
6494-
/** Command description for MoveColorTemperature */
6494+
/** This command allows the color temperature of the light to be moved at a specified rate. */
64956495
command MoveColorTemperature(MoveColorTemperatureRequest): DefaultSuccess = 75;
6496-
/** Command description for StepColorTemperature */
6496+
/** This command allows the color temperature of the light to be stepped with a specified step size. */
64976497
command StepColorTemperature(StepColorTemperatureRequest): DefaultSuccess = 76;
64986498
}
64996499

examples/all-clusters-app/telink/src/AppTask.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ chip::app::Clusters::ModeSelect::StaticSupportedModesManager sStaticSupportedMod
2727

2828
CHIP_ERROR AppTask::Init(void)
2929
{
30-
InitCommonParts();
30+
ReturnErrorOnFailure(InitCommonParts());
3131

3232
// Configure Bindings
3333
CHIP_ERROR err = InitBindingHandlers();

0 commit comments

Comments
 (0)