#
#   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
