blob: fd779c62e319f3e13abc39525ed18789d73067f3 [file] [log] [blame]
#
# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
menuconfig CHIP
bool "Connected Home over IP protocol stack"
default n
select CPLUSPLUS
imply LIB_CPLUSPLUS
imply REQUIRES_FULL_LIBC
imply CBPRINTF_LIBC_SUBSTS
imply POSIX_API if !ARCH_POSIX
imply EVENTFD if !ARCH_POSIX
imply REBOOT
imply ENTROPY_GENERATOR
imply NET_UDP
imply NET_IPV6
imply NET_CONFIG_NEED_IPV6
imply NET_SOCKETS
imply NETWORKING
help
This option enables Connected Home over IP libraries.
if CHIP
config CHIP_DEVICE_VENDOR_ID
int "Device vendor ID"
default 65521 # 0xFFF1
range 0 65535
help
Identifier of the device manufacturer, assigned by Connectivity Standards
Alliance. It is used in various CHIP areas, such as the Basic Information
cluster or OTA (Over-the-air update) image header.
config CHIP_DEVICE_PRODUCT_ID
int "Device product ID"
default 32768 # 0x8000
range 0 65535
help
Identifier of the product, assigned by the device manufacturer. It is used
in various CHIP areas, such as the Basic Information cluster or OTA
(Over-the-air update) image header.
config CHIP_DEVICE_SOFTWARE_VERSION
int "Device software version"
default 0
range 0 4294967295
help
A number identifying the software version. It is used in various CHIP
areas, such as the Basic Information cluster or OTA (Over-the-air update)
image header. Note that due to the rollback protection a device will only
accept a software update whose version is greater than the current one.
config CHIP_DEVICE_SOFTWARE_VERSION_STRING
string "Device software version string"
default "prerelease"
help
A string between 1 and 64 characters that provides a user-friendly
description of the numeric software version specified in
CHIP_DEVICE_SOFTWARE_VERSION. It is used in various CHIP areas, such as
the Basic Information cluster or OTA (Over-the-air update) image header.
config CHIP_PROJECT_CONFIG
string "Project configuration file for CHIP"
help
Project configuration file for CHIP. If specified, CHIP generic
configuration files will include the project configuration file which can
be used to override any CHIP default or platform-specific settings.
config CHIP_OPENTHREAD_CONFIG
string "Custom OpenThread configuration file"
help
This option can be used to replace Zephyr-supplied OpenThread
configuration file with a custom one.
config CHIP_LIB_SHELL
bool "Enable CHIP shell library"
default n
imply SHELL
help
Link the application with the library containing CHIP shell commands.
config CHIP_PW_RPC
bool "Enable Pigweed RPC library"
default n
help
Link the application with the library containing Pigweed RPC functionalities.
config CHIP_BUILD_TESTS
bool "Build CHIP unit tests"
default n
help
This option enables building CHIP unit tests.
config CHIP_ENABLE_PAIRING_AUTOSTART
bool "Enable pairing autostart"
default n
help
Open pairing window automatically at application boot time.
config CHIP_ENABLE_DNSSD_SRP
bool "Enable support for service registration"
default y
imply OPENTHREAD_ECDSA
imply OPENTHREAD_SRP_CLIENT
help
Enables DNS-SD SRP client support
config CHIP_ENABLE_DNS_CLIENT
bool "Enable support for DNS client"
default y
imply OPENTHREAD_DNS_CLIENT
help
Enables DNS client support used for resolving and browsing services.
config CHIP_ENABLE_SLEEPY_END_DEVICE_SUPPORT
bool "Enable sleepy end device support"
default n
depends on OPENTHREAD_MTD
imply OPENTHREAD_MTD_SED
help
Enables Thread Sleepy End Device support in Matter.
if CHIP_ENABLE_SLEEPY_END_DEVICE_SUPPORT
config CHIP_SED_IDLE_INTERVAL
int "Sleepy End Device idle interval (ms)"
default 1000
help
SED wake interval in milliseconds while the device is idle, meaning that
there is no active exchange to or from the device, and its commissioning
window is closed.
config CHIP_SED_ACTIVE_INTERVAL
int "Sleepy End Device active interval (ms)"
default 200
help
SED wake interval in milliseconds while the device is active, meaning that
there is an active exchange to or from the device, or its commissioning
window is open.
endif # CHIP_ENABLE_SLEEPY_END_DEVICE_SUPPORT
config CHIP_THREAD_SSED
bool "Enable Thread Synchronized Sleepy End Device support"
depends on OPENTHREAD_CSL_RECEIVER && CHIP_ENABLE_SLEEPY_END_DEVICE_SUPPORT
help
Enables Thread Synchronized Sleepy End Device support in Matter.
config CHIP_OTA_REQUESTOR
bool "Enable OTA requestor"
help
Enables OTA (Over-the-air) Requestor role that allows a device to perform
Device Firmware Upgrade by quering and downloading a new firmware image
from an external OTA Provider node.
config CHIP_ROTATING_DEVICE_ID
bool "Enable rotating device ID support"
help
Enables rotating device identifier that provides a non-trackable identifier
which is unique per device and rotates at pre-defined moments.
config CHIP_COMMISSIONABLE_DEVICE_TYPE
bool "Enable the device type subtype in commissionable node discovery record"
depends on CHIP_ENABLE_DNSSD_SRP
help
Enables including device type subtype in the commissionable node discovery record,
which allows filtering of the results to find the nodes that match the device type.
config CHIP_DEVICE_TYPE
int "Device type"
default 65535
range 0 65535
help
Type of device that uses the CHIP Device Type Identifier. The default value means invalid device type.
config CHIP_OPERATIONAL_TIME_SAVE_INTERVAL
int "Interval of saving node operation time to flash in hours unit"
default 10
range 1 4294967295
help
Interval in hours with which the node operation time is saved to the flash
memory. Selected value is a trade off between performing frequent saves to know
precisely operation time in case of device reboot and maximizing flash memory
lifetime.
config CHIP_MALLOC_SYS_HEAP
bool "Memory allocator based on Zephyr sys_heap"
imply SYS_HEAP_RUNTIME_STATS
help
Enable memory allocation functions, imitating with the default malloc,
calloc, realloc and free, based on sys_heap from Zephyr RTOS.
if CHIP_MALLOC_SYS_HEAP
config CHIP_MALLOC_SYS_HEAP_OVERRIDE
bool "Override default allocator with custom one based on Zephyr sys_heap"
default y
help
Replace the default memory allocation functions, such as malloc, calloc,
realloc, free and their reentrant versions, with their counterparts based
on sys_heap from Zephyr RTOS.
config CHIP_MALLOC_SYS_HEAP_SIZE
int "Heap size used by memory allocator based on Zephyr sys_heap"
default 16384 # 16kB
help
This value controls how much of the device RAM is reserved for the heap
used by the memory allocation functions based on sys_heap from Zephyr
RTOS.
endif
config APP_LINK_WITH_CHIP
bool "Link 'app' with Connected Home over IP"
default y
help
Add Connected Home over IP header files to the 'app' include path
and link the 'app' with Connected Home over IP libraries.
config CHIP_OTA_IMAGE_BUILD
bool "Generate OTA image"
help
Enable building Matter OTA (Over-the-air update) image.
if CHIP_OTA_IMAGE_BUILD
config CHIP_OTA_IMAGE_FILE_NAME
string "OTA image file name"
default "matter.ota"
help
File name of the generated Matter OTA image.
config CHIP_OTA_IMAGE_EXTRA_ARGS
string "OTA image creator extra arguments"
help
This option allows one to pass optional arguments to the ota_image_tool.py
script, used for building OTA image.
endif
config CHIP_EXTENDED_DISCOVERY
bool "Enable extended discovery"
help
Enables the device to advertise commissionable service when not in the
commissioning mode.
module = MATTER
module-str = Matter
source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config"
endif