1 /* 2 * Copyright (c) 2016, The OpenThread Authors. 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 3. Neither the name of the copyright holder nor the 13 * names of its contributors may be used to endorse or promote products 14 * derived from this software without specific prior written permission. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 * POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 /** 30 * @file 31 * This file includes miscellaneous compile-time configuration constants for OpenThread. 32 */ 33 34 #ifndef CONFIG_MISC_H_ 35 #define CONFIG_MISC_H_ 36 37 /** 38 * @addtogroup config-misc 39 * 40 * @brief 41 * This module includes configuration variables for Miscellaneous constants. 42 * 43 * @{ 44 * 45 */ 46 47 #include "config/coap.h" 48 #include "config/srp_server.h" 49 50 /** 51 * @def OPENTHREAD_CONFIG_STACK_VENDOR_OUI 52 * 53 * The Organizationally Unique Identifier for the Thread stack. 54 * 55 */ 56 #ifndef OPENTHREAD_CONFIG_STACK_VENDOR_OUI 57 #define OPENTHREAD_CONFIG_STACK_VENDOR_OUI 0x18b430 58 #endif 59 60 /** 61 * @def OPENTHREAD_CONFIG_STACK_VERSION_REV 62 * 63 * The Stack Version Revision for the Thread stack. 64 * 65 */ 66 #ifndef OPENTHREAD_CONFIG_STACK_VERSION_REV 67 #define OPENTHREAD_CONFIG_STACK_VERSION_REV 0 68 #endif 69 70 /** 71 * @def OPENTHREAD_CONFIG_STACK_VERSION_MAJOR 72 * 73 * The Stack Version Major for the Thread stack. 74 * 75 */ 76 #ifndef OPENTHREAD_CONFIG_STACK_VERSION_MAJOR 77 #define OPENTHREAD_CONFIG_STACK_VERSION_MAJOR 0 78 #endif 79 80 /** 81 * @def OPENTHREAD_CONFIG_STACK_VERSION_MINOR 82 * 83 * The Stack Version Minor for the Thread stack. 84 * 85 */ 86 #ifndef OPENTHREAD_CONFIG_STACK_VERSION_MINOR 87 #define OPENTHREAD_CONFIG_STACK_VERSION_MINOR 1 88 #endif 89 90 /** 91 * @def OPENTHREAD_CONFIG_DEVICE_POWER_SUPPLY 92 * 93 * Specifies the default device power supply config. This config MUST use values from `otPowerSupply` enumeration. 94 * 95 * Device manufacturer can use this config to set the power supply config used by the device. This is then used as part 96 * of default `otDeviceProperties` to determine the Leader Weight used by the device. 97 * 98 */ 99 #ifndef OPENTHREAD_CONFIG_DEVICE_POWER_SUPPLY 100 #define OPENTHREAD_CONFIG_DEVICE_POWER_SUPPLY OT_POWER_SUPPLY_EXTERNAL 101 #endif 102 103 /** 104 * @def OPENTHREAD_CONFIG_ECDSA_ENABLE 105 * 106 * Define to 1 to enable ECDSA support. 107 * 108 */ 109 #ifndef OPENTHREAD_CONFIG_ECDSA_ENABLE 110 #define OPENTHREAD_CONFIG_ECDSA_ENABLE 0 111 #endif 112 113 /** 114 * @def OPENTHREAD_CONFIG_DETERMINISTIC_ECDSA_ENABLE 115 * 116 * Define to 1 to generate ECDSA signatures deterministically 117 * according to RFC 6979 instead of randomly. 118 * 119 */ 120 #ifndef OPENTHREAD_CONFIG_DETERMINISTIC_ECDSA_ENABLE 121 #define OPENTHREAD_CONFIG_DETERMINISTIC_ECDSA_ENABLE 1 122 #endif 123 124 /** 125 * @def OPENTHREAD_CONFIG_UPTIME_ENABLE 126 * 127 * Define to 1 to enable tracking the uptime of OpenThread instance. 128 * 129 */ 130 #ifndef OPENTHREAD_CONFIG_UPTIME_ENABLE 131 #define OPENTHREAD_CONFIG_UPTIME_ENABLE OPENTHREAD_FTD 132 #endif 133 134 /** 135 * @def OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 136 * 137 * Define to 1 to enable the Jam Detection service. 138 * 139 */ 140 #ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 141 #define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 0 142 #endif 143 144 /** 145 * @def OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 146 * 147 * Define to 1 to enable multiple instance support. 148 * 149 */ 150 #ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 151 #define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_ENABLE 0 152 #endif 153 154 /** 155 * @def OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE 156 * 157 * Define to 1 to enable multipan RCP support. 158 * 159 */ 160 #ifndef OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE 161 #define OPENTHREAD_CONFIG_MULTIPAN_RCP_ENABLE 0 162 #endif 163 164 /** 165 * @def OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 166 * 167 * Define to 1 to enable Thread Test Harness reference device support. 168 * 169 */ 170 #ifndef OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 171 #define OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 0 172 #endif 173 174 /** 175 * @def OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 176 * 177 * Define to 1 to enable UDP forward support. 178 * 179 */ 180 #ifndef OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 181 #define OPENTHREAD_CONFIG_UDP_FORWARD_ENABLE 0 182 #endif 183 184 /** 185 * @def OPENTHREAD_CONFIG_MESSAGE_USE_HEAP_ENABLE 186 * 187 * Whether use heap allocator for message buffers. 188 * 189 * @note If this is set, OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS is ignored. 190 * 191 */ 192 #ifndef OPENTHREAD_CONFIG_MESSAGE_USE_HEAP_ENABLE 193 #define OPENTHREAD_CONFIG_MESSAGE_USE_HEAP_ENABLE 0 194 #endif 195 196 /** 197 * @def OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 198 * 199 * The number of message buffers in the buffer pool. 200 * 201 */ 202 #ifndef OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 203 #define OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS 44 204 #endif 205 206 /** 207 * @def OPENTHREAD_CONFIG_MESSAGE_BUFFER_SIZE 208 * 209 * The size of a message buffer in bytes. 210 * 211 * Message buffers store pointers which have different sizes on different 212 * system. Setting message buffer size according to the CPU word length 213 * so that message buffer size will be doubled on 64bit system compared 214 * to that on 32bit system. As a result, the first message always have some 215 * bytes left for small packets. 216 * 217 * Some configuration options can increase the buffer size requirements, including 218 * OPENTHREAD_CONFIG_MLE_MAX_CHILDREN and OPENTHREAD_CONFIG_COAP_BLOCKWISE_TRANSFER_ENABLE. 219 * 220 */ 221 #ifndef OPENTHREAD_CONFIG_MESSAGE_BUFFER_SIZE 222 #define OPENTHREAD_CONFIG_MESSAGE_BUFFER_SIZE (sizeof(void *) * 32) 223 #endif 224 225 /** 226 * @def OPENTHREAD_CONFIG_DEFAULT_TRANSMIT_POWER 227 * 228 * The default IEEE 802.15.4 transmit power (dBm). 229 * 230 */ 231 #ifndef OPENTHREAD_CONFIG_DEFAULT_TRANSMIT_POWER 232 #define OPENTHREAD_CONFIG_DEFAULT_TRANSMIT_POWER 0 233 #endif 234 235 /** 236 * @def OPENTHREAD_CONFIG_JOINER_UDP_PORT 237 * 238 * The default Joiner UDP port. 239 * 240 */ 241 #ifndef OPENTHREAD_CONFIG_JOINER_UDP_PORT 242 #define OPENTHREAD_CONFIG_JOINER_UDP_PORT 1000 243 #endif 244 245 /** 246 * @def OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS 247 * 248 * The maximum number of state-changed callback handlers (set using `otSetStateChangedCallback()`). 249 * 250 */ 251 #ifndef OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS 252 #define OPENTHREAD_CONFIG_MAX_STATECHANGE_HANDLERS 1 253 #endif 254 255 /** 256 * @def OPENTHREAD_CONFIG_STORE_FRAME_COUNTER_AHEAD 257 * 258 * The value ahead of the current frame counter for persistent storage. 259 * 260 */ 261 #ifndef OPENTHREAD_CONFIG_STORE_FRAME_COUNTER_AHEAD 262 #define OPENTHREAD_CONFIG_STORE_FRAME_COUNTER_AHEAD 1000 263 #endif 264 265 /** 266 * @def OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS 267 * 268 * Define as 1 to enable builtin-mbedtls. 269 * 270 * Note that the OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS determines whether to use builtin-mbedtls as well as 271 * whether to manage mbedTLS internally, such as memory allocation and debug. 272 * 273 */ 274 #ifndef OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS 275 #define OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS 1 276 #endif 277 278 /** 279 * @def OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS_MANAGEMENT 280 * 281 * Define as 1 to enable builtin mbedtls management. 282 * 283 * OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS_MANAGEMENT determines whether to manage mbedTLS memory 284 * allocation and debug config internally. If not configured, the default is to enable builtin 285 * management if builtin mbedtls is enabled and disable it otherwise. 286 * 287 */ 288 #ifndef OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS_MANAGEMENT 289 #define OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS_MANAGEMENT OPENTHREAD_CONFIG_ENABLE_BUILTIN_MBEDTLS 290 #endif 291 292 /** 293 * @def OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE 294 * 295 * The size of heap buffer when DTLS is enabled. 296 * 297 */ 298 #ifndef OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE 299 #if OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 300 // Internal heap doesn't support size larger than 64K bytes. 301 #define OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE (63 * 1024) 302 #elif OPENTHREAD_CONFIG_COAP_SECURE_API_ENABLE 303 #define OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE (3136 * sizeof(void *)) 304 #else 305 #define OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE (1616 * sizeof(void *)) 306 #endif 307 #endif 308 309 /** 310 * @def OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE_NO_DTLS 311 * 312 * The size of heap buffer when DTLS is disabled. 313 * 314 */ 315 #ifndef OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE_NO_DTLS 316 #if OPENTHREAD_CONFIG_SRP_SERVER_ENABLE 317 // Internal heap doesn't support size larger than 64K bytes. 318 #define OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE_NO_DTLS (63 * 1024) 319 #elif OPENTHREAD_CONFIG_ECDSA_ENABLE 320 #define OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE_NO_DTLS 2600 321 #else 322 #define OPENTHREAD_CONFIG_HEAP_INTERNAL_SIZE_NO_DTLS 384 323 #endif 324 #endif 325 326 /** 327 * @def OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 328 * 329 * Enable the external heap. 330 * 331 */ 332 #ifndef OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 333 #define OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE 0 334 #endif 335 336 /** 337 * @def OPENTHREAD_CONFIG_DTLS_APPLICATION_DATA_MAX_LENGTH 338 * 339 * The size of dtls application data when the CoAP Secure API is enabled. 340 * 341 */ 342 #ifndef OPENTHREAD_CONFIG_DTLS_APPLICATION_DATA_MAX_LENGTH 343 #define OPENTHREAD_CONFIG_DTLS_APPLICATION_DATA_MAX_LENGTH 1400 344 #endif 345 346 /** 347 * @def OPENTHREAD_CONFIG_ASSERT_ENABLE 348 * 349 * Define as 1 to enable assert function `OT_ASSERT()` within OpenThread code and its libraries. 350 * 351 */ 352 #ifndef OPENTHREAD_CONFIG_ASSERT_ENABLE 353 #define OPENTHREAD_CONFIG_ASSERT_ENABLE 1 354 #endif 355 356 /** 357 * @def OPENTHREAD_CONFIG_ASSERT_CHECK_API_POINTER_PARAM_FOR_NULL 358 * 359 * Define as 1 to enable assert check of pointer-type API input parameters against null. 360 * 361 * Enabling this feature can increase code-size significantly due to many assert checks added for all API pointer 362 * parameters. It is recommended to enable and use this feature during debugging only. 363 * 364 */ 365 #ifndef OPENTHREAD_CONFIG_ASSERT_CHECK_API_POINTER_PARAM_FOR_NULL 366 #define OPENTHREAD_CONFIG_ASSERT_CHECK_API_POINTER_PARAM_FOR_NULL 0 367 #endif 368 369 /** 370 * @def OPENTHREAD_CONFIG_ENABLE_DEBUG_UART 371 * 372 * Enable the "Debug Uart" platform feature. 373 * 374 * In the embedded world, the CLI application uses a UART as a console 375 * and the NCP application can be configured to use either a UART or 376 * a SPI type device to transfer data to the host. 377 * 378 * The Debug UART is or requires a second uart on the platform. 379 * 380 * The Debug Uart has two uses: 381 * 382 * Use #1 - for random 'debug printf' type messages a developer may need 383 * Use #2 (selected via DEBUG_LOG_OUTPUT) is a log output. 384 * 385 * See #include <openthread/platform/debug_uart.h> for more details 386 */ 387 #ifndef OPENTHREAD_CONFIG_ENABLE_DEBUG_UART 388 #define OPENTHREAD_CONFIG_ENABLE_DEBUG_UART 0 389 #endif 390 391 /** 392 * @def OPENTHREAD_CONFIG_POSIX_SETTINGS_PATH 393 * 394 * The settings storage path on posix platform. 395 * 396 */ 397 #ifndef OPENTHREAD_CONFIG_POSIX_SETTINGS_PATH 398 #define OPENTHREAD_CONFIG_POSIX_SETTINGS_PATH "tmp" 399 #endif 400 401 /** 402 * @def OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE 403 * 404 * Define to 1 to enable otPlatFlash* APIs to support non-volatile storage. 405 * 406 * When defined to 1, the platform MUST implement the otPlatFlash* APIs instead of the otPlatSettings* APIs. 407 * 408 */ 409 #ifndef OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE 410 #define OPENTHREAD_CONFIG_PLATFORM_FLASH_API_ENABLE 0 411 #endif 412 413 /** 414 * @def OPENTHREAD_CONFIG_FAILED_CHILD_TRANSMISSIONS 415 * 416 * This setting configures the number of consecutive MCPS.DATA-Confirms having Status NO_ACK 417 * that cause a Child-to-Parent link to be considered broken. 418 * 419 */ 420 #ifndef OPENTHREAD_CONFIG_FAILED_CHILD_TRANSMISSIONS 421 #define OPENTHREAD_CONFIG_FAILED_CHILD_TRANSMISSIONS 4 422 #endif 423 424 /** 425 * @def OPENTHREAD_CONFIG_DEFAULT_SED_BUFFER_SIZE 426 * 427 * Specifies the value used in emitted Connectivity TLV "Rx-off Child Buffer Size" field which indicates the 428 * guaranteed buffer capacity for all IPv6 datagrams destined to a given rx-off-when-idle child. 429 * 430 * Changing this config does not automatically adjust message buffers. Vendors should ensure their device can support 431 * the specified value based on the message buffer model used: 432 * - OT internal message pool (refer to `OPENTHREAD_CONFIG_NUM_MESSAGE_BUFFERS` and `MESSAGE_BUFFER_SIZE`), or 433 * - Heap allocated message buffers (refer to `OPENTHREAD_CONFIG_MESSAGE_USE_HEAP_ENABLE), 434 * - Platform-specific message management (refer to`OPENTHREAD_CONFIG_PLATFORM_MESSAGE_MANAGEMENT`). 435 * 436 */ 437 #ifndef OPENTHREAD_CONFIG_DEFAULT_SED_BUFFER_SIZE 438 #define OPENTHREAD_CONFIG_DEFAULT_SED_BUFFER_SIZE 1280 439 #endif 440 441 /** 442 * @def OPENTHREAD_CONFIG_DEFAULT_SED_DATAGRAM_COUNT 443 * 444 * Specifies the value used in emitted Connectivity TLV "Rx-off Child Datagram Count" field which indicates the 445 * guaranteed queue capacity in number of IPv6 datagrams destined to a given rx-off-when-idle child. 446 * 447 * Similar to `OPENTHREAD_CONFIG_DEFAULT_SED_BUFFER_SIZE`, vendors should ensure their device can support the specified 448 * value based on the message buffer model used. 449 * 450 */ 451 #ifndef OPENTHREAD_CONFIG_DEFAULT_SED_DATAGRAM_COUNT 452 #define OPENTHREAD_CONFIG_DEFAULT_SED_DATAGRAM_COUNT 1 453 #endif 454 455 /** 456 * @def OPENTHREAD_CONFIG_PLATFORM_RADIO_PROPRIETARY_SUPPORT 457 * 458 * Define to 1 to support proprietary radio configurations defined by platform. 459 * 460 * @note If this setting is set to 1, the channel range is defined by the platform. Choosing this option requires 461 * the following configuration options to be defined by Platform: 462 * OPENTHREAD_CONFIG_PLATFORM_RADIO_PROPRIETARY_CHANNEL_PAGE, 463 * OPENTHREAD_CONFIG_PLATFORM_RADIO_PROPRIETARY_CHANNEL_MIN, 464 * OPENTHREAD_CONFIG_PLATFORM_RADIO_PROPRIETARY_CHANNEL_MAX and, 465 * OPENTHREAD_CONFIG_PLATFORM_RADIO_PROPRIETARY_CHANNEL_MASK. 466 * 467 * @def OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT 468 * 469 * Define to 1 to support OQPSK modulation in 915MHz frequency band. The physical layer parameters are defined in 470 * section 6 of IEEE802.15.4-2006. 471 * 472 * @note If this setting is set to 1, the IEEE 802.15.4 channel range is 1 to 10. 473 * 474 * @def OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT 475 * 476 * Define to 1 to support OQPSK modulation in 2.4GHz frequency band. The physical layer parameters are defined in 477 * section 6 of IEEE802.15.4-2006. 478 * 479 * @note If this settings is set to 1, the IEEE 802.15.4 channel range is 11 to 26. 480 * 481 * @note At least one of these settings must be set to 1. The platform must support the modulation and frequency 482 * band configured by the setting. 483 */ 484 #ifndef OPENTHREAD_CONFIG_PLATFORM_RADIO_PROPRIETARY_SUPPORT 485 #ifndef OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT 486 #ifndef OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT 487 #define OPENTHREAD_CONFIG_PLATFORM_RADIO_PROPRIETARY_SUPPORT 0 488 #define OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT 0 489 #define OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT 1 490 #endif 491 #endif 492 #endif 493 494 /** 495 * @def OPENTHREAD_CONFIG_DEFAULT_CHANNEL 496 * 497 * The default IEEE 802.15.4 channel. 498 * 499 */ 500 #ifndef OPENTHREAD_CONFIG_DEFAULT_CHANNEL 501 #if OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT 502 #define OPENTHREAD_CONFIG_DEFAULT_CHANNEL 11 503 #else 504 #if OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT 505 #define OPENTHREAD_CONFIG_DEFAULT_CHANNEL 1 506 #endif // OPENTHREAD_CONFIG_RADIO_915MHZ_OQPSK_SUPPORT 507 #endif // OPENTHREAD_CONFIG_RADIO_2P4GHZ_OQPSK_SUPPORT 508 #endif // OPENTHREAD_CONFIG_DEFAULT_CHANNEL 509 510 /** 511 * @def OPENTHREAD_CONFIG_OTNS_ENABLE 512 * 513 * Define to 1 to enable OTNS interactions. 514 * 515 */ 516 #ifndef OPENTHREAD_CONFIG_OTNS_ENABLE 517 #define OPENTHREAD_CONFIG_OTNS_ENABLE 0 518 #endif 519 520 /** 521 * @def OPENTHREAD_CONFIG_DUA_ENABLE 522 * 523 * Define as 1 to support Thread 1.2 Domain Unicast Address feature. 524 * 525 */ 526 #ifndef OPENTHREAD_CONFIG_DUA_ENABLE 527 #define OPENTHREAD_CONFIG_DUA_ENABLE 0 528 #endif 529 530 /** 531 * @def OPENTHREAD_CONFIG_MLR_ENABLE 532 * 533 * Define as 1 to support Thread 1.2 Multicast Listener Registration feature. 534 * 535 */ 536 #ifndef OPENTHREAD_CONFIG_MLR_ENABLE 537 #define OPENTHREAD_CONFIG_MLR_ENABLE 0 538 #endif 539 540 /** 541 * @def OPENTHREAD_CONFIG_NEIGHBOR_DISCOVERY_AGENT_ENABLE 542 * 543 * Define as 1 to enable support for Neighbor Discover Agent. 544 * 545 */ 546 #ifndef OPENTHREAD_CONFIG_NEIGHBOR_DISCOVERY_AGENT_ENABLE 547 #define OPENTHREAD_CONFIG_NEIGHBOR_DISCOVERY_AGENT_ENABLE 0 548 #endif 549 550 /** 551 * @def OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 552 * 553 * Define to 1 to enable multiple static instance support. 554 * 555 */ 556 #ifndef OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 557 #define OPENTHREAD_CONFIG_MULTIPLE_STATIC_INSTANCE_ENABLE 0 558 #endif 559 560 /** 561 * @def OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM 562 * 563 * Define number of OpenThread instance for static allocation buffer. 564 * 565 */ 566 #ifndef OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM 567 #define OPENTHREAD_CONFIG_MULTIPLE_INSTANCE_NUM 3 568 #endif 569 570 /** 571 * @def OPENTHREAD_CONFIG_ALLOW_EMPTY_NETWORK_NAME 572 * 573 * Define as 1 to enable support for an empty network name (zero-length: "") 574 * 575 */ 576 #ifndef OPENTHREAD_CONFIG_ALLOW_EMPTY_NETWORK_NAME 577 #define OPENTHREAD_CONFIG_ALLOW_EMPTY_NETWORK_NAME 0 578 #endif 579 580 /** 581 * @def OPENTHREAD_CONFIG_OPERATIONAL_DATASET_AUTO_INIT 582 * 583 * Define as 1 to enable support for locally initializing an Active Operational Dataset. 584 * 585 * @note This functionality is deprecated and not recommended. 586 * 587 */ 588 #ifndef OPENTHREAD_CONFIG_OPERATIONAL_DATASET_AUTO_INIT 589 #define OPENTHREAD_CONFIG_OPERATIONAL_DATASET_AUTO_INIT 0 590 #endif 591 592 /** 593 * @def OPENTHREAD_CONFIG_BLE_TCAT_ENABLE 594 * 595 * Define to 1 to enable TCAT over BLE support. 596 * 597 */ 598 #ifndef OPENTHREAD_CONFIG_BLE_TCAT_ENABLE 599 #define OPENTHREAD_CONFIG_BLE_TCAT_ENABLE 0 600 #endif 601 602 /** 603 * @def OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE 604 * 605 * Define to 1 to enable crash dump logging. 606 * 607 * On platforms that support crash dump logging, this feature will log a crash dump using the OT Debug Log service. 608 * 609 * Logging a crash dump requires the platform to implement the `otPlatLogCrashDump()` function. 610 * 611 */ 612 #ifndef OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE 613 #define OPENTHREAD_CONFIG_PLATFORM_LOG_CRASH_DUMP_ENABLE 0 614 #endif 615 616 /** 617 * @} 618 * 619 */ 620 621 #endif // CONFIG_MISC_H_ 622