Skip to content

Commit be97caa

Browse files
[nrfconnect] Added EnableKey parameter to factory data (project-chip#20557)
Certification tests may make use of the TestEventTrigger command of GeneralDiagnostics cluster to trigger certain actions. The command uses authentication with the EnableKey parameter, that should be placed in the factory data set. - Added EnableKey to the JSON Schema - Added EnableKey to the factory data - Added EnableKey to the Cmake script - Added GetEnableKey to the FactoryDataProvider and FactoryDataParser
1 parent 8d07348 commit be97caa

File tree

15 files changed

+169
-42
lines changed

15 files changed

+169
-42
lines changed

config/nrfconnect/chip-module/Kconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,16 @@ config CHIP_DEVICE_ROTATING_DEVICE_UID
254254
A device rotating id unique id which will be generated if
255255
this config is not set in prj.conf file.
256256

257+
config CHIP_DEVICE_ENABLE_KEY
258+
string "Enable Key for triggering test actions on device"
259+
default "00112233445566778899AABBCCDDEEFF"
260+
help
261+
The Enable Key is a 128-bit value that triggers test action
262+
while invoking the TestEventTrigger Command.
263+
Pattern: "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
264+
This value is used during Certification Tests,
265+
and should not be present on production devices.
266+
257267
config CHIP_CERTIFICATION_DECLARATION_STORAGE
258268
bool "Enable storing Certification Declaration"
259269
depends on CHIP_FACTORY_DATA
@@ -274,4 +284,5 @@ config CHIP_CERTIFiCATION_DECLARATION_OTA_IMAGE_ID
274284

275285
endif
276286

287+
277288
endif

config/nrfconnect/chip-module/generate_factory_data.cmake

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,11 @@ else()
9898
string(APPEND script_args "--spake2_verifier \"${CONFIG_CHIP_DEVICE_SPAKE2_TEST_VERIFIER}\"\n")
9999
endif()
100100

101+
if(CONFIG_CHIP_DEVICE_ENABLE_KEY)
102+
# Add optional EnableKey that triggers user-specific action.
103+
string(APPEND script_args "--enable_key \"${CONFIG_CHIP_DEVICE_ENABLE_KEY}\"\n")
104+
endif()
105+
101106
# Set output JSON file and path to SCHEMA file to validate generated factory data
102107
string(APPEND script_args "-o \"${output_path}/${factory_data_target}.json\"\n")
103108
string(APPEND script_args "-s \"${schema_path}\"\n")

examples/all-clusters-app/nrfconnect/main/AppTask.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ K_MSGQ_DEFINE(sAppEventQueue, sizeof(AppEvent), APP_EVENT_QUEUE_SIZE, alignof(Ap
5959

6060
namespace {
6161

62-
// NOTE! This key is for test/certification only and should not be available in production devices.
63-
// Ideally, it should be a part of the factory data set.
64-
constexpr uint8_t kTestEventTriggerEnableKey[16] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
65-
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
62+
// NOTE! This key is for test/certification only and should not be available in production devices!
63+
// If CONFIG_CHIP_FACTORY_DATA is enabled, this value is read from the factory data.
64+
uint8_t sTestEventTriggerEnableKey[TestEventTriggerDelegate::kEnableKeyLength] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
65+
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
6666

6767
LEDWidget sStatusLED;
6868
UnusedLedsWrapper<3> sUnusedLeds{ { DK_LED2, DK_LED3, DK_LED4 } };
@@ -191,12 +191,20 @@ CHIP_ERROR AppTask::Init()
191191
SetDeviceInstanceInfoProvider(&mFactoryDataProvider);
192192
SetDeviceAttestationCredentialsProvider(&mFactoryDataProvider);
193193
SetCommissionableDataProvider(&mFactoryDataProvider);
194+
// Read EnableKey from the factory data.
195+
MutableByteSpan enableKey(sTestEventTriggerEnableKey);
196+
err = mFactoryDataProvider.GetEnableKey(enableKey);
197+
if (err != CHIP_NO_ERROR)
198+
{
199+
LOG_ERR("mFactoryDataProvider.GetEnableKey() failed. Could not delegate a test event trigger");
200+
memset(sTestEventTriggerEnableKey, 0, sizeof(sTestEventTriggerEnableKey));
201+
}
194202
#else
195203
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
196204
#endif
197205

198206
static CommonCaseDeviceServerInitParams initParams;
199-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(kTestEventTriggerEnableKey) };
207+
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
200208
(void) initParams.InitializeStaticResourcesBeforeServerInit();
201209
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
202210
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));

examples/light-switch-app/nrfconnect/main/AppTask.cpp

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
#include <DeviceInfoProviderImpl.h>
2626
#include <app/clusters/identify-server/identify-server.h>
27+
#include <app/clusters/ota-requestor/OTATestEventTriggerDelegate.h>
2728
#include <app/server/OnboardingCodesUtil.h>
2829
#include <app/server/Server.h>
2930
#include <credentials/DeviceAttestationCredsProvider.h>
@@ -65,6 +66,11 @@ K_MSGQ_DEFINE(sAppEventQueue, sizeof(AppEvent), kAppEventQueueSize, alignof(AppE
6566
Identify sIdentify = { kLightEndpointId, AppTask::IdentifyStartHandler, AppTask::IdentifyStopHandler,
6667
EMBER_ZCL_IDENTIFY_IDENTIFY_TYPE_VISIBLE_LED };
6768

69+
// NOTE! This key is for test/certification only and should not be available in production devices!
70+
// If CONFIG_CHIP_FACTORY_DATA is enabled, this value is read from the factory data.
71+
uint8_t sTestEventTriggerEnableKey[TestEventTriggerDelegate::kEnableKeyLength] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
72+
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
73+
6874
LEDWidget sStatusLED;
6975
LEDWidget sBleLED;
7076
LEDWidget sIdentifyLED;
@@ -165,12 +171,23 @@ CHIP_ERROR AppTask::Init()
165171
SetDeviceInstanceInfoProvider(&mFactoryDataProvider);
166172
SetDeviceAttestationCredentialsProvider(&mFactoryDataProvider);
167173
SetCommissionableDataProvider(&mFactoryDataProvider);
174+
// Read EnableKey from the factory data.
175+
MutableByteSpan enableKey(sTestEventTriggerEnableKey);
176+
err = mFactoryDataProvider.GetEnableKey(enableKey);
177+
if (err != CHIP_NO_ERROR)
178+
{
179+
LOG_ERR("mFactoryDataProvider.GetEnableKey() failed. Could not delegate a test event trigger");
180+
memset(sTestEventTriggerEnableKey, 0, sizeof(sTestEventTriggerEnableKey));
181+
}
168182
#else
169183
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
170184
#endif
171-
static chip::CommonCaseDeviceServerInitParams initParams;
172-
ReturnErrorOnFailure(initParams.InitializeStaticResourcesBeforeServerInit());
173-
ReturnErrorOnFailure(Server::GetInstance().Init(initParams));
185+
186+
static CommonCaseDeviceServerInitParams initParams;
187+
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
188+
(void) initParams.InitializeStaticResourcesBeforeServerInit();
189+
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
190+
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));
174191

175192
gExampleDeviceInfoProvider.SetStorageDelegate(&Server::GetInstance().GetPersistentStorage());
176193
chip::DeviceLayer::SetDeviceInfoProvider(&gExampleDeviceInfoProvider);

examples/lighting-app/nrfconnect/main/AppTask.cpp

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,17 +58,20 @@ using namespace ::chip::DeviceLayer;
5858

5959
namespace {
6060

61-
constexpr int kFactoryResetTriggerTimeout = 3000;
62-
constexpr int kFactoryResetCancelWindowTimeout = 3000;
63-
constexpr int kAppEventQueueSize = 10;
64-
constexpr uint8_t kButtonPushEvent = 1;
65-
constexpr uint8_t kButtonReleaseEvent = 0;
66-
constexpr EndpointId kLightEndpointId = 1;
67-
constexpr uint32_t kIdentifyBlinkRateMs = 500;
68-
constexpr uint8_t kDefaultMinLevel = 0;
69-
constexpr uint8_t kDefaultMaxLevel = 254;
70-
constexpr uint8_t kTestEventTriggerEnableKey[16] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
71-
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
61+
constexpr int kFactoryResetTriggerTimeout = 3000;
62+
constexpr int kFactoryResetCancelWindowTimeout = 3000;
63+
constexpr int kAppEventQueueSize = 10;
64+
constexpr uint8_t kButtonPushEvent = 1;
65+
constexpr uint8_t kButtonReleaseEvent = 0;
66+
constexpr EndpointId kLightEndpointId = 1;
67+
constexpr uint32_t kIdentifyBlinkRateMs = 500;
68+
constexpr uint8_t kDefaultMinLevel = 0;
69+
constexpr uint8_t kDefaultMaxLevel = 254;
70+
71+
// NOTE! This key is for test/certification only and should not be available in production devices!
72+
// If CONFIG_CHIP_FACTORY_DATA is enabled, this value is read from the factory data.
73+
uint8_t sTestEventTriggerEnableKey[TestEventTriggerDelegate::kEnableKeyLength] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
74+
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
7275

7376
K_MSGQ_DEFINE(sAppEventQueue, sizeof(AppEvent), kAppEventQueueSize, alignof(AppEvent));
7477
k_timer sFunctionTimer;
@@ -173,12 +176,20 @@ CHIP_ERROR AppTask::Init()
173176
SetDeviceInstanceInfoProvider(&mFactoryDataProvider);
174177
SetDeviceAttestationCredentialsProvider(&mFactoryDataProvider);
175178
SetCommissionableDataProvider(&mFactoryDataProvider);
179+
// Read EnableKey from the factory data.
180+
MutableByteSpan enableKey(sTestEventTriggerEnableKey);
181+
err = mFactoryDataProvider.GetEnableKey(enableKey);
182+
if (err != CHIP_NO_ERROR)
183+
{
184+
LOG_ERR("mFactoryDataProvider.GetEnableKey() failed. Could not delegate a test event trigger");
185+
memset(sTestEventTriggerEnableKey, 0, sizeof(sTestEventTriggerEnableKey));
186+
}
176187
#else
177188
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
178189
#endif
179190

180191
static CommonCaseDeviceServerInitParams initParams;
181-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(kTestEventTriggerEnableKey) };
192+
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
182193
(void) initParams.InitializeStaticResourcesBeforeServerInit();
183194
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
184195
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));

