| /* |
| * |
| * Copyright (c) 2020 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 System |
| * Layer on nRF Connect SDK platform. |
| * |
| */ |
| |
| #pragma once |
| |
| #include <stdint.h> |
| |
| namespace chip { |
| namespace DeviceLayer { |
| struct ChipDeviceEvent; |
| } // namespace DeviceLayer |
| } // namespace chip |
| |
| // ==================== Platform Adaptations ==================== |
| |
| #ifndef CHIP_SYSTEM_CONFIG_USE_POSIX_TIME_FUNCTS |
| #define CHIP_SYSTEM_CONFIG_USE_POSIX_TIME_FUNCTS 0 |
| #endif // CHIP_SYSTEM_CONFIG_USE_POSIX_TIME_FUNCTS |
| |
| #if CHIP_SYSTEM_CONFIG_USE_POSIX_TIME_FUNCTS |
| #define CHIP_SYSTEM_CONFIG_PLATFORM_PROVIDES_TIME 0 |
| #else // CHIP_SYSTEM_CONFIG_USE_POSIX_TIME_FUNCTS |
| #define CHIP_SYSTEM_CONFIG_PLATFORM_PROVIDES_TIME 1 |
| #endif // CHIP_SYSTEM_CONFIG_USE_POSIX_TIME_FUNCTS |
| |
| #define CHIP_SYSTEM_CONFIG_USE_LWIP 0 |
| #define CHIP_SYSTEM_CONFIG_USE_SOCKETS 1 |
| |
| #ifndef CONFIG_ARCH_POSIX |
| #define CHIP_SYSTEM_CONFIG_PACKETBUFFER_POOL_SIZE 15 |
| #endif |
| |
| #ifndef CHIP_SYSTEM_CONFIG_PACKETBUFFER_CAPACITY_MAX |
| #ifdef CONFIG_WIFI_NRF700X |
| // Minimal mDNS uses Matter packet buffers, so as long as minimal mDNS is used |
| // in Nordic's Wi-Fi solution, the packet buffers must be a bit bigger than what |
| // is required by Matter. |
| #define CHIP_SYSTEM_CONFIG_PACKETBUFFER_CAPACITY_MAX CONFIG_NRF_WIFI_IFACE_MTU |
| #else |
| // Matter specification requires that Matter messages fit in IPV6 MTU of 1280B |
| // unless for large messages that can be sent over BTP or TCP. But those will |
| // likely require a separate buffer pool or employ chained buffers. |
| #define CHIP_SYSTEM_CONFIG_PACKETBUFFER_CAPACITY_MAX 1280 |
| #endif // CONFIG_WIFI_NRF700X |
| #endif // CHIP_SYSTEM_CONFIG_PACKETBUFFER_CAPACITY_MAX |
| |
| // ========== Platform-specific Configuration Overrides ========= |
| |
| // Disable Zephyr Socket extensions module, as the Zephyr RTOS now implements recvmsg() |
| #define CHIP_SYSTEM_CONFIG_USE_ZEPHYR_SOCKET_EXTENSIONS 0 |