Skip to content

Commit e2c73b2

Browse files
doublemis1carlescufi
authored andcommitted
matter: common: enable upstream's ICD test event triggers
Upstream defined the test event trigger for ICD manager, We should enable them because some of the certification test cases utilize them. Signed-off-by: Michał Szablowski <[email protected]>
1 parent 40cf333 commit e2c73b2

File tree

4 files changed

+45
-2
lines changed

4 files changed

+45
-2
lines changed

samples/matter/common/src/certification/thread_platform/thread_certification.matter

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2625,5 +2625,3 @@ endpoint 1 {
26252625
callback attribute clusterRevision;
26262626
}
26272627
}
2628-
2629-

samples/matter/common/src/event_triggers/default_event_triggers.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,11 @@ CHIP_ERROR Register()
265265
#endif /* CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_CRASH_LOGS */
266266
#endif /* CONFIG_NCS_SAMPLE_MATTER_DIAGNOSTIC_LOGS_TEST */
267267

268+
#ifdef CONFIG_CHIP_ENABLE_ICD_SUPPORT
269+
/* Register ICD test event triggers */
270+
ReturnErrorOnFailure(Nrf::Matter::TestEventTrigger::Instance().RegisterICDTestEventTriggers());
271+
#endif
272+
268273
/* Register OTA test events handler */
269274
static chip::OTATestEventTriggerHandler otaTestEventTrigger;
270275
ReturnErrorOnFailure(

samples/matter/common/src/event_triggers/event_triggers.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,39 @@
88

99
#include <zephyr/logging/log.h>
1010

11+
/* Server used only for getting the ICDManager instance */
12+
#ifdef CONFIG_CHIP_ENABLE_ICD_SUPPORT
13+
#include <app/server/Server.h>
14+
#endif
15+
1116
LOG_MODULE_DECLARE(app, CONFIG_CHIP_APP_LOG_LEVEL);
1217

1318
using namespace Nrf::Matter;
1419
using namespace chip;
1520

21+
#ifdef CONFIG_CHIP_ENABLE_ICD_SUPPORT
22+
CHIP_ERROR TestEventTrigger::RegisterICDTestEventTriggers()
23+
{
24+
/*
25+
* Register ICDManager as a test event trigger handler.
26+
* This reuses the existing HandleEventTrigger implementation in ICDManager.cpp
27+
* which already handles all ICD test event triggers including:
28+
* - Active mode management (add/remove active mode requirements)
29+
* - Check-in counter operations (invalidate half/all counter values)
30+
* - DSLS (Dynamic SIT/LIT Support) mode changes
31+
* - Force maximum check-in backoff state
32+
*/
33+
CHIP_ERROR err = RegisterTestEventTriggerHandler(&chip::Server::GetInstance().GetICDManager());
34+
if (err != CHIP_NO_ERROR) {
35+
LOG_ERR("Failed to register ICDManager as test event trigger handler: %" CHIP_ERROR_FORMAT, err.Format());
36+
return err;
37+
}
38+
39+
LOG_INF("Successfully registered ICDManager as test event trigger handler");
40+
return CHIP_NO_ERROR;
41+
}
42+
#endif
43+
1644
CHIP_ERROR TestEventTrigger::RegisterTestEventTrigger(EventTriggerId id, EventTrigger trigger)
1745
{
1846
VerifyOrReturnError(trigger.Callback != nullptr, CHIP_ERROR_INVALID_ARGUMENT);

samples/matter/common/src/event_triggers/event_triggers.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,18 @@ class TestEventTrigger : public chip::TestEventTriggerDelegate {
102102
*/
103103
CHIP_ERROR RegisterTestEventTriggerHandler(chip::TestEventTriggerHandler *triggerDelegate);
104104

105+
#ifdef CONFIG_CHIP_ENABLE_ICD_SUPPORT
106+
/**
107+
* @brief Register all ICD test event triggers
108+
*
109+
* This function registers all the ICD test event triggers defined in ICDManager.cpp
110+
* including active mode requests, counter invalidation, and DSLS mode changes.
111+
*
112+
* @return CHIP_NO_ERROR on success, or appropriate error code on failure.
113+
*/
114+
CHIP_ERROR RegisterICDTestEventTriggers();
115+
#endif
116+
105117
/**
106118
* @brief Set the new Enable Key read out from an external source.
107119
*

0 commit comments

Comments
 (0)