MeshTalos-Client/managed_components/espressif__esp-zboss-lib/include/zb_vendor_default.h
2025-12-03 14:20:11 +08:00

135 lines
No EOL
4.2 KiB
C

/*
* Copyright (c) 2021 Espressif Systems (Shanghai) CO LTD
* All rights reserved.
*
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form, except as embedded into a Espressif Systems
* integrated circuit in a product or a software update for such product,
* must reproduce the above copyright notice, this list of conditions and
* the following disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. Neither the name of the copyright holder nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* 4. Any software provided in binary form under this license must not be reverse
* engineered, decompiled, modified and/or disassembled.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/* Number of buttons supported */
#define ZB_N_BUTTONS 5
#define ZB_ENABLE_HA
#define ZB_ENABLE_ZCL
#define ZB_TEST_PROFILE
/* Enable Rejoin Backoff (used in Smart Plug and IAS Zone samples). */
#define ZB_REJOIN_BACKOFF
#define ZB_USE_SLEEP
#define ZB_CERTIFICATION_HACKS /*Special modes for testing see zb_config.h*/
#ifdef ZB_USE_SLEEP
#define ZB_MEMORY_COMPACT
#endif
/* ZB3.0 BDB mode */
#define ZB_BDB_MODE
#define ZB_BDB_ENABLE_FINDING_BINDING
#define ZB_DISTRIBUTED_SECURITY_ON
#define ZB_SECURITY_INSTALLCODES
/* ZGP */
#ifdef CONFIG_ZB_GP_ENABLED
#define ZB_ENABLE_ZGP
#define ZB_ENABLE_ZGP_COMBO
#define ZB_ENABLE_ZGP_GPCB
#define ZB_ZGP_SINK_TBL_SIZE 10
// #define ZB_ZGP_SIMPLE_COMBO_START_AS_ZR
#define ZB_ZGP_TRANSL_CMD_PLD_MAX_SIZE 3
#define ZGP_CLUSTER_TEST
#define ZB_ZGP_SKIP_GPDF_ON_NWK_LAYER
#define ZB_ZGP_RUNTIME_WORK_MODE_WITH_PROXIES
#define ZB_ZGP_PROXY_TBL_SIZE 8
#endif /* CONFIG_ZB_GP_ENABLED */
/* Device support */
#define ZB_ALL_DEVICE_SUPPORT
/* OOM detection */
#define ZB_CHECK_OOM_STATUS
#define ZB_SEND_OOM_STATUS
#define ZB_NO_NVRAM_VER_MIGRATION
#define ZB_LIMIT_VISIBILITY
#define ZB_TEST_GROUP_ZCP_R22_APS
#define ZB_TEST_GROUP_ZCP_R22_BDB
#define ZB_TEST_GROUP_ZCP_R22_NWK
#define ZB_TEST_GROUP_ZCP_R22_PED
#define ZB_TEST_GROUP_ZCP_R22_PRO
#define ZB_TEST_GROUP_ZCP_R22_R20
#define ZB_TEST_GROUP_ZCP_R22_R21
#define ZB_TEST_GROUP_ZCP_R22_R22
#define ZB_TEST_GROUP_ZCP_R22_SEC
#define ZB_TEST_GROUP_ZCP_R22_ZDO
#ifdef CONFIG_ZB_ZCZR
#define ZB_COORDINATOR_ROLE
#define ZB_ROUTER_ROLE
#else
#define ZB_ED_ROLE
#define ZB_ED_FUNC
#endif
/* APS GROUP TABLE SIZE */
#ifndef ZB_ED_ROLE
#define ZB_APS_GROUP_TABLE_SIZE 32
#define ZB_APS_ENDPOINTS_IN_GROUP_TABLE 64U
#else
#define ZB_APS_GROUP_TABLE_SIZE 32
#define ZB_APS_ENDPOINTS_IN_GROUP_TABLE 64U
#endif
#define ZB_MULTITEST_CONSOLE_SLEEP_TIMEOUT 1000000
/* TRACE FILE ID NO NEED */
#define ZB_DONT_NEED_TRACE_FILE_ID
/* Support Max Endpoint Number */
#define ZB_MAX_EP_NUMBER 64U
/* Interrupt Safe */
#define ZB_INTERRUPT_SAFE_ALARMS
#define ZB_INTERRUPT_SAFE_CALLBACKS
/* Touchlink */
#define ZB_BDB_TOUCHLINK
#ifdef ZB_BDB_TOUCHLINK
#define ZB_ENABLE_ZLL
#define ZB_ENABLE_INTER_PAN_EXCHANGE
#endif // ZB_BDB_TOUCHLINK
/* Add dependency to the Inter-Pan exchange */
#ifdef ZB_ENABLE_INTER_PAN_NON_DEFAULT_CHANNEL
#ifndef ZB_ENABLE_INTER_PAN_EXCHANGE
#define ZB_ENABLE_INTER_PAN_EXCHANGE
#endif
#endif
/* Enable APS Fragmentation */
#define APS_FRAGMENTATION