Skip to content

Commit 3903f6c

Browse files
authoredFeb 23, 2024
Add more ICD menuconfig options for ICD server (#32286)
1 parent 52ab3db commit 3903f6c

File tree

2 files changed

+69
-2
lines changed

2 files changed

+69
-2
lines changed
 

‎config/esp32/components/chip/CMakeLists.txt

+19
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,25 @@ endif()
131131

132132
if(CONFIG_ENABLE_ICD_SERVER)
133133
chip_gn_arg_append("chip_enable_icd_server" "true")
134+
if(CONFIG_ICD_ENFORCE_SIT_SLOW_POLL_LIMIT)
135+
chip_gn_arg_append("icd_enforce_sit_slow_poll_limit" "true")
136+
endif()
137+
if(CONFIG_ICD_REPORT_ON_ACTIVE_MODE)
138+
chip_gn_arg_append("chip_icd_report_on_active_mode" "true")
139+
endif()
140+
if(CONFIG_ENABLE_ICD_LIT)
141+
chip_gn_arg_append("chip_enable_icd_lit" "true")
142+
if(CONFIG_ENABLE_ICD_CIP)
143+
chip_gn_arg_append("chip_enable_icd_checkin" "true")
144+
else()
145+
chip_gn_arg_append("chip_enable_icd_checkin" "false")
146+
endif()
147+
if(CONFIG_ENABLE_ICD_USER_ACTIVE_MODE_TRIGGER)
148+
chip_gn_arg_append("chip_enable_icd_user_active_mode_trigger" "true")
149+
else()
150+
chip_gn_arg_append("chip_enable_icd_user_active_mode_trigger" "false")
151+
endif()
152+
endif()
134153
endif()
135154

136155
if(CONFIG_ENABLE_PW_RPC)

‎config/esp32/components/chip/Kconfig

+50-2
Original file line numberDiff line numberDiff line change
@@ -340,13 +340,27 @@ menu "CHIP Device Layer"
340340
help
341341
Enables or Disables the support for Commissionable Device Type.
342342

343-
config ENABLE_ICD_SERVER
343+
menuconfig ENABLE_ICD_SERVER
344344
bool "Enable ICD server"
345345
depends on OPENTHREAD_MTD
346346
default n
347347
help
348348
Enables or Disables ICD server
349349

350+
config ICD_ENFORCE_SIT_SLOW_POLL_LIMIT
351+
bool "Enforce SIT Slow Polling Max value to 15 seconds"
352+
depends on ENABLE_ICD_SERVER
353+
default n
354+
help
355+
Set to true to enforce SIT Slow Polling Max value to 15seconds
356+
357+
config ICD_REPORT_ON_ACTIVE_MODE
358+
bool "Emit a report on entering active mode"
359+
depends on ENABLE_ICD_SERVER
360+
default n
361+
help
362+
Make the ICD manager emit a report on entering active mode
363+
350364
config ICD_SLOW_POLL_INTERVAL_MS
351365
int "ICD Slow Polling Interval(ms)"
352366
depends on ENABLE_ICD_SERVER
@@ -389,14 +403,48 @@ menu "CHIP Device Layer"
389403
This value indicates the minimum amount of time in milliseconds the server typically
390404
will stay active after network activity when in active mode.
391405

406+
config ENABLE_ICD_LIT
407+
bool "Enable Long Idle Time ICD"
408+
depends on ENABLE_ICD_SERVER
409+
default n
410+
help
411+
Enables or Disables LIT ICD
412+
413+
config ENABLE_ICD_CIP
414+
bool "Enable Check-in protocol"
415+
depends on ENABLE_ICD_LIT
416+
default y
417+
help
418+
Enables or Disables ICD Check-in protocol
419+
392420
config ICD_CLIENTS_SUPPORTED_PER_FABRIC
393421
int "ICD Clients Number Supported Per Fabric"
394-
depends on ENABLE_ICD_SERVER
422+
depends on ENABLE_ICD_CIP
395423
default 1
396424
help
397425
This value indicates the maximum number of entries that the ICD server is able to store
398426
for each fabric in the RegisteredClients attribute.
399427

428+
config ICD_MAX_NOTIFICATION_SUBSCRIBERS
429+
int "Max ICD notification subscribers"
430+
depends on ENABLE_ICD_SERVER
431+
default 1
432+
help
433+
The ICDManager implements the ICDListener functions and is always subscribed to the ICDNotifier
434+
This allows other Matter modules to inform the ICDManager that it needs to go and may have to stay in Active Mode,
435+
outside of its standard ActiveModeDuration and IdleModeDuration, without being tightly coupled the application
436+
data model
437+
438+
This implementation also allows other modules to implement an ICDListener and subscribe to ICDNotifier
439+
to couple behaviours with the ICD cycles. In such cases, ICD_MAX_NOTIFICATION_SUBSCRIBERS need to be adjusted
440+
441+
config ENABLE_ICD_USER_ACTIVE_MODE_TRIGGER
442+
bool "Enable User Active Mode Trigger feature"
443+
depends on ENABLE_ICD_LIT
444+
default y
445+
help
446+
Enables or Disables ICD User Active Mode Trigger feature
447+
400448
config ENABLE_BG_EVENT_PROCESSING
401449
bool "Enable Background event processing"
402450
default n

0 commit comments

Comments
 (0)