| /* |
| * Copyright (c) 2019, The OpenThread Authors. |
| * 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 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. |
| * |
| * 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. |
| */ |
| |
| /** |
| * @file |
| * This file includes nrf52811 compile-time configuration constants |
| * for OpenThread. |
| */ |
| |
| #ifndef OPENTHREAD_CORE_NRF52811_CONFIG_H_ |
| #define OPENTHREAD_CORE_NRF52811_CONFIG_H_ |
| |
| /* |
| * The GNU Autoconf system defines a PACKAGE macro which is the name |
| * of the software package. This name collides with PACKAGE field in |
| * the nRF52 Factory Information Configuration Registers (FICR) |
| * structure. |
| */ |
| #undef PACKAGE |
| |
| /** |
| * @def OPENTHREAD_CONFIG_LOG_OUTPUT |
| * |
| * The nrf52811 platform provides an otPlatLog() function. |
| */ |
| #ifndef OPENTHREAD_CONFIG_LOG_OUTPUT |
| #define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_PLATFORM_INFO |
| * |
| * The platform-specific string to insert into the OpenThread version string. |
| * |
| */ |
| #define OPENTHREAD_CONFIG_PLATFORM_INFO "NRF52811" |
| |
| /** |
| * @def OPENTHREAD_CONFIG_STACK_VENDOR_OUI |
| * |
| * The Organizationally Unique Identifier for the vendor. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_STACK_VENDOR_OUI |
| #define OPENTHREAD_CONFIG_STACK_VENDOR_OUI 0xf4ce36 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS |
| * |
| * The number of message buffers in the buffer pool. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS |
| #define OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 60 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS |
| * |
| * The maximum number of state-changed callback handlers (set using `otSetStateChangedCallback()`). |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS |
| #define OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS 3 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_ENTRIES |
| * |
| * The number of EID-to-RLOC cache entries. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_ENTRIES |
| #define OPENTHREAD_CONFIG_TMF_ADDRESS_CACHE_ENTRIES 20 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_LOG_PREPREND_LEVEL |
| * |
| * Define to prepend the log level to all log messages |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL |
| #define OPENTHREAD_CONFIG_LOG_PREPEND_LEVEL 0 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE |
| * |
| * Define to 1 if you want to enable software ACK timeout logic. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE |
| #define OPENTHREAD_CONFIG_MAC_SOFTWARE_ACK_TIMEOUT_ENABLE 0 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_MAC_SOFTWARE_RETRANSMIT_ENABLE |
| * |
| * Define to 1 if you want to enable software retransmission logic. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_MAC_SOFTWARE_RETRANSMIT_ENABLE |
| #define OPENTHREAD_CONFIG_MAC_SOFTWARE_RETRANSMIT_ENABLE 1 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE |
| * |
| * Define to 1 if you want to enable software CSMA-CA backoff logic. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE |
| #define OPENTHREAD_CONFIG_MAC_SOFTWARE_CSMA_BACKOFF_ENABLE 0 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE |
| * |
| * Define to 1 if you want to enable software transmission security logic. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE |
| #define OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_SECURITY_ENABLE (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2) |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_TIMING_ENABLE |
| * |
| * Define to 1 to enable software transmission target time logic. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_TIMING_ENABLE |
| #define OPENTHREAD_CONFIG_MAC_SOFTWARE_TX_TIMING_ENABLE (OPENTHREAD_CONFIG_THREAD_VERSION >= OT_THREAD_VERSION_1_2) |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE |
| * |
| * Define to 1 if you want to support microsecond timer in platform. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE |
| #define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 1 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE |
| * |
| * Define to 1 to enable otPlatFlash* APIs to support non-volatile storage. |
| * |
| * When defined to 1, the platform MUST implement the otPlatFlash* APIs instead of the otPlatSettings* APIs. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE |
| #define OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE 1 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_TIME_SYNC_ENABLE |
| * |
| * Define as 1 to enable the time synchronization service feature. |
| * |
| */ |
| #ifndef OPENTHREAD_CONFIG_TIME_SYNC_ENABLE |
| #define OPENTHREAD_CONFIG_TIME_SYNC_ENABLE 0 |
| #endif |
| |
| /** |
| * @def OPENTHREAD_CONFIG_MAC_HEADER_IE_SUPPORT |
| * |
| * Define as 1 to support IEEE 802.15.4-2015 Header IE (Information Element) generation and parsing, it must be set |
| * to support following features: |
| * 1. Time synchronization service feature (i.e., OPENTHREAD_CONFIG_TIME_SYNC_ENABLE is set). |
| * |
| * @note If it's enabled, plaforms must support interrupt context and concurrent access AES. |
| * |
| */ |
| #if OPENTHREAD_CONFIG_TIME_SYNC_ENABLE |
| #define OPENTHREAD_CONFIG_MAC_HEADER_IE_SUPPORT 1 |
| #endif |
| |
| /** |
| * @def RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM |
| * |
| * The number of short source address table entries. |
| * |
| */ |
| #ifndef RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM |
| #define RADIO_CONFIG_SRC_MATCH_SHORT_ENTRY_NUM 0 |
| #endif |
| |
| /** |
| * @def RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM |
| * |
| * The number of extended source address table entries. |
| * |
| */ |
| #ifndef RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM |
| #define RADIO_CONFIG_SRC_MATCH_EXT_ENTRY_NUM 0 |
| #endif |
| |
| /* |
| * Suppress the ARMCC warning on unreachable statement, |
| * e.g. break after assert(false) or ExitNow() macro. |
| */ |
| #if defined(__CC_ARM) |
| _Pragma("diag_suppress=111") _Pragma("diag_suppress=128") |
| #endif |
| |
| #endif // OPENTHREAD_CORE_NRF52811_CONFIG_H_ |