Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ESP32] Add more ICD menuconfig options for ICD server #32286

Merged
merged 1 commit into from
Feb 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions config/esp32/components/chip/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,25 @@ endif()

if(CONFIG_ENABLE_ICD_SERVER)
chip_gn_arg_append("chip_enable_icd_server" "true")
if(CONFIG_ICD_ENFORCE_SIT_SLOW_POLL_LIMIT)
chip_gn_arg_append("icd_enforce_sit_slow_poll_limit" "true")
endif()
if(CONFIG_ICD_REPORT_ON_ACTIVE_MODE)
chip_gn_arg_append("chip_icd_report_on_active_mode" "true")
endif()
if(CONFIG_ENABLE_ICD_LIT)
chip_gn_arg_append("chip_enable_icd_lit" "true")
if(CONFIG_ENABLE_ICD_CIP)
chip_gn_arg_append("chip_enable_icd_checkin" "true")
else()
chip_gn_arg_append("chip_enable_icd_checkin" "false")
endif()
if(CONFIG_ENABLE_ICD_USER_ACTIVE_MODE_TRIGGER)
chip_gn_arg_append("chip_enable_icd_user_active_mode_trigger" "true")
else()
chip_gn_arg_append("chip_enable_icd_user_active_mode_trigger" "false")
endif()
endif()
endif()

if(CONFIG_ENABLE_PW_RPC)
Expand Down
52 changes: 50 additions & 2 deletions config/esp32/components/chip/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -340,13 +340,27 @@ menu "CHIP Device Layer"
help
Enables or Disables the support for Commissionable Device Type.

config ENABLE_ICD_SERVER
menuconfig ENABLE_ICD_SERVER
bool "Enable ICD server"
depends on OPENTHREAD_MTD
default n
help
Enables or Disables ICD server

config ICD_ENFORCE_SIT_SLOW_POLL_LIMIT
bool "Enforce SIT Slow Polling Max value to 15 seconds"
depends on ENABLE_ICD_SERVER
default n
help
Set to true to enforce SIT Slow Polling Max value to 15seconds

config ICD_REPORT_ON_ACTIVE_MODE
bool "Emit a report on entering active mode"
depends on ENABLE_ICD_SERVER
default n
help
Make the ICD manager emit a report on entering active mode

config ICD_SLOW_POLL_INTERVAL_MS
int "ICD Slow Polling Interval(ms)"
depends on ENABLE_ICD_SERVER
Expand Down Expand Up @@ -389,14 +403,48 @@ menu "CHIP Device Layer"
This value indicates the minimum amount of time in milliseconds the server typically
will stay active after network activity when in active mode.

config ENABLE_ICD_LIT
bool "Enable Long Idle Time ICD"
depends on ENABLE_ICD_SERVER
default n
help
Enables or Disables LIT ICD

config ENABLE_ICD_CIP
bool "Enable Check-in protocol"
depends on ENABLE_ICD_LIT
default y
help
Enables or Disables ICD Check-in protocol

config ICD_CLIENTS_SUPPORTED_PER_FABRIC
int "ICD Clients Number Supported Per Fabric"
depends on ENABLE_ICD_SERVER
depends on ENABLE_ICD_CIP
default 1
help
This value indicates the maximum number of entries that the ICD server is able to store
for each fabric in the RegisteredClients attribute.

config ICD_MAX_NOTIFICATION_SUBSCRIBERS
int "Max ICD notification subscribers"
depends on ENABLE_ICD_SERVER
default 1
help
The ICDManager implements the ICDListener functions and is always subscribed to the ICDNotifier
This allows other Matter modules to inform the ICDManager that it needs to go and may have to stay in Active Mode,
outside of its standard ActiveModeDuration and IdleModeDuration, without being tightly coupled the application
data model

This implementation also allows other modules to implement an ICDListener and subscribe to ICDNotifier
to couple behaviours with the ICD cycles. In such cases, ICD_MAX_NOTIFICATION_SUBSCRIBERS need to be adjusted

config ENABLE_ICD_USER_ACTIVE_MODE_TRIGGER
bool "Enable User Active Mode Trigger feature"
depends on ENABLE_ICD_LIT
default y
help
Enables or Disables ICD User Active Mode Trigger feature

config ENABLE_BG_EVENT_PROCESSING
bool "Enable Background event processing"
default n
Expand Down
Loading