examples/lock-app/nrfconnect/main/AppTask.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ using namespace ::chip::DeviceLayer;
6161
namespace {
6262
constexpr EndpointId kLockEndpointId = 1;
6363

64-
// NOTE! This key is for test/certification only and should not be available in production devices.
65-
// Ideally, it should be a part of the factory data set.
66-
constexpr uint8_t kTestEventTriggerEnableKey[16] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
67-
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
64+
// NOTE! This key is for test/certification only and should not be available in production devices!
65+
// If CONFIG_CHIP_FACTORY_DATA is enabled, this value is read from the factory data.
66+
uint8_t sTestEventTriggerEnableKey[TestEventTriggerDelegate::kEnableKeyLength] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
67+
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
6868

6969
LOG_MODULE_DECLARE(app, CONFIG_MATTER_LOG_LEVEL);
7070
K_MSGQ_DEFINE(sAppEventQueue, sizeof(AppEvent), APP_EVENT_QUEUE_SIZE, alignof(AppEvent));
@@ -161,12 +161,20 @@ CHIP_ERROR AppTask::Init()
161161
SetDeviceInstanceInfoProvider(&mFactoryDataProvider);
162162
SetDeviceAttestationCredentialsProvider(&mFactoryDataProvider);
163163
SetCommissionableDataProvider(&mFactoryDataProvider);
164+
// Read EnableKey from the factory data.
165+
MutableByteSpan enableKey(sTestEventTriggerEnableKey);
166+
err = mFactoryDataProvider.GetEnableKey(enableKey);
167+
if (err != CHIP_NO_ERROR)
168+
{
169+
LOG_ERR("mFactoryDataProvider.GetEnableKey() failed. Could not delegate a test event trigger");
170+
memset(sTestEventTriggerEnableKey, 0, sizeof(sTestEventTriggerEnableKey));
171+
}
164172
#else
165173
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
166174
#endif
167175

168176
static CommonCaseDeviceServerInitParams initParams;
169-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(kTestEventTriggerEnableKey) };
177+
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
170178
(void) initParams.InitializeStaticResourcesBeforeServerInit();
171179
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
172180
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));

