| # |
| # Copyright (c) 2020-2022 Project CHIP Authors |
| # Copyright (c) 2018 Nest Labs, Inc. |
| # All rights reserved. |
| # |
| # 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. |
| # |
| # Description: |
| # Configuration options CHIP within the ESP32 ESP-IDF environment. |
| # |
| |
| # |
| # Options for configuring CHIP core |
| # |
| menu "CHIP Core" |
| |
| menu "General Options" |
| |
| config MAX_EXCHANGE_CONTEXTS |
| int "Max CHIP Exchange Contexts" |
| range 0 65535 |
| default 8 |
| help |
| The maximum number of simultaneously active CHIP exchange contexts. |
| |
| An exchange context object is used to track the state of an ongoing CHIP message |
| exchange (conversation) with a peer, e.g. a cloud service, a mobile application, or |
| another device. |
| |
| config MAX_BINDINGS |
| int "Max Bindings" |
| range 0 65535 |
| default 8 |
| help |
| The maximum number of simultaneously active CHIP Binding objects. |
| |
| A Binding object is used to configure how the local device communicates with |
| a remote entity, be it a cloud service, a mobile application, or another device. |
| |
| config MAX_FABRICS |
| int "Max Fabrics" |
| range 5 255 |
| default 5 |
| help |
| The maxinum number of fabrics the device can participate in. |
| |
| Each fabric can provision the device with its unique operational credentials and |
| manage its own access control lists. |
| |
| config MAX_PEER_NODES |
| int "Max Peer Nodes" |
| range 0 65535 |
| default 16 |
| help |
| The maximum number of peer nodes that the local node can communicate with using |
| connectionless communication (e.g. UDP). This value sizes a table that tracks |
| communication state with peer nodes by their CHIP node id. |
| |
| config MAX_UNSOLICITED_MESSAGE_HANDLERS |
| int "Max Unsolicited Message Handlers" |
| range 0 65535 |
| default 8 |
| help |
| The maximum number of simultaneously active unsolicited message handlers. |
| |
| Applications or protocol libraries acting as a CHIP server register unsolicited |
| message handlers with the CHIP message layer to direct incoming messages to |
| their code. |
| |
| config ENABLE_PW_RPC |
| bool "Enable Pigweed RPC library" |
| default n |
| help |
| Link the application with the library containing Pigweed RPC functionalities |
| |
| config USE_MINIMAL_MDNS |
| bool "Use the minimal mDNS implementation shipped in the CHIP library" |
| default y |
| help |
| The CHIP library is shipped with a minimal mDNS implementation, |
| enable this config to use it rather than the mDNS library in IDF. |
| |
| config ENABLE_CHIP_SHELL |
| bool "Use the CHIP shell library" |
| default n |
| help |
| Link the application against CHIP interactive shell. |
| |
| config CHIP_SHELL_CMD_LINE_BUF_MAX_LENGTH |
| int "Maximum command line buffer length of the chip shell" |
| depends on ENABLE_CHIP_SHELL |
| default 256 |
| help |
| Maximum command line buffer length of the chip shell. The command strings might be received |
| incompletely in the command handlers if they are longer than this buffer length. |
| |
| config CHIP_SHELL_CMD_LINE_ARG_MAX_COUNT |
| int "Maximum command line arguments count of the chip shell" |
| depends on ENABLE_CHIP_SHELL |
| default 32 |
| help |
| Maximum command line arguments count of the chip shell. The command arguments might be ignored |
| if they are more than this count. |
| |
| config ENABLE_CHIP_CONTROLLER_BUILD |
| bool "Enable chip-controller build" |
| default n |
| help |
| This option enables chip-controller building. |
| |
| config DISABLE_IPV4 |
| bool "Disable IPv4 functionality in the CHIP stack" |
| default "n" |
| help |
| Matter spec is based on IPv6 communication only. Enabling this option may save some flash/ram. |
| |
| config DISABLE_READ_CLIENT |
| bool "Disable read client in Interaction Model" |
| default n |
| help |
| Some device types don't require the read client. Enabling this option may save some flash/ram. |
| |
| config ENABLE_PERSIST_SUBSCRIPTIONS |
| bool "Enable persist subscriptions" |
| default y |
| help |
| Enable persist subscriptions to make the device resume the subscriptions from the persist |
| subscriptions information after reboot. |
| |
| config BUILD_CHIP_TESTS |
| bool "Build CHIP tests" |
| default n |
| help |
| Build CHIP test binaries. |
| |
| config DISPATCH_EVENT_LONG_DISPATCH_TIME_WARNING_THRESHOLD_MS |
| int "Set threshold in ms" |
| default 700 |
| help |
| Time threshold for warning that dispatched took too long. You can |
| set this default set to 0 to to disable event dispatching time |
| measurement and suppress the logs "Long dispatch time:...". |
| |
| config CHIP_LOG_FILTERING |
| bool "CHIP log level filtering APIs" |
| default n |
| help |
| Option to enable/disable CHIP log level filtering APIs. |
| |
| endmenu # "General Options" |
| |
| menu "Networking Options" |
| |
| config NUM_TCP_ENDPOINTS |
| int "Max TCP EndPoints" |
| default 8 |
| help |
| The maximum number of simultaneously active TCP EndPoint objects. |
| |
| CHIP generally needs one TCP EndPoint object for each active CHIP TCP |
| connection, plus up to 3 additional EndPoints to listen for incoming |
| connections. |
| |
| config NUM_UDP_ENDPOINTS |
| int "Max UDP EndPoints" |
| default 8 |
| help |
| The maximum number of simultaneously active UDP EndPoint objects. |
| |
| CHIP generally needs one UDP EndPoint object for each local network |
| interface, plus 2 additional EndPoints for general UDP communcation. |
| |
| config MAX_CONNECTIONS |
| int "Max CHIP Connections" |
| range 0 65535 |
| default 8 |
| help |
| The maximum number of simultaneously active CHIP connections, either locally |
| or remotely initiated. This limit covers both CHIP TCP connections, and |
| CHIP-over-BLE (WoBLE) connections. |
| |
| config DEFAULT_INCOMING_CONNECTION_IDLE_TIMEOUT |
| int "Default Incoming Connection Idle Timeout (ms)" |
| range 0 1000000 |
| default 15000 |
| help |
| The maximum amount of time, in milliseconds, that an idle inbound |
| CHIP connection will be allowed to exist before being closed. |
| |
| This is a default value that can be overridden at runtime by the |
| application. |
| |
| A value of 0 disables automatic closing of idle connections. |
| |
| config ENABLE_ROUTE_HOOK |
| bool "Enable route hook" |
| depends on LWIP_HOOK_IP6_ROUTE_DEFAULT && LWIP_HOOK_ND6_GET_GW_DEFAULT |
| default y |
| help |
| Enable this option to use LwIP default IPv6 route hook for Route Information Option(RIO) feature. |
| |
| config ENABLE_ENDPOINT_QUEUE_FILTER |
| bool "Enable UDP Endpoint queue filter for mDNS Broadcast packets" |
| depends on USE_MINIMAL_MDNS |
| default y |
| help |
| Enable this option to start a UDP Endpoint queue filter for mDNS Broadcast packets |
| |
| config ENABLE_LWIP_THREAD_SAFETY |
| bool "Enable LwIP Thread safety options" |
| default y |
| select LWIP_TCPIP_CORE_LOCKING |
| select LWIP_CHECK_THREAD_SAFETY |
| help |
| CHIP SDK performs LwIP core locking before calling an LwIP API. |
| To make the calls thread safe we have to enable LWIP_TCPIP_CORE_LOCKING. |
| Here, we are also enabling LWIP_CHECK_THREAD_SAFETY which will assert when |
| LwIP code gets called from any other context or without holding the LwIP lock. |
| |
| endmenu # "Networking Options" |
| |
| menu "System Options" |
| |
| config NUM_TIMERS |
| int "Max System Timers" |
| default 32 |
| help |
| The maximum number of simultaneously timers in the CHIP System Layer. |
| |
| config ENABLE_OTA_REQUESTOR |
| bool "Enable OTA Requestor" |
| default n |
| help |
| Enable this option to enable OTA Requestor for example |
| |
| config ENABLE_ENCRYPTED_OTA |
| bool "Enable pre encrypted OTA" |
| depends on ENABLE_OTA_REQUESTOR |
| default n |
| help |
| Enable this option to use the pre encrypted OTA image |
| |
| config OTA_AUTO_REBOOT_ON_APPLY |
| bool "Reboot the device after applying the OTA image" |
| depends on ENABLE_OTA_REQUESTOR |
| default y |
| help |
| Enable this option to reboot the device after applying the new image. |
| |
| config OTA_AUTO_REBOOT_DELAY_MS |
| int "OTA reboot delay time (ms)" |
| depends on OTA_AUTO_REBOOT_ON_APPLY |
| default 5000 |
| help |
| The delay time for OTA reboot on applying. |
| |
| config CHIP_ENABLE_PAIRING_AUTOSTART |
| bool "Open commissioning window on boot" |
| default y |
| help |
| Opens the commissioning window automatically at application boot time if |
| the node is not yet commissioned. |
| |
| config ENABLE_SNTP_TIME_SYNC |
| bool "Enable SNTP time synchronization" |
| default n |
| help |
| Enable this option to enable SNTP time synchronization |
| |
| endmenu # "System Options" |
| |
| menu "Security Options" |
| |
| menu "Debugging" |
| |
| config SECURITY_TEST_MODE |
| bool "Enable CHIP Security Test Mode" |
| default n |
| help |
| Enable various features that make it easier to debug secure CHIP communication. |
| |
| WARNING: This option makes it possible to circumvent basic CHIP security functionality, |
| including message encryption. Because of this it SHOULD NEVER BE ENABLED IN PRODUCTION BUILDS. |
| |
| endmenu # "Debugging" |
| |
| endmenu # "Security Options" |
| |
| endmenu # "CHIP" |
| |
| |
| # |
| # Options for configuring the CHIP Device Layer |
| # |
| menu "CHIP Device Layer" |
| |
| menu "General Options" |
| config CHIP_PROJECT_CONFIG |
| string "CHIP Project Configuration file" |
| default "" |
| help |
| CHIP's project configuration file location. |
| |
| config CHIP_TASK_STACK_SIZE |
| int "CHIP Task Stack Size" |
| range 0 65535 |
| default 8192 |
| help |
| The size (in bytes) of the CHIP task stack. |
| |
| config CHIP_TASK_PRIORITY |
| int "CHIP Task Priority" |
| range 0 256 |
| default 1 |
| help |
| The priority of the CHIP task. |
| |
| On the ESP32 platform this value is added to ESP_TASK_PRIO_MIN to determine the FreeRTOS priority value. |
| |
| config MAX_EVENT_QUEUE_SIZE |
| int "Max Event Queue Size" |
| range 0 65535 |
| default 25 |
| help |
| The maximum number of events that can be held in the CHIP Platform event queue. |
| |
| config ENABLE_EXTENDED_DISCOVERY |
| bool "Enable Extended discovery Support" |
| default n |
| help |
| Enables support for Extended Discovery. |
| |
| config ENABLE_COMMISSIONABLE_DEVICE_TYPE |
| bool "Enable Device type in commissionable node discovery." |
| default n |
| help |
| Enables or Disables the support for Commissionable Device Type. |
| |
| 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 |
| default 5000 |
| help |
| The value defines the fastest frequency at which the device will typically receive |
| messages in Idle Mode. The Slow Polling interval MAY be the same as the Idle Mode |
| Interval. |
| |
| config ICD_FAST_POLL_INTERVAL_MS |
| int "ICD Fast Polling Interval(ms)" |
| depends on ENABLE_ICD_SERVER |
| default 200 |
| help |
| Fast Polling defines the fastest frequency at which the device can receive messages |
| in Active Mode. The Fast Polling interval SHALL be smaller than the Active Mode |
| Interval. |
| |
| config ICD_IDLE_MODE_INTERVAL_SEC |
| int "ICD Idle Mode Interval(sec)" |
| depends on ENABLE_ICD_SERVER |
| default 2 |
| help |
| This value indicates the maximum interval in seconds the server can stay in idle |
| mode. |
| |
| config ICD_ACTIVE_MODE_INTERVAL_MS |
| int "ICD Active Mode Interval(ms)" |
| depends on ENABLE_ICD_SERVER |
| default 300 |
| help |
| This value indicates the minimum interval in milliseconds the server can stay in |
| active mode. |
| |
| config ICD_ACTIVE_MODE_THRESHOLD_MS |
| int "ICD Active Mode Threshold(ms)" |
| depends on ENABLE_ICD_SERVER |
| default 300 |
| help |
| 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_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 |
| help |
| Some cryptographic operations requires more time for processing, |
| When this option is enabled, the main matter task can delegate some |
| time consuming operations to a background task so that the main matter |
| task is not blocked and can process other work. |
| |
| config BG_CHIP_TASK_STACK_SIZE |
| depends on ENABLE_BG_EVENT_PROCESSING |
| int "Background CHIP Task Stack Size" |
| range 0 8192 |
| default 6144 |
| help |
| The size (in bytes) of the background CHIP task stack. |
| |
| config BG_CHIP_TASK_PRIORITY |
| depends on ENABLE_BG_EVENT_PROCESSING |
| int "Background CHIP Task Priority" |
| range 0 256 |
| default 1 |
| help |
| The priority of the background CHIP task. |
| |
| config BG_MAX_EVENT_QUEUE_SIZE |
| depends on ENABLE_BG_EVENT_PROCESSING |
| int "Max Event Queue Size" |
| range 1 8 |
| default 1 |
| help |
| The maximum number of events that can be held in the background CHIP Platform event queue. |
| |
| endmenu |
| |
| menu "Device Identification Options" |
| |
| config DEVICE_VENDOR_ID |
| hex "Device Vendor Id" |
| range 1 0xFFFE |
| default 0xFFF1 |
| help |
| The device vendor id (in hex). This a CHIP-assigned id for the organization responsible for producing the device. |
| Defaults to test VID 0xFFF1. |
| |
| config DEVICE_PRODUCT_ID |
| hex "Device Product Id" |
| range 1 0xFFFE |
| default 0x8000 |
| help |
| The device product id (in hex). This is a unique id assigned by the device vendor to identify the product or device type. |
| Defaults to a CHIP-assigned id designating a non-production or test "product". |
| |
| config DEFAULT_DEVICE_HARDWARE_VERSION |
| int "Default Device Hardware Version" |
| range 0 65535 |
| default 0 |
| help |
| The default device hardware version. |
| |
| Hardware versions are specific to a particular device vendor and product id, and typically |
| correspond to a version of the physical device, a change to its packaging, and/or a change |
| to its marketing presentation. This value is generally *not* incremented for device software |
| versions. |
| |
| This is a default value which is used when a hardware version has not been stored in device |
| persistent storage (e.g. by a factory provisioning process). |
| |
| config DEVICE_SOFTWARE_VERSION_NUMBER |
| int "Device Software Version Number" |
| default 0 |
| help |
| Software version number running on the device. |
| |
| config DEVICE_TYPE |
| int "Default Device type" |
| default 0 |
| help |
| The default device type. |
| |
| endmenu |
| |
| menu "WiFi Station Options" |
| |
| config ENABLE_WIFI_STATION |
| bool "Enable CHIP WIFI STATION" |
| default y |
| help |
| Enables WiFi station for CHIP. |
| |
| config DEFAULT_WIFI_SSID |
| string "Default WiFi SSID" |
| default "" |
| depends on ENABLE_WIFI_STATION |
| help |
| The SSID of network to connect to if no WiFi station configuration exists in NV storage |
| at the time the device boots. |
| |
| This option is for testing only and should be disabled in production releases. |
| |
| config DEFAULT_WIFI_PASSWORD |
| string "Default WiFi Password" |
| default "" |
| depends on ENABLE_WIFI_STATION |
| help |
| The password for the default WiFi network. |
| |
| This option is for testing only and should be disabled in production releases. |
| |
| config WIFI_STATION_RECONNECT_INTERVAL |
| int "WiFi Station Interface Reconnect Interval (ms)" |
| range 0 65535 |
| default 100 |
| depends on ENABLE_WIFI_STATION |
| help |
| The interval at which the CHIP platform will attempt to reconnect to the configured WiFi network (in milliseconds). |
| |
| config MAX_SCAN_NETWORKS_RESULTS |
| int "Max ScanNetworks Results" |
| range 0 65535 |
| default 10 |
| depends on ENABLE_WIFI_STATION |
| help |
| The maximum number of networks to return as a result of a CHIP NetworkProvisioning:ScanNetworks request. |
| |
| config WIFI_SCAN_COMPLETION_TIMEOUT |
| int "WiFi Scan Completion Timeout (ms)" |
| range 0 65535 |
| default 10000 |
| depends on ENABLE_WIFI_STATION |
| help |
| The amount of time (in milliseconds) after which the CHIP platform will timeout a WiFi scan |
| operation that hasn't completed. A value of 0 will disable the timeout logic. |
| |
| config WIFI_CONNECTIVITY_TIMEOUT |
| int "WiFi Connectivity Timeout (ms)" |
| range 0 65535 |
| default 30000 |
| depends on ENABLE_WIFI_STATION |
| help |
| The amount of time (in milliseconds) to wait for Internet connectivity to be established on |
| the device's WiFi station interface during a Network Provisioning TestConnectivity operation. |
| |
| endmenu |
| |
| menu "WiFi AP Options" |
| |
| config ENABLE_WIFI_AP |
| depends on ESP_WIFI_SOFTAP_SUPPORT |
| bool "Enable CHIP WIFI AP" |
| default y |
| help |
| Enables WiFi AP for CHIP. |
| |
| config WIFI_AP_SSID_PREFIX |
| string "WiFi AP SSID Prefix" |
| default "MATTER-" |
| depends on ENABLE_WIFI_AP |
| help |
| A prefix string used in forming the WiFi soft-AP SSID. The remainder of the SSID |
| consists of the final two bytes of the device's primary WiFi MAC address in hex. |
| |
| config WIFI_AP_CHANNEL |
| int "WiFi AP Channel" |
| range 1 14 |
| default 1 |
| depends on ENABLE_WIFI_AP |
| help |
| The WiFi channel number to be used by the soft-AP. |
| |
| config WIFI_AP_MAX_STATIONS |
| int "WiFi AP Max Allowed Stations" |
| range 1 10 |
| default 4 |
| depends on ENABLE_WIFI_AP |
| help |
| The maximum number of stations allowed to connect to the soft-AP. |
| |
| config WIFI_AP_BEACON_INTERVAL |
| int "WiFi AP Beacon Interval (ms)" |
| range 100 60000 |
| default 100 |
| depends on ENABLE_WIFI_AP |
| help |
| The beacon interval (in milliseconds) for the WiFi soft-AP. |
| |
| config WIFI_AP_IDLE_TIMEOUT |
| int "WiFi AP Idle Timeout (ms)" |
| range 0 600000 |
| default 120000 |
| depends on ENABLE_WIFI_AP |
| help |
| The amount of time (in milliseconds) after which the CHIP platform will deactivate the soft-AP |
| if it has been idle. |
| |
| endmenu |
| |
| menu "BLE Options" |
| visible if BT_ENABLED |
| |
| config ENABLE_CHIPOBLE |
| bool "Enable CHIP-over-BLE (CHIPoBLE) Support" |
| default y |
| depends on BT_ENABLED |
| help |
| Enables support for sending and receiving CHIP messages over a BLE connection. |
| |
| NOTE: This feature depends on BLE central support being enabled in ESP-IDF. In |
| particular, the ESP-IDF features CONFIG_BT_ENABLED and CONFIG_GATTS_ENABLE must |
| both be enabled. |
| |
| config BLE_DEVICE_NAME_PREFIX |
| string "BLE Device Name Prefix" |
| default "MATTER-" |
| depends on ENABLE_CHIPOBLE |
| help |
| A prefix string used in forming the BLE device name. The remainder of the name |
| consists of the final two bytes of the device's CHIP node id in hex. |
| |
| NOTE: The device layer limits the total length of a device name to 16 characters. |
| However, due to other data sent in WoBLE advertise packets, the device name |
| may need to be shorter. |
| |
| config BLE_FAST_ADVERTISING_INTERVAL_MIN |
| int "Fast Advertising Min Interval" |
| default 40 |
| depends on ENABLE_CHIPOBLE |
| help |
| The minimum interval (in units of 0.625ms) at which the device will send BLE advertisements while |
| in fast advertising mode. |
| |
| config BLE_FAST_ADVERTISING_INTERVAL_MAX |
| int "Fast Advertising Max Interval" |
| default 40 |
| depends on ENABLE_CHIPOBLE |
| help |
| The maximum interval (in units of 0.625ms) at which the device will send BLE advertisements while |
| in fast advertising mode. |
| |
| config BLE_SLOW_ADVERTISING_INTERVAL_MIN |
| int "Slow Advertising Min Interval" |
| default 800 |
| depends on ENABLE_CHIPOBLE |
| help |
| The minimum interval (in units of 0.625ms) at which the device will send BLE advertisements while |
| in slow advertising mode. |
| |
| config BLE_SLOW_ADVERTISING_INTERVAL_MAX |
| int "Slow Advertising Max Interval" |
| default 800 |
| depends on ENABLE_CHIPOBLE |
| help |
| The maximum interval (in units of 0.625ms) at which the device will send BLE advertisements while |
| in slow advertising mode. |
| |
| config CHIPOBLE_SINGLE_CONNECTION |
| bool "Single Connection Mode" |
| default y |
| depends on ENABLE_CHIPOBLE |
| help |
| Limit support for CHIP-over-BLE (WoBLE) to a single inbound connection. |
| |
| When set, WoBLE advertisements will stop while a WoBLE connection is active. |
| |
| config CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART |
| int "Enable CHIPoBLE advertising start automatically after device power-up" |
| range 0 1 |
| default 0 |
| depends on ENABLE_CHIPOBLE |
| help |
| CHIPs device may start advertising automatically only if its all primary device |
| functions are within a CHIP network. Device providing unrelated to CHIP functionalities |
| should not start advertising automatically after power-up. |
| |
| config USE_BLE_ONLY_FOR_COMMISSIONING |
| depends on BT_ENABLED |
| bool "Use BLE only for commissioning" |
| default y |
| help |
| Disable this flag if BLE is used for any other purpose than commissioning. |
| When enabled, it deinitialized the BLE on successful commissioning, and on |
| bootup do not initialize the BLE if device is already provisioned with Wi-Fi/Thread credentials. |
| |
| endmenu |
| |
| menu "CHIP Thread Options" |
| visible if OPENTHREAD_ENABLED |
| |
| config ENABLE_MATTER_OVER_THREAD |
| bool "Enable Matter-over-Thread Support" |
| default y |
| depends on OPENTHREAD_ENABLED |
| help |
| Enables support for sending and receiving CHIP messages over a Thread Connection. |
| |
| config THREAD_TASK_STACK_SIZE |
| int "Thread task stack size" |
| default 5120 |
| depends on OPENTHREAD_ENABLED |
| help |
| Stack size of Thread task. |
| |
| endmenu |
| |
| menu "Ethernet Options" |
| visible if ENABLE_ETHERNET_TELEMETRY |
| |
| config GPIO_RANGE_MIN |
| int |
| depends on ENABLE_ETHERNET_TELEMETRY |
| default 0 |
| |
| config GPIO_RANGE_MAX |
| int |
| depends on ENABLE_ETHERNET_TELEMETRY |
| default 33 if IDF_TARGET_ESP32 |
| default 46 if IDF_TARGET_ESP32S2 |
| default 19 if IDF_TARGET_ESP32C3 |
| default 48 if IDF_TARGET_ESP32S3 |
| default 26 if IDF_TARGET_ESP32H2 |
| |
| config ETH_MDC_GPIO |
| int "SMI MDC GPIO number" |
| depends on ENABLE_ETHERNET_TELEMETRY |
| range GPIO_RANGE_MIN GPIO_RANGE_MAX |
| default 23 if ENABLE_ETHERNET_TELEMETRY |
| help |
| Set the GPIO number used by SMI MDC. |
| |
| config ETH_MDIO_GPIO |
| int "SMI MDIO GPIO number" |
| depends on ENABLE_ETHERNET_TELEMETRY |
| range GPIO_RANGE_MIN GPIO_RANGE_MAX |
| default 18 if ENABLE_ETHERNET_TELEMETRY |
| help |
| Set the GPIO number used by SMI MDIO. |
| |
| config ETH_PHY_RST_GPIO |
| int "PHY Reset GPIO number" |
| depends on ENABLE_ETHERNET_TELEMETRY |
| range -1 GPIO_RANGE_MAX |
| default 5 if ENABLE_ETHERNET_TELEMETRY |
| help |
| Set the GPIO number used to reset PHY chip. |
| Set to -1 to disable PHY chip hardware reset. |
| |
| config ETH_PHY_ADDR |
| int "PHY Address" |
| range 0 31 |
| default 1 if ENABLE_ETHERNET_TELEMETRY |
| help |
| Set PHY address according your board schematic. |
| |
| endmenu |
| |
| menu "Time Sync Options" |
| |
| config ENABLE_SERVICE_DIRECTORY_TIME_SYNC |
| bool "Enable Service Directory Time Sync" |
| default y |
| help |
| Enables synchronizing the device real-time clock using information returned during |
| a CHIP service directory query. For any device that uses the CHIP service directory |
| to lookup a tunnel server, enabling this option will result in the real time clock being |
| synchronized every time the service tunnel is established. |
| |
| config ENABLE_CHIP_TIME_SERVICE_TIME_SYNC |
| bool "Enable Time Service Time Sync" |
| default n |
| help |
| Enables synchronizing the device's real time clock with a remote CHIP Time service |
| using the CHIP Time Sync protocol. |
| |
| config CHIP_TIME_SERVICE_ENDPOINT_ID |
| hex "CHIP Time Service Endpoint Id" |
| default 18B4300200000005 |
| depends on ENABLE_CHIP_TIME_SERVICE_TIME_SYNC |
| help |
| Specifies the service endpoint id of the CHIP Time Sync service to be used to synchronize time. |
| |
| config DEFAULT_TIME_SYNC_INTERVAL |
| int "Time Sync Interval (seconds)" |
| default 60 |
| depends on ENABLE_CHIP_TIME_SERVICE_TIME_SYNC |
| help |
| Specifies the minimum interval (in seconds) at which the device should synchronize its real time |
| clock with the configured CHIP Time Sync server. |
| |
| config TIME_SYNC_TIMEOUT |
| int "Time Sync Timeout (ms)" |
| default 10000 |
| depends on ENABLE_CHIP_TIME_SERVICE_TIME_SYNC |
| help |
| Specifies the maximum amount of time (in milliseconds) to wait for a response from a |
| CHIP Time Sync server. |
| |
| endmenu |
| |
| menu "Service Provisioning Options" |
| |
| config SERVICE_PROVISIONING_ENDPOINT_ID |
| hex "CHIP Service Provisioning Endpoint Id" |
| default 18B4300200000010 |
| help |
| Specifies the service endpoint id of the CHIP Service Provisioning service. When a device |
| undergoes service provisioning, this is the endpoint to which it will send its Pair Device |
| to Account request. |
| |
| config SERVICE_PROVISIONING_CONNECTIVITY_TIMEOUT |
| int "Service Provisioning Connectivity Timeout (ms)" |
| default 10000 |
| help |
| The maximum amount of time (in milliseconds) to wait for service connectivity during the device |
| service provisioning step. More specifically, this is the maximum amount of time the device will |
| wait for connectivity to be established with the service at the point where the device waiting |
| to send a Pair Device to Account request to the Service Provisioning service. |
| |
| config SERVICE_PROVISIONING_REQUEST_TIMEOUT |
| int "Service Provisioning Request Timeout (ms)" |
| default 10000 |
| help |
| Specifies the maximum amount of time (in milliseconds) to wait for a response from the Service |
| Provisioning service. |
| |
| endmenu |
| |
| menu "Commissioning options" |
| config RENDEZVOUS_WAIT_FOR_COMMISSIONING_COMPLETE |
| int "Use full IP-based commissioning (expect cluster commands)" |
| default 0 |
| help |
| Setting this to y will cause the commissioner to send commissioning commands to the |
| various clusters after establishing a PASE session. |
| |
| config ENABLE_ROTATING_DEVICE_ID |
| depends on ENABLE_CHIPOBLE |
| bool "Enable Rotating Device Identifier Support" |
| default n |
| |
| config ENABLE_ESP32_FACTORY_DATA_PROVIDER |
| bool "Use ESP32 Factory Data Provider" |
| default n |
| help |
| If this option is enabled, then ESP32 implementation of CommissionableDataProvider and |
| DeviceAttestationCredentialsProvider is used. Otherwise, the test-mode CommissionableDataProvider |
| and Example DeviceAttestationCredentialsProvider is used. ESP32 implementation reads factory data from |
| nvs partition. Factory partition can be configured using CONFIG_CHIP_FACTORY_NAMESPACE_PARTITION_LABEL |
| option, default is "nvs". |
| |
| config ENABLE_ESP32_DEVICE_INSTANCE_INFO_PROVIDER |
| depends on ENABLE_ESP32_FACTORY_DATA_PROVIDER |
| bool "Use ESP32 Device Instance Info Provider" |
| default n |
| help |
| Use ESP32 Device Instance Info Provider to get device instance info from factory partition. |
| Details like Vendor Name, Vendor Id, Product Name, Product Id, Serial Number, Manufacturing Date, |
| Hardware Version, Hardware Version String, and Rotating Device Id UniqueId will be read from factory |
| partition. |
| |
| config ENABLE_ESP32_DEVICE_INFO_PROVIDER |
| depends on ENABLE_ESP32_FACTORY_DATA_PROVIDER |
| bool "Use ESP32 Device Info Provider" |
| default n |
| help |
| Use ESP32 Device Info Provider to get device instance info from factory partition. |
| Details like Supported calendar types, supported locales, and fixed labels will be read from factory |
| partition. |
| |
| config ENABLE_ESP32_LOCATIONCAPABILITY |
| depends on ENABLE_ESP32_FACTORY_DATA_PROVIDER |
| bool "Enable ESP32 Device LocationCapability" |
| default n |
| help |
| Enable ESP32 Device LocationCapability |
| |
| config SEC_CERT_DAC_PROVIDER |
| bool "Use Secure Cert DAC Provider" |
| default n |
| help |
| Use ESP32 Secure Cert DAC Provider which is ESP32 DeviceAttestationCredentialsProvider implementation which reads attestation |
| information from the esp_secure_cert partition |
| |
| config USE_ESP32_ECDSA_PERIPHERAL |
| bool "Use ESP32 ECDSA Peripheral" |
| depends on SEC_CERT_DAC_PROVIDER && SOC_ECDSA_SUPPORTED |
| default y |
| select MBEDTLS_HARDWARE_ECDSA_SIGN |
| help |
| If DAC is being read from secure cert and SOC supports ECDSA signing using on-chip peripheral |
| then this option gets enabled. |
| Also, please disable ESP_SECURE_CERT_DS_PERIPHERAL from the menuconfig when this option is disabled |
| |
| config ENABLE_SET_CERT_DECLARATION_API |
| depends on ENABLE_ESP32_FACTORY_DATA_PROVIDER || SEC_CERT_DAC_PROVIDER |
| bool "Enable Set CD API" |
| default n |
| help |
| By default, the implementation reads the Certification Declaration (CD) from the 'chip-factory' |
| NVS namespace. If this option is enabled, the application can use an API to set a CD, |
| the configured CD will be used for subsequent CD reads. |
| |
| config ENABLE_ESP_INSIGHTS_TRACE |
| bool "Enable Matter ESP Insights" |
| depends on ESP_INSIGHTS_ENABLED |
| default y |
| help |
| ESP Insights is a remote diagnostics solution to monitor the health of ESP devices in the field. |
| Enabling the above option will enable the esp32 specific tracing functionality and report the |
| diagnostic information to the insights cloud. |
| |
| config ENABLE_ESP_INSIGHTS_SYSTEM_STATS |
| bool "Enable System Stats for insights" |
| depends on ESP_INSIGHTS_ENABLED |
| default n |
| help |
| This option enables the system statistics to be sent to the insights cloud. |
| |
| config MAX_PERMIT_LIST_SIZE |
| int "Set permit list size for Insights traces" |
| range 5 30 |
| depends on ESP_INSIGHTS_ENABLED |
| default 20 |
| help |
| Maximum number of group entries that can be included in the permit list for reporting |
| the traces to insights. |
| |
| endmenu |
| |
| |
| |
| menu "Testing Options" |
| |
| config USE_TEST_SERIAL_NUMBER |
| string "Use Test Serial Number" |
| default "TEST_SN" |
| help |
| Specifies a hard-coded device serial number to be used if none is found in CHIP NV storage. |
| Setting the value to an empty string disables the feature. |
| |
| Note that any string up to 32 characters can be used here. This value is a unique identifier |
| assigned to each device by the device vendor. |
| |
| This option is for testing only and should not be enabled in production releases. |
| |
| config ENABLE_TEST_SETUP_PARAMS |
| bool "Enable Test Setup Parameters" |
| default y |
| help |
| Enable use of test setup parameters for testing purposes only. |
| |
| WARNING: This option makes it possible to circumvent basic chip security functionality. |
| Because of this it SHOULD NEVER BE ENABLED IN PRODUCTION BUILDS. |
| |
| config TEST_EVENT_TRIGGER_ENABLED |
| bool "Enable Test Event Trigger" |
| default y |
| help |
| Enable TestEventTrigger in GeneralDiagnostics cluster. |
| |
| config TEST_EVENT_TRIGGER_ENABLE_KEY |
| string "Test Event Trigger Enable Key" |
| depends on TEST_EVENT_TRIGGER_ENABLED |
| default "00112233445566778899aabbccddeeff" |
| help |
| The EnableKey in hex string format used by TestEventTrigger command in GeneralDiagnostics |
| cluster. The length of the string should be 32. |
| |
| config ENABLE_FIXED_TUNNEL_SERVER |
| bool "Use Fixed Tunnel Server" |
| default n |
| help |
| Forces the use of a service tunnel server at a fixed IP address and port. This |
| bypasses the need for a directory query to the service directory endpoint to |
| determine the tunnel server address. When enabled, this option allows devices |
| that haven't been service provisioned to establish a service tunnel. |
| |
| config TUNNEL_SERVER_ADDRESS |
| string "Tunnel Server Address" |
| default "" |
| depends on ENABLE_FIXED_TUNNEL_SERVER |
| help |
| The IP address and port of the server to which the device should establish a service tunnel. |
| The supplied address must be a dot-notation IP address--not a host name. The port number is |
| optional; if present it should be separated from the IP address with a colon (e.g. 192.168.1.100:5540). |
| |
| endmenu |
| |
| menu "Network Telemetry Options" |
| |
| config ENABLE_WIFI_TELEMETRY |
| bool "Enable WiFi Telemetry" |
| default y |
| help |
| Enable automatically uploading Wi-Fi telemetry via trait on an interval. |
| |
| config ENABLE_THREAD_TELEMETRY |
| bool "Enable Thread Telemetry" |
| default n |
| help |
| Enable automatically uploading minimal Thread telemetry and topology via trait on an interval. |
| |
| config ENABLE_THREAD_TELEMETRY_FULL |
| bool "Enable Full Thread Telemetry" |
| default n |
| help |
| Enable automatically uploading all Thread telemetry and topology via trait on an interval. |
| This is suitable for products that have router capability. |
| |
| This option can be enabled only when Thread telemetry is enabled. |
| |
| config ENABLE_TUNNEL_TELEMETRY |
| bool "Enable CHIP Tunnel Telemetry" |
| default n |
| help |
| Enable automatically uploading CHIP tunnel telemetry via trait on an interval. |
| |
| config ENABLE_ETHERNET_TELEMETRY |
| bool "Enable Ethernet Telemetry" |
| default n |
| help |
| Enable ethernet support for boards with Internal Ethernet |
| |
| endmenu |
| |
| menu "Event Logging Options" |
| |
| config EVENT_LOGGING_CRIT_BUFFER_SIZE |
| int "Event Logging Critical Production Buffer Size" |
| range 0 65535 |
| default 4096 |
| help |
| A size, in bytes, of the individual critical production event logging buffer. |
| |
| This critical production event buffer must exist. |
| |
| config EVENT_LOGGING_INFO_BUFFER_SIZE |
| int "Event Logging Info Buffer Size" |
| range 0 65535 |
| default 1024 |
| help |
| A size, in bytes, of the individual info event logging buffer. |
| |
| When size is set to 0, the info event buffer and all support |
| for the info level events are disabled. |
| |
| config EVENT_LOGGING_DEBUG_BUFFER_SIZE |
| int "Event Logging Debug Buffer Size" |
| range 0 65535 |
| default 1024 |
| help |
| A size, in bytes, of the individual debug event logging buffer. |
| |
| When size is set to 0, the debug event buffer and all support |
| for the debug level events are disabled. |
| |
| |
| config CHIP_CONFIG_IM_PRETTY_PRINT |
| bool "Enable IM Pretty Print" |
| default y |
| help |
| If enabled, incoming message payloads are logged in detail. |
| To see detailed logging please set default log level to Debug. |
| (Component config --> Log output --> Default log verbosity --> Debug) |
| |
| endmenu |
| |
| config CHIP_ENABLE_BDX_LOG_TRANSFER |
| bool "Enable BDX log transfer" |
| default n |
| help |
| Enables the BDX protocol for diagnostics log transfer |
| |
| menu "Matter OTA Image" |
| |
| config CHIP_OTA_IMAGE_BUILD |
| bool "Generate Matter OTA image" |
| help |
| Enable building OTA (Over-the-air update) image which includes Matter OTA header. |
| |
| config CHIP_OTA_IMAGE_EXTRA_ARGS |
| string "OTA image creator extra arguments" |
| depends on CHIP_OTA_IMAGE_BUILD |
| help |
| ota_image_tool.py is used to create the OTA image. |
| Mandatory arguments(Version, VersionString, VID, PID) are picked up from the config options. |
| This option allows us to pass optional arguments(MinApplicableSoftwareVersion, MaxApplicableSoftwareVersion, |
| and ReleaseNotesURL) to the ota_image_tool.py script. |
| eg: "-mi 2 -ma 4 -rn https://github.com/espressif/esp-idf/releases/tag/v4.4" |
| |
| endmenu |
| |
| menu "External Platform" |
| config CHIP_ENABLE_EXTERNAL_PLATFORM |
| bool "Enable external platform layer" |
| default n |
| help |
| Use external platform layer to override the default ESP32 platform in Matter SDK. |
| |
| config CHIP_EXTERNAL_PLATFORM_DIR |
| string "The external platform directory" |
| depends on CHIP_ENABLE_EXTERNAL_PLATFORM |
| help |
| The directory of the external platform. |
| |
| config CHIP_EXTERNAL_PLATFORM_INCLUDE_DIR |
| string "The external platform including directory" |
| depends on CHIP_ENABLE_EXTERNAL_PLATFORM |
| help |
| The including directory of the external platform. |
| |
| endmenu |
| |
| menu "Matter Manufacturing Options" |
| config CHIP_FACTORY_NAMESPACE_PARTITION_LABEL |
| string "chip-factory namespace partition label" |
| default "nvs" |
| help |
| Label of the partition to store key-values in the "chip-factory" namespace. |
| |
| config CHIP_CONFIG_NAMESPACE_PARTITION_LABEL |
| string "chip-config namespace partition label" |
| default "nvs" |
| help |
| Label of the partition to store key-values in the "chip-config" namespace. |
| |
| config CHIP_COUNTERS_NAMESPACE_PARTITION_LABEL |
| string "chip-counters namespace partition label" |
| default "nvs" |
| help |
| Label of the partition to store key-values in the "chip-counters" namespace. |
| |
| config CHIP_KVS_NAMESPACE_PARTITION_LABEL |
| string "chip-kvs namespace partition label" |
| default "nvs" |
| help |
| Label of the partition to store key-values in the "chip-kvs" namespace. |
| |
| endmenu |
| |
| menu "Commissioning Window Options" |
| config CHIP_DISCOVERY_TIMEOUT_SECS |
| int "Commissioning Window Timeout in seconds" |
| range 180 900 if !ENABLE_BLE_EXT_ANNOUNCEMENT |
| range 901 172800 if ENABLE_BLE_EXT_ANNOUNCEMENT |
| default 900 if !ENABLE_BLE_EXT_ANNOUNCEMENT |
| default 172800 if ENABLE_BLE_EXT_ANNOUNCEMENT |
| |
| help |
| The amount of time (in seconds) after which the CHIP platform will close the Commissioning Window |
| endmenu |
| |
| menu "Enable ESP32 as a BLE Commissioner" |
| config ENABLE_ESP32_BLE_CONTROLLER |
| bool "Enable ESP32 as a BLE Commissioner" |
| default n |
| help |
| Enable esp32 as a BLE Commissioner. |
| |
| endmenu |
| |
| menu "Enable Matter Event List" |
| config ENABLE_MATTER_EVENT_LIST |
| bool "Enable Matter support Event List attribute" |
| default n |
| help |
| Enable Matter support Event List attribute. |
| |
| endmenu |
| |
| menu "Enable BLE Extended Announcement" |
| config ENABLE_BLE_EXT_ANNOUNCEMENT |
| bool "Enable BLE Extended Announcement" |
| default n |
| help |
| Enable BLE Extended Announcement.To be used with CHIP_DISCOVERY_TIMEOUT_SECS for extended announcement duration. |
| |
| endmenu |
| |
| menu "Message Reliable Protocol Options" |
| config MRP_LOCAL_ACTIVE_RETRY_INTERVAL_FOR_THREAD |
| int "MRP local active retry interval for Thread network in milliseconds" |
| depends on OPENTHREAD_ENABLED |
| range 0 3600000 |
| default 800 |
| help |
| Base retry interval of the present Thread node when it is in the active state. |
| |
| config MRP_LOCAL_ACTIVE_RETRY_INTERVAL_FOR_WIFI_ETHERNET |
| int "MRP local active retry interval for WIFI or ETHERNET network in milliseconds" |
| depends on !OPENTHREAD_ENABLED |
| range 0 3600000 |
| default 300 |
| help |
| Base retry interval of the present node (WIFI or ETHERNET) when it is in the active state. |
| |
| config MRP_LOCAL_IDLE_RETRY_INTERVAL_FOR_THREAD |
| int "MRP local idle retry interval for Thread network in milliseconds" |
| depends on OPENTHREAD_ENABLED |
| range 0 3600000 |
| default 800 |
| help |
| Base retry interval of the present Thread node when it is in the idle state. |
| |
| config MRP_LOCAL_IDLE_RETRY_INTERVAL_FOR_WIFI_ETHERNET |
| int "MRP local idle retry interval for WIFI or ETHERNET network in milliseconds" |
| depends on !OPENTHREAD_ENABLED |
| range 0 3600000 |
| default 500 |
| help |
| Base retry interval of the present node (WIFI or ETHERNET) when it is in the idle state. |
| |
| config MRP_RETRY_INTERVAL_SENDER_BOOST_FOR_THREAD |
| int "MRP retransmission delta timeout for Thread network in milliseconds" |
| depends on OPENTHREAD_ENABLED |
| range 0 3600000 |
| default 500 |
| help |
| A constant value added to the calculated retransmission timeout. |
| |
| config MRP_RETRY_INTERVAL_SENDER_BOOST_FOR_WIFI_ETHERNET |
| int "MRP retransmission delta timeout for WIFI or ETHERNET network in milliseconds" |
| depends on !OPENTHREAD_ENABLED |
| range 0 3600000 |
| default 0 |
| help |
| A constant value added to the calculated retransmission timeout. |
| |
| config MRP_MAX_RETRANS |
| int "MRP retransmission maximum count" |
| range 1 10 |
| default 4 |
| help |
| The maximum number of retransmissions before giving up. |
| |
| endmenu |
| |
| endmenu |