| /* |
| * |
| * Copyright (c) 2022 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. |
| */ |
| |
| /** |
| * @file |
| * Platform-specific configuration overrides for the chip Device Layer |
| * on Zephyr platform. |
| */ |
| |
| #pragma once |
| |
| #include "autoconf.h" |
| |
| // ==================== Platform Adaptations ==================== |
| |
| #ifndef CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID |
| #define CHIP_DEVICE_CONFIG_DEVICE_VENDOR_ID CONFIG_CHIP_DEVICE_VENDOR_ID |
| #endif |
| |
| #ifndef CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID |
| #define CHIP_DEVICE_CONFIG_DEVICE_PRODUCT_ID CONFIG_CHIP_DEVICE_PRODUCT_ID |
| #endif |
| |
| #ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION |
| #define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION CONFIG_CHIP_DEVICE_SOFTWARE_VERSION |
| #endif |
| |
| #ifndef CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING |
| #define CHIP_DEVICE_CONFIG_DEVICE_SOFTWARE_VERSION_STRING CONFIG_CHIP_DEVICE_SOFTWARE_VERSION_STRING |
| #endif |
| |
| #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_STATION 0 |
| #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_AP 0 |
| |
| // Check if Zephyr app use NET_L2_OPENTHREAD |
| #ifndef CHIP_DEVICE_CONFIG_ENABLE_THREAD |
| #ifdef CONFIG_NET_L2_OPENTHREAD |
| #define CHIP_DEVICE_CONFIG_ENABLE_THREAD 1 |
| #else |
| #define CHIP_DEVICE_CONFIG_ENABLE_THREAD 0 |
| #endif // CONFIG_NET_L2_OPENTHREAD |
| #endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD |
| |
| // Check if Zephyr app use BT |
| #ifndef CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE |
| #ifdef CONFIG_BT |
| #define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1 |
| #else |
| #define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 0 |
| #endif // CONFIG_BT |
| #endif // CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE |
| |
| // Check if Zephyr app use WIFI |
| #ifndef CHIP_DEVICE_CONFIG_ENABLE_WIFI |
| #ifdef CONFIG_WIFI |
| #define CHIP_DEVICE_CONFIG_ENABLE_WIFI 1 |
| #else |
| #define CHIP_DEVICE_CONFIG_ENABLE_WIFI 0 |
| #endif // CONFIG_WIFI |
| #endif // CHIP_DEVICE_CONFIG_ENABLE_WIFI |
| // Check if Zephyr app use NET_L2_ETHERNET |
| |
| #ifndef CHIP_DEVICE_CONFIG_ENABLE_ETHERNET |
| #ifdef CONFIG_NET_L2_ETHERNET |
| #define CHIP_DEVICE_CONFIG_ENABLE_ETHERNET 1 |
| #else |
| #define CHIP_DEVICE_CONFIG_ENABLE_ETHERNET 0 |
| #endif // CONFIG_NET_L2_ETHERNET |
| #endif // CHIP_DEVICE_CONFIG_ENABLE_ETHERNET |
| |
| // ========== Platform-specific Configuration ========= |
| |
| // These are configuration options that are unique to Zephyr platforms. |
| // These can be overridden by the application as needed. |
| |
| #ifndef CHIP_DEVICE_CONFIG_SETTINGS_KEY |
| /// Key for all Matter persistent data stored using the Zephyr Settings API |
| #define CHIP_DEVICE_CONFIG_SETTINGS_KEY "mt" |
| #endif // CHIP_DEVICE_CONFIG_SETTINGS_KEY |
| |
| #ifndef CHIP_DEVICE_CONFIG_OTA_REQUESTOR_REBOOT_DELAY_MS |
| /// Delay between completing a firmware update download and reboot to apply the update |
| #define CHIP_DEVICE_CONFIG_OTA_REQUESTOR_REBOOT_DELAY_MS 1000 |
| #endif // CHIP_DEVICE_CONFIG_OTA_REQUESTOR_REBOOT_DELAY_MS |
| |
| #ifndef CHIP_DEVICE_CONFIG_SERVER_SHUTDOWN_ACTIONS_SLEEP_MS |
| /// Time to sleep after running server shutdown actions to let lower layers complete the actions. |
| /// This may include transmitting packets created by the actions. |
| #define CHIP_DEVICE_CONFIG_SERVER_SHUTDOWN_ACTIONS_SLEEP_MS 500 |
| #endif // CHIP_DEVICE_CONFIG_SERVER_SHUTDOWN_ACTIONS_SLEEP_MS |
| |
| #ifndef CHIP_DEVICE_CONFIG_HEAP_STATISTICS_MALLINFO |
| #if !defined(CONFIG_CHIP_MALLOC_SYS_HEAP) && defined(CONFIG_NEWLIB_LIBC) |
| /// Use mallinfo() to obtain the heap usage statistics exposed by SoftwareDiagnostics cluster attributes. |
| #define CHIP_DEVICE_CONFIG_HEAP_STATISTICS_MALLINFO 1 |
| #else |
| #define CHIP_DEVICE_CONFIG_HEAP_STATISTICS_MALLINFO 0 |
| #endif // !defined(CONFIG_CHIP_MALLOC_SYS_HEAP) && defined(CONFIG_NEWLIB_LIBC) |
| #endif // CHIP_DEVICE_CONFIG_HEAP_STATISTICS_MALLINFO |
| |
| #ifndef CHIP_DEVICE_BLE_ADVERTISING_PRIORITY |
| /// Priority of the Matter BLE advertising when there are multiple application |
| /// components that compete for the BLE advertising. |
| #define CHIP_DEVICE_BLE_ADVERTISING_PRIORITY 0 |
| #endif // CHIP_DEVICE_BLE_ADVERTISING_PRIORITY |
| |
| // ========== Platform-specific Configuration Overrides ========= |
| |
| #ifndef CHIP_DEVICE_CONFIG_CHIP_TASK_PRIORITY |
| #define CHIP_DEVICE_CONFIG_CHIP_TASK_PRIORITY (K_PRIO_PREEMPT(1)) |
| #endif // CHIP_DEVICE_CONFIG_CHIP_TASK_PRIORITY |
| |
| #ifndef CHIP_DEVICE_CONFIG_CHIP_TASK_STACK_SIZE |
| #define CHIP_DEVICE_CONFIG_CHIP_TASK_STACK_SIZE 8192 |
| #endif // CHIP_DEVICE_CONFIG_CHIP_TASK_STACK_SIZE |
| |
| #define CHIP_DEVICE_CONFIG_ENABLE_WIFI_TELEMETRY 0 |
| #define CHIP_DEVICE_CONFIG_ENABLE_THREAD_TELEMETRY 0 |
| #define CHIP_DEVICE_CONFIG_ENABLE_THREAD_TELEMETRY_FULL 0 |
| |
| #define CHIP_DEVICE_CONFIG_CHIPOBLE_ENABLE_ADVERTISING_AUTOSTART 0 |
| |
| #ifndef CONFIG_CHIP_ENABLE_PAIRING_AUTOSTART |
| #define CHIP_DEVICE_CONFIG_ENABLE_PAIRING_AUTOSTART 0 |
| #else |
| #define CHIP_DEVICE_CONFIG_ENABLE_PAIRING_AUTOSTART CONFIG_CHIP_ENABLE_PAIRING_AUTOSTART |
| #endif // CONFIG_CHIP_ENABLE_PAIRING_AUTOSTART |
| |
| #ifdef CONFIG_CHIP_ENABLE_DNSSD_SRP |
| #define CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT 1 |
| #ifdef CONFIG_CHIP_ENABLE_DNS_CLIENT |
| #define CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT 1 |
| #define CHIP_DEVICE_CONFIG_ENABLE_THREAD_COMMISSIONABLE_DISCOVERY 1 |
| #endif // CONFIG_CHIP_ENABLE_DNS_CLIENT |
| #endif // CONFIG_CHIP_ENABLE_DNSSD_SRP |
| |
| #ifdef CONFIG_CHIP_ENABLE_ICD_SUPPORT |
| #define CHIP_DEVICE_CONFIG_ENABLE_SED 1 |
| #define CHIP_DEVICE_CONFIG_THREAD_SSED CONFIG_CHIP_THREAD_SSED |
| #endif // CONFIG_CHIP_ENABLE_ICD_SUPPORT |
| |
| #ifdef CONFIG_CHIP_COMMISSIONABLE_DEVICE_TYPE |
| #define CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONABLE_DEVICE_TYPE 1 |
| #endif // CONFIG_CHIP_COMMISSIONABLE_DEVICE_TYPE |
| |
| #ifdef CONFIG_CHIP_DEVICE_TYPE |
| #define CHIP_DEVICE_CONFIG_DEVICE_TYPE CONFIG_CHIP_DEVICE_TYPE |
| #endif // CONFIG_CHIP_DEVICE_TYPE |
| |
| #ifdef CONFIG_CHIP_EXTENDED_DISCOVERY |
| #define CHIP_DEVICE_CONFIG_ENABLE_EXTENDED_DISCOVERY 1 |
| #endif // CONFIG_CHIP_EXTENDED_DISCOVERY |
| |
| #ifdef CONFIG_CHIP_BLE_EXT_ADVERTISING |
| #define CHIP_DEVICE_CONFIG_BLE_EXT_ADVERTISING 1 |
| #endif // CONFIG_CHIP_BLE_EXT_ADVERTISING |
| |
| #define CHIP_DEVICE_CONFIG_DISCOVERY_TIMEOUT_SECS (CONFIG_CHIP_BLE_ADVERTISING_DURATION * 60) |