#pragma once

#include <sdkconfig.h>


#if defined(CONFIG_ENABLE_WIFI_STATION) || defined(CONFIG_ENABLE_WIFI_AP)
#define CHIP_DEVICE_CONFIG_ENABLE_WPA 1
#else
#define CHIP_DEVICE_CONFIG_ENABLE_WPA 0
#endif

#ifdef CONFIG_ENABLE_MATTER_OVER_THREAD
#define CHIP_ENABLE_OPENTHREAD 1
#else
#define CHIP_ENABLE_OPENTHREAD 0
#endif

#ifdef CONFIG_OPENTHREAD_FTD
#define CHIP_DEVICE_CONFIG_THREAD_FTD 1
#else
#define CHIP_DEVICE_CONFIG_THREAD_FTD 0
#endif

#ifdef CONFIG_OPENTHREAD_BORDER_ROUTER
#define CHIP_DEVICE_CONFIG_THREAD_BORDER_ROUTER 1
#else
#define CHIP_DEVICE_CONFIG_THREAD_BORDER_ROUTER 0
#endif

#define CHIP_DEVICE_CONFIG_USES_OTBR_POSIX_DBUS_STACK 0
#define CHIP_STACK_LOCK_TRACKING_ENABLED 1
#define CHIP_STACK_LOCK_TRACKING_ERROR_FATAL 1

#ifdef CONFIG_ENABLE_ROTATING_DEVICE_ID
#define CHIP_ENABLE_ADDITIONAL_DATA_ADVERTISING 1
#else
#define CHIP_ENABLE_ADDITIONAL_DATA_ADVERTISING 0
#endif

#define CHIP_DEVICE_CONFIG_RUN_AS_ROOT 1
#define CHIP_DISABLE_PLATFORM_KVS 0

#ifdef CONFIG_ENABLE_OTA_REQUESTOR
#define CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR 1
#else
#define CHIP_DEVICE_CONFIG_ENABLE_OTA_REQUESTOR 0
#endif

#ifdef CONFIG_ENABLE_ESP32_FACTORY_DATA_PROVIDER
#define CHIP_USE_TRANSITIONAL_COMMISSIONABLE_DATA_PROVIDER 0
#else
#define CHIP_USE_TRANSITIONAL_COMMISSIONABLE_DATA_PROVIDER 1
#endif

#define CHIP_USE_TRANSITIONAL_DEVICE_INSTANCE_INFO_PROVIDER 1
#define CHIP_DEVICE_LAYER_TARGET_ESP32 1

#ifndef CONFIG_CHIP_ENABLE_EXTERNAL_PLATFORM
#define CHIP_DEVICE_PLATFORM_CONFIG_INCLUDE <platform/ESP32/CHIPDevicePlatformConfig.h>
#define CHIP_DEVICE_LAYER_TARGET ESP32
#endif

#define CHIP_DEVICE_CONFIG_MAX_DISCOVERED_IP_ADDRESSES 5

#define CHIP_DEVICE_CONFIG_ENABLE_DYNAMIC_MRP_CONFIG 0
#define CHIP_DEVICE_CONFIG_ENABLE_WIFIPAF 0
#define CHIP_DEVICE_CONFIG_ENABLE_JOINT_FABRIC 0
#ifdef CONFIG_ENABLE_CHIPOBLE
#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 1
#else
#define CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE 0
#endif
