| # |
| # 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 |
| 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_DISABLE_CHIPOBLE_ADVERTISING_WHEN_PROVISIONED |
| bool "Disable CHIPoBLE advertising when device is fully provisioned" |
| default y |
| help |
| Disable CHIPoBLE advertising when the device achieves a fully provisioned state. |
| |
| 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. |
| |
| 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. |
| |
| config CHIP_OTA_IMAGE_INCLUDE_MCUBOOT |
| bool "Include MCUBoot in OTA image" |
| depends on BOOTLOADER_MCUBOOT |
| help |
| Include MCUBoot bootloader image in the generated Matter OTA image. This |
| option can be enabled if the device supports the bootloader update. |
| |
| endif |
| |
| module = MATTER |
| module-str = Matter |
| source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config" |
| |
| endif |