examples/pump-app/nrfconnect/main/AppTask.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ using namespace ::chip::DeviceLayer;
6262

6363
namespace {
6464

65-
// NOTE! This key is for test/certification only and should not be available in production devices.
66-
// Ideally, it should be a part of the factory data set.
67-
constexpr uint8_t kTestEventTriggerEnableKey[16] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
68-
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
65+
// NOTE! This key is for test/certification only and should not be available in production devices!
66+
// If CONFIG_CHIP_FACTORY_DATA is enabled, this value is read from the factory data.
67+
uint8_t sTestEventTriggerEnableKey[TestEventTriggerDelegate::kEnableKeyLength] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
68+
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
6969

7070
LOG_MODULE_DECLARE(app, CONFIG_MATTER_LOG_LEVEL);
7171
K_MSGQ_DEFINE(sAppEventQueue, sizeof(AppEvent), APP_EVENT_QUEUE_SIZE, alignof(AppEvent));
@@ -159,12 +159,20 @@ CHIP_ERROR AppTask::Init()
159159
SetDeviceInstanceInfoProvider(&mFactoryDataProvider);
160160
SetDeviceAttestationCredentialsProvider(&mFactoryDataProvider);
161161
SetCommissionableDataProvider(&mFactoryDataProvider);
162+
// Read EnableKey from the factory data.
163+
MutableByteSpan enableKey(sTestEventTriggerEnableKey);
164+
err = mFactoryDataProvider.GetEnableKey(enableKey);
165+
if (err != CHIP_NO_ERROR)
166+
{
167+
LOG_ERR("mFactoryDataProvider.GetEnableKey() failed. Could not delegate a test event trigger");
168+
memset(sTestEventTriggerEnableKey, 0, sizeof(sTestEventTriggerEnableKey));
169+
}
162170
#else
163171
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
164172
#endif
165173

166174
static CommonCaseDeviceServerInitParams initParams;
167-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(kTestEventTriggerEnableKey) };
175+
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
168176
(void) initParams.InitializeStaticResourcesBeforeServerInit();
169177
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
170178
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));

