/* * Copyright (c) 2017, 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 simulation compile-time configuration constants * for OpenThread. */ #ifndef OPENTHREAD_CORE_SIMULATION_CONFIG_H_ #define OPENTHREAD_CORE_SIMULATION_CONFIG_H_ #ifndef OPENTHREAD_RADIO #define OPENTHREAD_RADIO 0 #endif /** * @def OPENTHREAD_CONFIG_PLATFORM_INFO * * The platform-specific string to insert into the OpenThread version string. * */ #define OPENTHREAD_CONFIG_PLATFORM_INFO "SIMULATION" /** * @def OPENTHREAD_CONFIG_LOG_OUTPUT * * Specify where the log output should go. * */ #ifndef OPENTHREAD_CONFIG_LOG_OUTPUT /* allow command line override */ #define OPENTHREAD_CONFIG_LOG_OUTPUT OPENTHREAD_CONFIG_LOG_OUTPUT_PLATFORM_DEFINED #endif /** * @def OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE * * Define as 1 to enable support for adding of auto-configured SLAAC addresses by OpenThread. * */ #ifndef OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE /* allows command line override */ #define OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE 1 #endif #if OPENTHREAD_RADIO /** * @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 1 #endif /** * @def OPENTHREAD_CONFIG_MAC_SOFTWARE_ENERGY_SCAN_ENABLE * * Define to 1 if you want to enable software energy scanning logic. * */ #ifndef OPENTHREAD_CONFIG_MAC_SOFTWARE_ENERGY_SCAN_ENABLE #define OPENTHREAD_CONFIG_MAC_SOFTWARE_ENERGY_SCAN_ENABLE 1 #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 1 #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 1 #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 1 #endif #endif // OPENTHREAD_RADIO /** * @def OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE * * Define to 1 if you want to support microsecond timer in platform. * */ #define OPENTHREAD_CONFIG_PLATFORM_USEC_TIMER_ENABLE 1 /** * @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. * */ #define OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE 1 /** * @def CLI_COAP_SECURE_USE_COAP_DEFAULT_HANDLER * * Define to 1 to use DefaultHandler for unhandled requests * */ #define CLI_COAP_SECURE_USE_COAP_DEFAULT_HANDLER 1 /** * @def OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE * * Define to 1 if you want to enable radio coexistence implemented in platform. * */ #ifndef OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE #define OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE 1 #endif #ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE #define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1 #endif /** * @def OPENTHREAD_CONFIG_LOG_PLATFORM * * Define to enable platform region logging. * */ #ifndef OPENTHREAD_CONFIG_LOG_PLATFORM #define OPENTHREAD_CONFIG_LOG_PLATFORM 1 #endif /** * @def OPENTHREAD_CONFIG_CLI_MAX_LINE_LENGTH * * The maximum size of the CLI line in bytes. * */ #ifndef OPENTHREAD_CONFIG_CLI_MAX_LINE_LENGTH #define OPENTHREAD_CONFIG_CLI_MAX_LINE_LENGTH 640 #endif /** * @def OPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE * * The size of CLI UART RX buffer in bytes. * */ #ifndef OPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE #define OPENTHREAD_CONFIG_CLI_UART_RX_BUFFER_SIZE 640 #endif /** * @def OPENTHREAD_CONFIG_MLE_MAX_CHILDREN * * The maximum number of children. * */ #ifndef OPENTHREAD_CONFIG_MLE_MAX_CHILDREN #define OPENTHREAD_CONFIG_MLE_MAX_CHILDREN 128 #endif /** * @def OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH * * Define as 1 for a child to inform its previous parent when it attaches to a new parent. * * If this feature is enabled, when a device attaches to a new parent, it will send an IP message (with empty payload * and mesh-local IP address as the source address) to its previous parent. * */ #ifndef OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH #define OPENTHREAD_CONFIG_MLE_INFORM_PREVIOUS_PARENT_ON_REATTACH 1 #endif /** * @def OPENTHREAD_CONFIG_UPTIME_ENABLE * * Define to 1 to enable tracking the uptime of OpenThread instance. * */ #ifndef OPENTHREAD_CONFIG_UPTIME_ENABLE #define OPENTHREAD_CONFIG_UPTIME_ENABLE 1 #endif /** * @def OPENTHREAD_CONFIG_LOG_PREPEND_UPTIME * * Define as 1 to prepend the current uptime to all log messages. * */ #ifndef OPENTHREAD_CONFIG_LOG_PREPEND_UPTIME #define OPENTHREAD_CONFIG_LOG_PREPEND_UPTIME 1 #endif /** * @def OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_MAX_SERVICES * * Specifies number of service entries in the SRP client service pool. * * This config is applicable only when `OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_ENABLE` is enabled. * */ #ifndef OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_MAX_SERVICES #define OPENTHREAD_CONFIG_SRP_CLIENT_BUFFERS_MAX_SERVICES 20 #endif #endif // OPENTHREAD_CORE_SIMULATION_CONFIG_H_