examples/pump-controller-app/nrfconnect/main/AppTask.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,10 @@ using namespace ::chip::DeviceLayer;
5959

6060
namespace {
6161

62-
// NOTE! This key is for test/certification only and should not be available in production devices.
63-
// Ideally, it should be a part of the factory data set.
64-
constexpr uint8_t kTestEventTriggerEnableKey[16] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
65-
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
62+
// NOTE! This key is for test/certification only and should not be available in production devices!
63+
// If CONFIG_CHIP_FACTORY_DATA is enabled, this value is read from the factory data.
64+
uint8_t sTestEventTriggerEnableKey[TestEventTriggerDelegate::kEnableKeyLength] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
65+
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
6666

6767
LOG_MODULE_DECLARE(app, CONFIG_MATTER_LOG_LEVEL);
6868
K_MSGQ_DEFINE(sAppEventQueue, sizeof(AppEvent), APP_EVENT_QUEUE_SIZE, alignof(AppEvent));
@@ -156,12 +156,20 @@ CHIP_ERROR AppTask::Init()
156156
SetDeviceInstanceInfoProvider(&mFactoryDataProvider);
157157
SetDeviceAttestationCredentialsProvider(&mFactoryDataProvider);
158158
SetCommissionableDataProvider(&mFactoryDataProvider);
159+
// Read EnableKey from the factory data.
160+
MutableByteSpan enableKey(sTestEventTriggerEnableKey);
161+
err = mFactoryDataProvider.GetEnableKey(enableKey);
162+
if (err != CHIP_NO_ERROR)
163+
{
164+
LOG_ERR("mFactoryDataProvider.GetEnableKey() failed. Could not delegate a test event trigger");
165+
memset(sTestEventTriggerEnableKey, 0, sizeof(sTestEventTriggerEnableKey));
166+
}
159167
#else
160168
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
161169
#endif
162170

163171
static CommonCaseDeviceServerInitParams initParams;
164-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(kTestEventTriggerEnableKey) };
172+
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
165173
(void) initParams.InitializeStaticResourcesBeforeServerInit();
166174
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
167175
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));

examples/window-app/nrfconnect/main/AppTask.cpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ K_MSGQ_DEFINE(sAppEventQueue, sizeof(AppEvent), APP_EVENT_QUEUE_SIZE, alignof(Ap
5555

5656
namespace {
5757

58-
// NOTE! This key is for test/certification only and should not be available in production devices.
59-
// Ideally, it should be a part of the factory data set.
60-
constexpr uint8_t kTestEventTriggerEnableKey[16] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
61-
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
58+
// NOTE! This key is for test/certification only and should not be available in production devices!
59+
// If CONFIG_CHIP_FACTORY_DATA is enabled, this value is read from the factory data.
60+
uint8_t sTestEventTriggerEnableKey[TestEventTriggerDelegate::kEnableKeyLength] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
61+
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff };
6262

6363
LEDWidget sStatusLED;
6464
UnusedLedsWrapper<1> sUnusedLeds{ { DK_LED4 } };
@@ -159,12 +159,21 @@ CHIP_ERROR AppTask::Init()
159159
SetDeviceInstanceInfoProvider(&mFactoryDataProvider);
160160
SetDeviceAttestationCredentialsProvider(&mFactoryDataProvider);
161161
SetCommissionableDataProvider(&mFactoryDataProvider);
162+
// Read EnableKey from the factory data.
163+
MutableByteSpan enableKey(sTestEventTriggerEnableKey);
164+
err = mFactoryDataProvider.GetEnableKey(enableKey);
165+
if (err != CHIP_NO_ERROR)
166+
{
167+
LOG_ERR("mFactoryDataProvider.GetEnableKey() failed. Could not delegate a test event trigger");
168+
memset(sTestEventTriggerEnableKey, 0, sizeof(sTestEventTriggerEnableKey));
169+
}
162170
#else
163171
SetDeviceAttestationCredentialsProvider(Examples::GetExampleDACProvider());
172+
164173
#endif
165174

166175
static CommonCaseDeviceServerInitParams initParams;
167-
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(kTestEventTriggerEnableKey) };
176+
static OTATestEventTriggerDelegate testEventTriggerDelegate{ ByteSpan(sTestEventTriggerEnableKey) };
168177
(void) initParams.InitializeStaticResourcesBeforeServerInit();
169178
initParams.testEventTriggerDelegate = &testEventTriggerDelegate;
170179
ReturnErrorOnFailure(chip::Server::GetInstance().Init(initParams));

0 commit comments

Comments
 (0)