1if BLE_MESH 2 3 config BLE_MESH_HCI_5_0 4 bool "Support sending 20ms non-connectable adv packets" 5 default y 6 help 7 It is a temporary solution and needs further modifications. 8 9 config BLE_MESH_RANDOM_ADV_INTERVAL 10 bool "Support using random adv interval for mesh packets" 11 select BT_BLE_HIGH_DUTY_ADV_INTERVAL if BT_BLUEDROID_ENABLED 12 select BT_NIMBLE_HIGH_DUTY_ADV_ITVL if BT_NIMBLE_ENABLED 13 default n 14 help 15 Enable this option to allow using random advertising interval 16 for mesh packets. And this could help avoid collision of 17 advertising packets. 18 19 config BLE_MESH_USE_DUPLICATE_SCAN 20 bool "Support Duplicate Scan in BLE Mesh" 21 select BTDM_BLE_SCAN_DUPL if IDF_TARGET_ESP32 22 select BTDM_BLE_MESH_SCAN_DUPL_EN if IDF_TARGET_ESP32 23 select BT_CTRL_BLE_SCAN_DUPL if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 24 select BT_CTRL_BLE_MESH_SCAN_DUPL_EN if IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 25 select BT_LE_SCAN_DUPL if IDF_TARGET_ESP32C6 || IDF_TARGET_ESP32H2 26 select BT_NIMBLE_VS_SUPPORT if BT_NIMBLE_ENABLED 27 default y 28 help 29 Enable this option to allow using specific duplicate scan filter 30 in BLE Mesh, and Scan Duplicate Type must be set by choosing the 31 option in the Bluetooth Controller section in menuconfig, which is 32 "Scan Duplicate By Device Address and Advertising Data". 33 34 choice BLE_MESH_MEM_ALLOC_MODE 35 prompt "Memory allocation strategy" 36 default BLE_MESH_MEM_ALLOC_MODE_INTERNAL 37 help 38 Allocation strategy for BLE Mesh stack, essentially provides ability to 39 allocate all required dynamic allocations from, 40 41 - Internal DRAM memory only 42 - External SPIRAM memory only 43 - Either internal or external memory based on default malloc() 44 behavior in ESP-IDF 45 - Internal IRAM memory wherever applicable else internal DRAM 46 47 Recommended mode here is always internal (*), since that is most preferred 48 from security perspective. But if application requirement does not 49 allow sufficient free internal memory then alternate mode can be 50 selected. 51 52 (*) In case of ESP32-S2/ESP32-S3, hardware allows encryption of external 53 SPIRAM contents provided hardware flash encryption feature is enabled. 54 In that case, using external SPIRAM allocation strategy is also safe choice 55 from security perspective. 56 57 config BLE_MESH_MEM_ALLOC_MODE_INTERNAL 58 bool "Internal DRAM" 59 60 config BLE_MESH_MEM_ALLOC_MODE_EXTERNAL 61 bool "External SPIRAM" 62 depends on SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC 63 64 config BLE_MESH_MEM_ALLOC_MODE_DEFAULT 65 bool "Default alloc mode" 66 help 67 Enable this option to use the default memory allocation strategy when 68 external SPIRAM is enabled. See the SPIRAM options for more details. 69 70 config BLE_MESH_MEM_ALLOC_MODE_IRAM_8BIT 71 bool "Internal IRAM" 72 depends on ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY 73 help 74 Allows to use IRAM memory region as 8bit accessible region. Every 75 unaligned (8bit or 16bit) access will result in an exception and 76 incur penalty of certain clock cycles per unaligned read/write. 77 78 endchoice # BLE_MESH_MEM_ALLOC_MODE 79 80 config BLE_MESH_FREERTOS_STATIC_ALLOC 81 bool "Enable FreeRTOS static allocation" 82 depends on FREERTOS_SUPPORT_STATIC_ALLOCATION && ((IDF_TARGET_ESP32 && SPIRAM) || ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY) # NOERROR 83 default n 84 help 85 Enable this option to use FreeRTOS static allocation APIs for BLE Mesh, 86 which provides the ability to use different dynamic memory (i.e. SPIRAM 87 or IRAM) for FreeRTOS objects. 88 If this option is disabled, the FreeRTOS static allocation APIs will not 89 be used, and internal DRAM will be allocated for FreeRTOS objects. 90 91 choice BLE_MESH_FREERTOS_STATIC_ALLOC_MODE 92 prompt "Memory allocation for FreeRTOS objects" 93 depends on BLE_MESH_FREERTOS_STATIC_ALLOC 94 help 95 Choose the memory to be used for FreeRTOS objects. 96 97 config BLE_MESH_FREERTOS_STATIC_ALLOC_EXTERNAL 98 bool "External SPIRAM" 99 depends on IDF_TARGET_ESP32 && SPIRAM 100 help 101 If enabled, BLE Mesh allocates dynamic memory from external SPIRAM for 102 FreeRTOS objects, i.e. mutex, queue, and task stack. External SPIRAM 103 can only be used for task stack when SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY 104 is enabled. See the SPIRAM options for more details. 105 106 config BLE_MESH_FREERTOS_STATIC_ALLOC_IRAM_8BIT 107 bool "Internal IRAM" 108 depends on ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY 109 help 110 If enabled, BLE Mesh allocates dynamic memory from internal IRAM for 111 FreeRTOS objects, i.e. mutex, queue. Note: IRAM region cannot be used 112 as task stack. 113 114 endchoice # BLE_MESH_FREERTOS_STATIC_ALLOC_MODE 115 116 config BLE_MESH_DEINIT 117 bool "Support de-initialize BLE Mesh stack" 118 default y 119 help 120 If enabled, users can use the function esp_ble_mesh_deinit() to de-initialize 121 the whole BLE Mesh stack. 122 123 menu "BLE Mesh and BLE coexistence support" 124 125 config BLE_MESH_SUPPORT_BLE_ADV 126 bool "Support sending normal BLE advertising packets" 127 default n 128 help 129 When selected, users can send normal BLE advertising packets 130 with specific API. 131 132 if BLE_MESH_SUPPORT_BLE_ADV 133 134 config BLE_MESH_BLE_ADV_BUF_COUNT 135 int "Number of advertising buffers for BLE advertising packets" 136 default 3 137 range 1 255 138 help 139 Number of advertising buffers for BLE packets available. 140 141 endif # BLE_MESH_SUPPORT_BLE_ADV 142 143 config BLE_MESH_SUPPORT_BLE_SCAN 144 bool "Support scanning normal BLE advertising packets" 145 default n 146 help 147 When selected, users can register a callback and receive normal BLE 148 advertising packets in the application layer. 149 150 endmenu # BLE Mesh and BLE coexistence support 151 152 config BLE_MESH_FAST_PROV 153 bool "Enable BLE Mesh Fast Provisioning" 154 select BLE_MESH_NODE 155 select BLE_MESH_PROVISIONER 156 select BLE_MESH_PB_ADV 157 default n 158 help 159 Enable this option to allow BLE Mesh fast provisioning solution to be used. 160 When there are multiple unprovisioned devices around, fast provisioning can 161 greatly reduce the time consumption of the whole provisioning process. 162 When this option is enabled, and after an unprovisioned device is provisioned 163 into a node successfully, it can be changed to a temporary Provisioner. 164 165 config BLE_MESH_NODE 166 bool "Support for BLE Mesh Node" 167 help 168 Enable the device to be provisioned into a node. This option should be 169 enabled when an unprovisioned device is going to be provisioned into a 170 node and communicate with other nodes in the BLE Mesh network. 171 172 config BLE_MESH_PROVISIONER 173 bool "Support for BLE Mesh Provisioner" 174 help 175 Enable the device to be a Provisioner. The option should be enabled when 176 a device is going to act as a Provisioner and provision unprovisioned 177 devices into the BLE Mesh network. 178 179 if BLE_MESH_PROVISIONER 180 181 config BLE_MESH_WAIT_FOR_PROV_MAX_DEV_NUM 182 int "Maximum number of unprovisioned devices that can be added to device queue" 183 default 10 184 range 1 100 185 help 186 This option specifies how many unprovisioned devices can be added to device 187 queue for provisioning. Users can use this option to define the size of the 188 queue in the bottom layer which is used to store unprovisioned device 189 information (e.g. Device UUID, address). 190 191 config BLE_MESH_MAX_PROV_NODES 192 int "Maximum number of devices that can be provisioned by Provisioner" 193 default 10 194 range 1 1000 195 help 196 This option specifies how many devices can be provisioned by a Provisioner. 197 This value indicates the maximum number of unprovisioned devices which can be 198 provisioned by a Provisioner. For instance, if the value is 6, it means the 199 Provisioner can provision up to 6 unprovisioned devices. 200 Theoretically a Provisioner without the limitation of its memory can provision 201 up to 32766 unprovisioned devices, here we limit the maximum number to 100 202 just to limit the memory used by a Provisioner. The bigger the value is, the 203 more memory it will cost by a Provisioner to store the information of nodes. 204 205 if BLE_MESH_PB_ADV 206 config BLE_MESH_PBA_SAME_TIME 207 int "Maximum number of PB-ADV running at the same time by Provisioner" 208 default 2 209 range 1 10 210 help 211 This option specifies how many devices can be provisioned at the same time 212 using PB-ADV. For examples, if the value is 2, it means a Provisioner can 213 provision two unprovisioned devices with PB-ADV at the same time. 214 215 endif # BLE_MESH_PB_ADV 216 217 if BLE_MESH_PB_GATT 218 config BLE_MESH_PBG_SAME_TIME 219 int "Maximum number of PB-GATT running at the same time by Provisioner" 220 default 1 221 range 1 5 222 help 223 This option specifies how many devices can be provisioned at the same 224 time using PB-GATT. For example, if the value is 2, it means a Provisioner 225 can provision two unprovisioned devices with PB-GATT at the same time. 226 227 endif # BLE_MESH_PB_GATT 228 229 config BLE_MESH_PROVISIONER_SUBNET_COUNT 230 int "Maximum number of mesh subnets that can be created by Provisioner" 231 default 3 232 range 1 4096 233 help 234 This option specifies how many subnets per network a Provisioner can create. 235 Indeed, this value decides the number of network keys which can be added by a Provisioner. 236 237 config BLE_MESH_PROVISIONER_APP_KEY_COUNT 238 int "Maximum number of application keys that can be owned by Provisioner" 239 default 3 240 range 1 4096 241 help 242 This option specifies how many application keys the Provisioner can have. 243 Indeed, this value decides the number of the application keys which can be added by a Provisioner. 244 245 config BLE_MESH_PROVISIONER_RECV_HB 246 bool "Support receiving Heartbeat messages" 247 default n 248 help 249 When this option is enabled, Provisioner can call specific functions to enable 250 or disable receiving Heartbeat messages and notify them to the application layer. 251 252 if BLE_MESH_PROVISIONER_RECV_HB 253 254 config BLE_MESH_PROVISIONER_RECV_HB_FILTER_SIZE 255 int "Maximum number of filter entries for receiving Heartbeat messages" 256 default 3 257 range 1 1000 258 help 259 This option specifies how many heartbeat filter entries Provisioner supports. 260 The heartbeat filter (acceptlist or rejectlist) entries are used to store a 261 list of SRC and DST which can be used to decide if a heartbeat message will 262 be processed and notified to the application layer by Provisioner. 263 Note: The filter is an empty rejectlist by default. 264 265 endif # BLE_MESH_PROVISIONER_RECV_HB 266 267 endif # BLE_MESH_PROVISIONER 268 269 # Virtual option enabled whenever Generic Provisioning layer is needed 270 config BLE_MESH_PROV 271 bool "BLE Mesh Provisioning support" 272 default y 273 help 274 Enable this option to support BLE Mesh Provisioning functionality. For 275 BLE Mesh, this option should be always enabled. 276 277 config BLE_MESH_PB_ADV 278 bool "Provisioning support using the advertising bearer (PB-ADV)" 279 select BLE_MESH_PROV 280 default y 281 help 282 Enable this option to allow the device to be provisioned over the 283 advertising bearer. This option should be enabled if PB-ADV is 284 going to be used during provisioning procedure. 285 286 config BLE_MESH_UNPROVISIONED_BEACON_INTERVAL 287 int "Interval between two consecutive Unprovisioned Device Beacon" 288 depends on BLE_MESH_NODE && BLE_MESH_PB_ADV 289 default 5 290 default 3 if BLE_MESH_FAST_PROV 291 range 1 100 292 help 293 This option specifies the interval of sending two consecutive unprovisioned 294 device beacon, users can use this option to change the frequency of sending 295 unprovisioned device beacon. For example, if the value is 5, it means the 296 unprovisioned device beacon will send every 5 seconds. When the option of 297 BLE_MESH_FAST_PROV is selected, the value is better to be 3 seconds, or less. 298 299 config BLE_MESH_PB_GATT 300 bool "Provisioning support using GATT (PB-GATT)" 301 select BLE_MESH_PROXY 302 select BLE_MESH_PROV 303 help 304 Enable this option to allow the device to be provisioned over GATT. 305 This option should be enabled if PB-GATT is going to be used during 306 provisioning procedure. 307 308 # Virtual option enabled whenever any Proxy protocol is needed 309 config BLE_MESH_PROXY 310 bool "BLE Mesh Proxy protocol support" 311 default y 312 help 313 Enable this option to support BLE Mesh Proxy protocol used by PB-GATT 314 and other proxy pdu transmission. 315 316 config BLE_MESH_GATT_PROXY_SERVER 317 bool "BLE Mesh GATT Proxy Server" 318 select BLE_MESH_PROXY 319 depends on BLE_MESH_NODE 320 default y 321 help 322 This option enables support for Mesh GATT Proxy Service, i.e. the 323 ability to act as a proxy between a Mesh GATT Client and a Mesh network. 324 This option should be enabled if a node is going to be a Proxy Server. 325 326 config BLE_MESH_NODE_ID_TIMEOUT 327 int "Node Identity advertising timeout" 328 depends on BLE_MESH_GATT_PROXY_SERVER 329 range 1 60 330 default 60 331 help 332 This option determines for how long the local node advertises using 333 Node Identity. The given value is in seconds. The specification limits 334 this to 60 seconds and lists it as the recommended value as well. 335 So leaving the default value is the safest option. 336 When an unprovisioned device is provisioned successfully and becomes a 337 node, it will start to advertise using Node Identity during the time 338 set by this option. And after that, Network ID will be advertised. 339 340 config BLE_MESH_PROXY_FILTER_SIZE 341 int "Maximum number of filter entries per Proxy Client" 342 depends on BLE_MESH_GATT_PROXY_SERVER 343 default 4 344 range 1 32767 345 help 346 This option specifies how many Proxy Filter entries the local node supports. 347 The entries of Proxy filter (whitelist or blacklist) are used to store a 348 list of addresses which can be used to decide which messages will be forwarded 349 to the Proxy Client by the Proxy Server. 350 351 config BLE_MESH_GATT_PROXY_CLIENT 352 bool "BLE Mesh GATT Proxy Client" 353 select BLE_MESH_PROXY 354 default n 355 help 356 This option enables support for Mesh GATT Proxy Client. The Proxy Client 357 can use the GATT bearer to send mesh messages to a node that supports the 358 advertising bearer. 359 360 config BLE_MESH_NET_BUF_POOL_USAGE 361 bool 362 default y 363 help 364 Enable BLE Mesh net buffer pool tracking. This option is used to introduce another 365 variable in the bottom layer to record the usage of advertising buffers of BLE Mesh 366 devices. Recommend to enable this option as default. 367 368 config BLE_MESH_SETTINGS 369 bool "Store BLE Mesh configuration persistently" 370 default n 371 help 372 When selected, the BLE Mesh stack will take care of storing/restoring the BLE 373 Mesh configuration persistently in flash. 374 If the device is a BLE Mesh node, when this option is enabled, the configuration 375 of the device will be stored persistently, including unicast address, NetKey, 376 AppKey, etc. 377 And if the device is a BLE Mesh Provisioner, the information of the device will 378 be stored persistently, including the information of provisioned nodes, NetKey, 379 AppKey, etc. 380 381 if BLE_MESH_SETTINGS 382 383 config BLE_MESH_STORE_TIMEOUT 384 int "Delay (in seconds) before storing anything persistently" 385 range 0 1000000 386 default 0 387 help 388 This value defines in seconds how soon any pending changes are actually 389 written into persistent storage (flash) after a change occurs. 390 The option allows nodes to delay a certain period of time to save proper 391 information to flash. The default value is 0, which means information 392 will be stored immediately once there are updates. 393 394 config BLE_MESH_SEQ_STORE_RATE 395 int "How often the sequence number gets updated in storage" 396 range 0 1000000 397 default 0 398 help 399 This value defines how often the local sequence number gets updated in 400 persistent storage (i.e. flash). e.g. a value of 100 means that the 401 sequence number will be stored to flash on every 100th increment. 402 If the node sends messages very frequently a higher value makes more 403 sense, whereas if the node sends infrequently a value as low as 0 404 (update storage for every increment) can make sense. When the stack 405 gets initialized it will add sequence number to the last stored one, 406 so that it starts off with a value that's guaranteed to be larger than 407 the last one used before power off. 408 409 config BLE_MESH_RPL_STORE_TIMEOUT 410 int "Minimum frequency that the RPL gets updated in storage" 411 range 0 1000000 412 default 0 413 help 414 This value defines in seconds how soon the RPL (Replay Protection List) 415 gets written to persistent storage after a change occurs. If the node 416 receives messages frequently, then a large value is recommended. If the 417 node receives messages rarely, then the value can be as low as 0 (which 418 means the RPL is written into the storage immediately). 419 Note that if the node operates in a security-sensitive case, and there is 420 a risk of sudden power-off, then a value of 0 is strongly recommended. 421 Otherwise, a power loss before RPL being written into the storage may 422 introduce message replay attacks and system security will be in a 423 vulnerable state. 424 425 config BLE_MESH_SETTINGS_BACKWARD_COMPATIBILITY 426 bool "A specific option for settings backward compatibility" 427 depends on BLE_MESH_NODE 428 default n 429 help 430 This option is created to solve the issue of failure in recovering 431 node information after mesh stack updates. In the old version mesh 432 stack, there is no key of "mesh/role" in nvs. In the new version 433 mesh stack, key of "mesh/role" is added in nvs, recovering node 434 information needs to check "mesh/role" key in nvs and implements 435 selective recovery of mesh node information. Therefore, there may 436 be failure in recovering node information during node restarting 437 after OTA. 438 439 The new version mesh stack adds the option of "mesh/role" because 440 we have added the support of storing Provisioner information, while 441 the old version only supports storing node information. 442 443 If users are updating their nodes from old version to new version, 444 we recommend enabling this option, so that system could set the flag 445 in advance before recovering node information and make sure the node 446 information recovering could work as expected. 447 448 config BLE_MESH_SPECIFIC_PARTITION 449 bool "Use a specific NVS partition for BLE Mesh" 450 default n 451 help 452 When selected, the mesh stack will use a specified NVS partition instead of 453 default NVS partition. Note that the specified partition must be registered 454 with NVS using nvs_flash_init_partition() API, and the partition must exists 455 in the csv file. 456 When Provisioner needs to store a large amount of nodes' information in the 457 flash (e.g. more than 20), this option is recommended to be enabled. 458 459 config BLE_MESH_PARTITION_NAME 460 string "Name of the NVS partition for BLE Mesh" 461 depends on BLE_MESH_SPECIFIC_PARTITION 462 default "ble_mesh" 463 help 464 This value defines the name of the specified NVS partition used by the 465 mesh stack. 466 467 config BLE_MESH_USE_MULTIPLE_NAMESPACE 468 bool "Support using multiple NVS namespaces by Provisioner" 469 depends on BLE_MESH_PROVISIONER 470 default n 471 help 472 When selected, Provisioner can use different NVS namespaces to store 473 different instances of mesh information. 474 For example, if in the first room, Provisioner uses NetKey A, AppKey 475 A and provisions three devices, these information will be treated as 476 mesh information instance A. When the Provisioner moves to the second 477 room, it uses NetKey B, AppKey B and provisions two devices, then the 478 information will be treated as mesh information instance B. 479 Here instance A and instance B will be stored in different namespaces. 480 With this option enabled, Provisioner needs to use specific functions 481 to open the corresponding NVS namespace, restore the mesh information, 482 release the mesh information or erase the mesh information. 483 484 config BLE_MESH_MAX_NVS_NAMESPACE 485 int "Maximum number of NVS namespaces" 486 depends on BLE_MESH_USE_MULTIPLE_NAMESPACE 487 default 2 488 range 1 255 489 help 490 This option specifies the maximum NVS namespaces supported by Provisioner. 491 492 endif # if BLE_MESH_SETTINGS 493 494 config BLE_MESH_SUBNET_COUNT 495 int "Maximum number of mesh subnets per network" 496 default 3 497 range 1 4096 498 help 499 This option specifies how many subnets a Mesh network can have at the same time. 500 Indeed, this value decides the number of the network keys which can be owned by a node. 501 502 config BLE_MESH_APP_KEY_COUNT 503 int "Maximum number of application keys per network" 504 default 3 505 range 1 4096 506 help 507 This option specifies how many application keys the device can store per network. 508 Indeed, this value decides the number of the application keys which can be owned by a node. 509 510 config BLE_MESH_MODEL_KEY_COUNT 511 int "Maximum number of application keys per model" 512 default 3 513 range 1 4096 514 help 515 This option specifies the maximum number of application keys to which each model 516 can be bound. 517 518 config BLE_MESH_MODEL_GROUP_COUNT 519 int "Maximum number of group address subscriptions per model" 520 default 3 521 range 1 4096 522 help 523 This option specifies the maximum number of addresses to which each model can 524 be subscribed. 525 526 config BLE_MESH_LABEL_COUNT 527 int "Maximum number of Label UUIDs used for Virtual Addresses" 528 default 3 529 range 0 4096 530 help 531 This option specifies how many Label UUIDs can be stored. 532 Indeed, this value decides the number of the Virtual Addresses can be supported by a node. 533 534 config BLE_MESH_CRPL 535 int "Maximum capacity of the replay protection list" 536 default 10 537 range 2 65535 538 help 539 This option specifies the maximum capacity of the replay protection list. 540 It is similar to Network message cache size, but has a different purpose. 541 The replay protection list is used to prevent a node from replay attack, 542 which will store the source address and sequence number of the received 543 mesh messages. 544 For Provisioner, the replay protection list size should not be smaller than 545 the maximum number of nodes whose information can be stored. And the element 546 number of each node should also be taken into consideration. For example, if 547 Provisioner can provision up to 20 nodes and each node contains two elements, 548 then the replay protection list size of Provisioner should be at least 40. 549 550 config BLE_MESH_NOT_RELAY_REPLAY_MSG 551 bool "Not relay replayed messages in a mesh network" 552 depends on BLE_MESH_EXPERIMENTAL 553 default n 554 help 555 There may be many expired messages in a complex mesh network that would be 556 considered replayed messages. 557 Enable this option will refuse to relay such messages, which could help to 558 reduce invalid packets in the mesh network. 559 However, it should be noted that enabling this option may result in packet 560 loss in certain environments. 561 Therefore, users need to decide whether to enable this option according to 562 the actual usage situation. 563 564 config BLE_MESH_MSG_CACHE_SIZE 565 int "Network message cache size" 566 default 10 567 range 2 65535 568 help 569 Number of messages that are cached for the network. This helps prevent 570 unnecessary decryption operations and unnecessary relays. This option 571 is similar to Replay protection list, but has a different purpose. 572 A node is not required to cache the entire Network PDU and may cache 573 only part of it for tracking, such as values for SRC/SEQ or others. 574 575 config BLE_MESH_ADV_BUF_COUNT 576 int "Number of advertising buffers" 577 default 60 578 range 6 256 579 help 580 Number of advertising buffers available. The transport layer reserves 581 ADV_BUF_COUNT - 3 buffers for outgoing segments. The maximum outgoing 582 SDU size is 12 times this value (out of which 4 or 8 bytes are used 583 for the Transport Layer MIC). For example, 5 segments means the maximum 584 SDU size is 60 bytes, which leaves 56 bytes for application layer data 585 using a 4-byte MIC, or 52 bytes using an 8-byte MIC. 586 587 config BLE_MESH_IVU_DIVIDER 588 int "Divider for IV Update state refresh timer" 589 default 4 590 range 2 96 591 help 592 When the IV Update state enters Normal operation or IV Update 593 in Progress, we need to keep track of how many hours has passed 594 in the state, since the specification requires us to remain in 595 the state at least for 96 hours (Update in Progress has an 596 additional upper limit of 144 hours). 597 598 In order to fulfill the above requirement, even if the node might 599 be powered off once in a while, we need to store persistently 600 how many hours the node has been in the state. This doesn't 601 necessarily need to happen every hour (thanks to the flexible 602 duration range). The exact cadence will depend a lot on the 603 ways that the node will be used and what kind of power source it 604 has. 605 606 Since there is no single optimal answer, this configuration 607 option allows specifying a divider, i.e. how many intervals 608 the 96 hour minimum gets split into. After each interval the 609 duration that the node has been in the current state gets 610 stored to flash. E.g. the default value of 4 means that the 611 state is saved every 24 hours (96 / 4). 612 613 config BLE_MESH_IVU_RECOVERY_IVI 614 bool "Recovery the IV index when the latest whole IV update procedure is missed" 615 default n 616 help 617 According to Section 3.10.5 of Mesh Specification v1.0.1. 618 If a node in Normal Operation receives a Secure Network beacon with an IV index 619 equal to the last known IV index+1 and the IV Update Flag set to 0, the node may 620 update its IV without going to the IV Update in Progress state, or it may initiate 621 an IV Index Recovery procedure (Section 3.10.6), or it may ignore the Secure 622 Network beacon. The node makes the choice depending on the time since last IV 623 update and the likelihood that the node has missed the Secure Network beacons 624 with the IV update Flag. 625 When the above situation is encountered, this option can be used to decide whether 626 to perform the IV index recovery procedure. 627 628 config BLE_MESH_TX_SEG_MSG_COUNT 629 int "Maximum number of simultaneous outgoing segmented messages" 630 default 1 631 range 1 BLE_MESH_ADV_BUF_COUNT 632 help 633 Maximum number of simultaneous outgoing multi-segment and/or reliable messages. 634 The default value is 1, which means the device can only send one segmented 635 message at a time. And if another segmented message is going to be sent, it 636 should wait for the completion of the previous one. 637 If users are going to send multiple segmented messages at the same time, this 638 value should be configured properly. 639 640 config BLE_MESH_RX_SEG_MSG_COUNT 641 int "Maximum number of simultaneous incoming segmented messages" 642 default 1 643 range 1 255 644 help 645 Maximum number of simultaneous incoming multi-segment and/or reliable messages. 646 The default value is 1, which means the device can only receive one segmented 647 message at a time. And if another segmented message is going to be received, 648 it should wait for the completion of the previous one. 649 If users are going to receive multiple segmented messages at the same time, this 650 value should be configured properly. 651 652 config BLE_MESH_RX_SDU_MAX 653 int "Maximum incoming Upper Transport Access PDU length" 654 default 384 655 range 36 384 656 help 657 Maximum incoming Upper Transport Access PDU length. Leave this to the default 658 value, unless you really need to optimize memory usage. 659 660 config BLE_MESH_TX_SEG_MAX 661 int "Maximum number of segments in outgoing messages" 662 default 32 663 range 2 32 664 help 665 Maximum number of segments supported for outgoing messages. 666 This value should typically be fine-tuned based on what 667 models the local node supports, i.e. what's the largest 668 message payload that the node needs to be able to send. 669 This value affects memory and call stack consumption, which 670 is why the default is lower than the maximum that the 671 specification would allow (32 segments). 672 673 The maximum outgoing SDU size is 12 times this number (out of 674 which 4 or 8 bytes is used for the Transport Layer MIC). For 675 example, 5 segments means the maximum SDU size is 60 bytes, 676 which leaves 56 bytes for application layer data using a 677 4-byte MIC and 52 bytes using an 8-byte MIC. 678 679 Be sure to specify a sufficient number of advertising buffers 680 when setting this option to a higher value. There must be at 681 least three more advertising buffers (BLE_MESH_ADV_BUF_COUNT) 682 as there are outgoing segments. 683 684 config BLE_MESH_RELAY 685 bool "Relay support" 686 depends on BLE_MESH_NODE 687 default y 688 help 689 Support for acting as a Mesh Relay Node. Enabling this option will allow 690 a node to support the Relay feature, and the Relay feature can still 691 be enabled or disabled by proper configuration messages. Disabling this 692 option will let a node not support the Relay feature. 693 694 if BLE_MESH_RELAY 695 696 config BLE_MESH_RELAY_ADV_BUF 697 bool "Use separate advertising buffers for relay packets" 698 default n 699 help 700 When selected, self-send packets will be put in a high-priority 701 queue and relay packets will be put in a low-priority queue. 702 703 if BLE_MESH_RELAY_ADV_BUF 704 705 config BLE_MESH_RELAY_ADV_BUF_COUNT 706 int "Number of advertising buffers for relay packets" 707 default 60 708 range 6 256 709 help 710 Number of advertising buffers for relay packets available. 711 712 endif # BLE_MESH_RELAY_ADV_BUF 713 714 endif # BLE_MESH_RELAY 715 716 config BLE_MESH_LOW_POWER 717 bool "Support for Low Power features" 718 depends on BLE_MESH_NODE 719 help 720 Enable this option to operate as a Low Power Node. If low power consumption 721 is required by a node, this option should be enabled. And once the node 722 enters the mesh network, it will try to find a Friend node and establish a 723 friendship. 724 725 if BLE_MESH_LOW_POWER 726 727 config BLE_MESH_LPN_ESTABLISHMENT 728 bool "Perform Friendship establishment using low power" 729 default n 730 help 731 Perform the Friendship establishment using low power with the help of a 732 reduced scan duty cycle. The downside of this is that the node may miss 733 out on messages intended for it until it has successfully set up Friendship 734 with a Friend node. 735 When this option is enabled, the node will stop scanning for a period of 736 time after a Friend Request or Friend Poll is sent, so as to reduce more 737 power consumption. 738 739 config BLE_MESH_LPN_AUTO 740 bool "Automatically start looking for Friend nodes once provisioned" 741 default n 742 help 743 Once provisioned, automatically enable LPN functionality and start looking 744 for Friend nodes. If this option is disabled LPN mode needs to be manually 745 enabled by calling bt_mesh_lpn_set(true). 746 When an unprovisioned device is provisioned successfully and becomes a node, 747 enabling this option will trigger the node starts to send Friend Request at 748 a certain period until it finds a proper Friend node. 749 750 config BLE_MESH_LPN_AUTO_TIMEOUT 751 int "Time from last received message before going to LPN mode" 752 default 15 753 range 0 3600 754 depends on BLE_MESH_LPN_AUTO 755 help 756 Time in seconds from the last received message, that the node waits out 757 before starting to look for Friend nodes. 758 759 config BLE_MESH_LPN_RETRY_TIMEOUT 760 int "Retry timeout for Friend requests" 761 default 6 762 range 1 3600 763 help 764 Time in seconds between Friend Requests, if a previous Friend Request did 765 not yield any acceptable Friend Offers. 766 767 config BLE_MESH_LPN_RSSI_FACTOR 768 int "RSSIFactor, used in Friend Offer Delay calculation" 769 range 0 3 770 default 0 771 help 772 The contribution of the RSSI, measured by the Friend node, used in Friend 773 Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5. 774 RSSIFactor, one of the parameters carried by Friend Request sent by Low Power 775 node, which is used to calculate the Friend Offer Delay. 776 777 config BLE_MESH_LPN_RECV_WIN_FACTOR 778 int "ReceiveWindowFactor, used in Friend Offer Delay calculation" 779 range 0 3 780 default 0 781 help 782 The contribution of the supported Receive Window used in Friend Offer 783 Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5. 784 ReceiveWindowFactor, one of the parameters carried by Friend Request sent by 785 Low Power node, which is used to calculate the Friend Offer Delay. 786 787 config BLE_MESH_LPN_MIN_QUEUE_SIZE 788 int "Minimum size of the acceptable friend queue (MinQueueSizeLog)" 789 range 1 7 790 default 1 791 help 792 The MinQueueSizeLog field is defined as log_2(N), where N is the minimum 793 number of maximum size Lower Transport PDUs that the Friend node can store 794 in its Friend Queue. As an example, MinQueueSizeLog value 1 gives N = 2, 795 and value 7 gives N = 128. 796 797 config BLE_MESH_LPN_RECV_DELAY 798 int "Receive delay requested by the local node" 799 range 10 255 800 default 100 801 help 802 The ReceiveDelay is the time between the Low Power node sending a 803 request and listening for a response. This delay allows the Friend 804 node time to prepare the response. The value is in units of milliseconds. 805 806 config BLE_MESH_LPN_POLL_TIMEOUT 807 int "The value of the PollTimeout timer" 808 range 10 244735 809 default 300 810 help 811 PollTimeout timer is used to measure time between two consecutive 812 requests sent by a Low Power node. If no requests are received 813 the Friend node before the PollTimeout timer expires, then the 814 friendship is considered terminated. The value is in units of 100 815 milliseconds, so e.g. a value of 300 means 30 seconds. 816 The smaller the value, the faster the Low Power node tries to get 817 messages from corresponding Friend node and vice versa. 818 819 config BLE_MESH_LPN_INIT_POLL_TIMEOUT 820 int "The starting value of the PollTimeout timer" 821 range 10 BLE_MESH_LPN_POLL_TIMEOUT 822 default BLE_MESH_LPN_POLL_TIMEOUT 823 help 824 The initial value of the PollTimeout timer when Friendship is to be 825 established for the first time. After this, the timeout gradually 826 grows toward the actual PollTimeout, doubling in value for each iteration. 827 The value is in units of 100 milliseconds, so e.g. a value of 300 means 828 30 seconds. 829 830 config BLE_MESH_LPN_SCAN_LATENCY 831 int "Latency for enabling scanning" 832 range 0 50 833 default 10 834 help 835 Latency (in milliseconds) is the time it takes to enable scanning. In 836 practice, it means how much time in advance of the Receive Window, the 837 request to enable scanning is made. 838 839 config BLE_MESH_LPN_GROUPS 840 int "Number of groups the LPN can subscribe to" 841 range 0 16384 842 default 8 843 help 844 Maximum number of groups to which the LPN can subscribe. 845 846 config BLE_MESH_LPN_SUB_ALL_NODES_ADDR 847 bool "Automatically subscribe all nodes address" 848 default n 849 help 850 Automatically subscribe all nodes address when friendship 851 established. 852 853 endif # BLE_MESH_LOW_POWER 854 855 config BLE_MESH_FRIEND 856 bool "Support for Friend feature" 857 help 858 Enable this option to be able to act as a Friend Node. 859 860 if BLE_MESH_FRIEND 861 862 config BLE_MESH_FRIEND_RECV_WIN 863 int "Friend Receive Window" 864 range 1 255 865 default 255 866 help 867 Receive Window in milliseconds supported by the Friend node. 868 869 config BLE_MESH_FRIEND_QUEUE_SIZE 870 int "Minimum number of buffers supported per Friend Queue" 871 range 2 65536 872 default 16 873 help 874 Minimum number of buffers available to be stored for each local Friend Queue. 875 This option decides the size of each buffer which can be used by a Friend node 876 to store messages for each Low Power node. 877 878 config BLE_MESH_FRIEND_SUB_LIST_SIZE 879 int "Friend Subscription List Size" 880 range 0 1023 881 default 3 882 help 883 Size of the Subscription List that can be supported by a Friend node for a 884 Low Power node. And Low Power node can send Friend Subscription List Add or 885 Friend Subscription List Remove messages to the Friend node to add or remove 886 subscription addresses. 887 888 config BLE_MESH_FRIEND_LPN_COUNT 889 int "Number of supported LPN nodes" 890 range 1 1000 891 default 2 892 help 893 Number of Low Power Nodes with which a Friend can have Friendship simultaneously. 894 A Friend node can have friendship with multiple Low Power nodes at the same time, 895 while a Low Power node can only establish friendship with only one Friend node at 896 the same time. 897 898 config BLE_MESH_FRIEND_SEG_RX 899 int "Number of incomplete segment lists per LPN" 900 range 1 1000 901 default 1 902 help 903 Number of incomplete segment lists tracked for each Friends' LPN. 904 In other words, this determines from how many elements can segmented 905 messages destined for the Friend queue be received simultaneously. 906 907 endif # BLE_MESH_FRIEND 908 909 config BLE_MESH_NO_LOG 910 bool "Disable BLE Mesh debug logs (minimize bin size)" 911 depends on BLE_MESH 912 default n 913 help 914 Select this to save the BLE Mesh related rodata code size. Enabling this option 915 will disable the output of BLE Mesh debug log. 916 917 menu "BLE Mesh STACK DEBUG LOG LEVEL" 918 depends on BLE_MESH && !BLE_MESH_NO_LOG 919 920 choice BLE_MESH_STACK_TRACE_LEVEL 921 prompt "BLE_MESH_STACK" 922 default BLE_MESH_TRACE_LEVEL_WARNING 923 depends on BLE_MESH && !BLE_MESH_NO_LOG 924 help 925 Define BLE Mesh trace level for BLE Mesh stack. 926 927 config BLE_MESH_TRACE_LEVEL_NONE 928 bool "NONE" 929 config BLE_MESH_TRACE_LEVEL_ERROR 930 bool "ERROR" 931 config BLE_MESH_TRACE_LEVEL_WARNING 932 bool "WARNING" 933 config BLE_MESH_TRACE_LEVEL_INFO 934 bool "INFO" 935 config BLE_MESH_TRACE_LEVEL_DEBUG 936 bool "DEBUG" 937 config BLE_MESH_TRACE_LEVEL_VERBOSE 938 bool "VERBOSE" 939 endchoice 940 941 config BLE_MESH_STACK_TRACE_LEVEL 942 int 943 depends on BLE_MESH 944 default 0 if BLE_MESH_TRACE_LEVEL_NONE 945 default 1 if BLE_MESH_TRACE_LEVEL_ERROR 946 default 2 if BLE_MESH_TRACE_LEVEL_WARNING 947 default 3 if BLE_MESH_TRACE_LEVEL_INFO 948 default 4 if BLE_MESH_TRACE_LEVEL_DEBUG 949 default 5 if BLE_MESH_TRACE_LEVEL_VERBOSE 950 default 2 951 952 endmenu #BLE Mesh DEBUG LOG LEVEL 953 954 menu "BLE Mesh NET BUF DEBUG LOG LEVEL" 955 depends on BLE_MESH && !BLE_MESH_NO_LOG 956 957 choice BLE_MESH_NET_BUF_TRACE_LEVEL 958 prompt "BLE_MESH_NET_BUF" 959 default BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING 960 depends on BLE_MESH && !BLE_MESH_NO_LOG 961 help 962 Define BLE Mesh trace level for BLE Mesh net buffer. 963 964 config BLE_MESH_NET_BUF_TRACE_LEVEL_NONE 965 bool "NONE" 966 config BLE_MESH_NET_BUF_TRACE_LEVEL_ERROR 967 bool "ERROR" 968 config BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING 969 bool "WARNING" 970 config BLE_MESH_NET_BUF_TRACE_LEVEL_INFO 971 bool "INFO" 972 config BLE_MESH_NET_BUF_TRACE_LEVEL_DEBUG 973 bool "DEBUG" 974 config BLE_MESH_NET_BUF_TRACE_LEVEL_VERBOSE 975 bool "VERBOSE" 976 endchoice 977 978 config BLE_MESH_NET_BUF_TRACE_LEVEL 979 int 980 depends on BLE_MESH 981 default 0 if BLE_MESH_NET_BUF_TRACE_LEVEL_NONE 982 default 1 if BLE_MESH_NET_BUF_TRACE_LEVEL_ERROR 983 default 2 if BLE_MESH_NET_BUF_TRACE_LEVEL_WARNING 984 default 3 if BLE_MESH_NET_BUF_TRACE_LEVEL_INFO 985 default 4 if BLE_MESH_NET_BUF_TRACE_LEVEL_DEBUG 986 default 5 if BLE_MESH_NET_BUF_TRACE_LEVEL_VERBOSE 987 default 2 988 989 endmenu #BLE Mesh NET BUF DEBUG LOG LEVEL 990 991 config BLE_MESH_CLIENT_MSG_TIMEOUT 992 int "Timeout(ms) for client message response" 993 range 100 1200000 994 default 4000 995 help 996 Timeout value used by the node to get response of the acknowledged 997 message which is sent by the client model. 998 This value indicates the maximum time that a client model waits for 999 the response of the sent acknowledged messages. If a client model 1000 uses 0 as the timeout value when sending acknowledged messages, then 1001 the default value will be used which is four seconds. 1002 1003 menu "Support for BLE Mesh Foundation models" 1004 1005 config BLE_MESH_CFG_CLI 1006 bool "Configuration Client model" 1007 help 1008 Enable support for Configuration Client model. 1009 1010 config BLE_MESH_HEALTH_CLI 1011 bool "Health Client model" 1012 help 1013 Enable support for Health Client model. 1014 1015 config BLE_MESH_HEALTH_SRV 1016 bool "Health Server model" 1017 default y 1018 help 1019 Enable support for Health Server model. 1020 1021 endmenu #Support for BLE Mesh Foundation models 1022 1023 menu "Support for BLE Mesh Client/Server models" 1024 1025 config BLE_MESH_GENERIC_ONOFF_CLI 1026 bool "Generic OnOff Client model" 1027 help 1028 Enable support for Generic OnOff Client model. 1029 1030 config BLE_MESH_GENERIC_LEVEL_CLI 1031 bool "Generic Level Client model" 1032 help 1033 Enable support for Generic Level Client model. 1034 1035 config BLE_MESH_GENERIC_DEF_TRANS_TIME_CLI 1036 bool "Generic Default Transition Time Client model" 1037 help 1038 Enable support for Generic Default Transition Time Client model. 1039 1040 config BLE_MESH_GENERIC_POWER_ONOFF_CLI 1041 bool "Generic Power OnOff Client model" 1042 help 1043 Enable support for Generic Power OnOff Client model. 1044 1045 config BLE_MESH_GENERIC_POWER_LEVEL_CLI 1046 bool "Generic Power Level Client model" 1047 help 1048 Enable support for Generic Power Level Client model. 1049 1050 config BLE_MESH_GENERIC_BATTERY_CLI 1051 bool "Generic Battery Client model" 1052 help 1053 Enable support for Generic Battery Client model. 1054 1055 config BLE_MESH_GENERIC_LOCATION_CLI 1056 bool "Generic Location Client model" 1057 help 1058 Enable support for Generic Location Client model. 1059 1060 config BLE_MESH_GENERIC_PROPERTY_CLI 1061 bool "Generic Property Client model" 1062 help 1063 Enable support for Generic Property Client model. 1064 1065 config BLE_MESH_SENSOR_CLI 1066 bool "Sensor Client model" 1067 help 1068 Enable support for Sensor Client model. 1069 1070 config BLE_MESH_TIME_CLI 1071 bool "Time Client model" 1072 help 1073 Enable support for Time Client model. 1074 1075 config BLE_MESH_SCENE_CLI 1076 bool "Scene Client model" 1077 help 1078 Enable support for Scene Client model. 1079 1080 config BLE_MESH_SCHEDULER_CLI 1081 bool "Scheduler Client model" 1082 help 1083 Enable support for Scheduler Client model. 1084 1085 config BLE_MESH_LIGHT_LIGHTNESS_CLI 1086 bool "Light Lightness Client model" 1087 help 1088 Enable support for Light Lightness Client model. 1089 1090 config BLE_MESH_LIGHT_CTL_CLI 1091 bool "Light CTL Client model" 1092 help 1093 Enable support for Light CTL Client model. 1094 1095 config BLE_MESH_LIGHT_HSL_CLI 1096 bool "Light HSL Client model" 1097 help 1098 Enable support for Light HSL Client model. 1099 1100 config BLE_MESH_LIGHT_XYL_CLI 1101 bool "Light XYL Client model" 1102 help 1103 Enable support for Light XYL Client model. 1104 1105 config BLE_MESH_LIGHT_LC_CLI 1106 bool "Light LC Client model" 1107 help 1108 Enable support for Light LC Client model. 1109 1110 config BLE_MESH_GENERIC_SERVER 1111 bool "Generic server models" 1112 default y 1113 help 1114 Enable support for Generic server models. 1115 1116 config BLE_MESH_SENSOR_SERVER 1117 bool "Sensor server models" 1118 default y 1119 help 1120 Enable support for Sensor server models. 1121 1122 config BLE_MESH_TIME_SCENE_SERVER 1123 bool "Time and Scenes server models" 1124 default y 1125 help 1126 Enable support for Time and Scenes server models. 1127 1128 config BLE_MESH_LIGHTING_SERVER 1129 bool "Lighting server models" 1130 default y 1131 help 1132 Enable support for Lighting server models. 1133 1134 endmenu #Support for BLE Mesh Client/Server models 1135 1136 config BLE_MESH_IV_UPDATE_TEST 1137 bool "Test the IV Update Procedure" 1138 default n 1139 help 1140 This option removes the 96 hour limit of the IV Update Procedure and 1141 lets the state to be changed at any time. 1142 If IV Update test mode is going to be used, this option should be enabled. 1143 1144 config BLE_MESH_DISCARD_OLD_SEQ_AUTH 1145 bool 1146 default y 1147 help 1148 This option is used to decide whether discarding the old SeqAuth when 1149 receiving a segmented message. 1150 1151 menu "BLE Mesh specific test option" 1152 1153 config BLE_MESH_SELF_TEST 1154 bool "Perform BLE Mesh self-tests" 1155 default n 1156 help 1157 This option adds extra self-tests which are run every time BLE Mesh 1158 networking is initialized. 1159 1160 config BLE_MESH_BQB_TEST 1161 bool "Enable BLE Mesh specific internal test" 1162 default n 1163 help 1164 This option is used to enable some internal functions for auto-pts test. 1165 1166 config BLE_MESH_BQB_TEST_LOG 1167 bool 1168 depends on BLE_MESH_BQB_TEST 1169 default y 1170 help 1171 This option is used to enable the log of auto-pts test. 1172 1173 if BLE_MESH_SELF_TEST 1174 1175 config BLE_MESH_TEST_AUTO_ENTER_NETWORK 1176 bool "Unprovisioned device enters mesh network automatically" 1177 default y 1178 help 1179 With this option enabled, an unprovisioned device can automatically 1180 enters mesh network using a specific test function without the pro- 1181 visioning procedure. And on the Provisioner side, a test function 1182 needs to be invoked to add the node information into the mesh stack. 1183 1184 config BLE_MESH_TEST_USE_WHITE_LIST 1185 bool "Use white list to filter mesh advertising packets" 1186 default n 1187 help 1188 With this option enabled, users can use white list to filter mesh 1189 advertising packets while scanning. 1190 1191 endif # BLE_MESH_SELF_TEST 1192 1193 config BLE_MESH_SHELL 1194 bool "Enable BLE Mesh shell" 1195 default n 1196 help 1197 Activate shell module that provides BLE Mesh commands to the console. 1198 1199 config BLE_MESH_DEBUG 1200 bool "Enable BLE Mesh debug logs" 1201 default n 1202 help 1203 Enable debug logs for the BLE Mesh functionality. 1204 1205 if BLE_MESH_DEBUG 1206 1207 config BLE_MESH_DEBUG_NET 1208 bool "Network layer debug" 1209 help 1210 Enable Network layer debug logs for the BLE Mesh functionality. 1211 1212 config BLE_MESH_DEBUG_TRANS 1213 bool "Transport layer debug" 1214 help 1215 Enable Transport layer debug logs for the BLE Mesh functionality. 1216 1217 config BLE_MESH_DEBUG_BEACON 1218 bool "Beacon debug" 1219 help 1220 Enable Beacon-related debug logs for the BLE Mesh functionality. 1221 1222 config BLE_MESH_DEBUG_CRYPTO 1223 bool "Crypto debug" 1224 help 1225 Enable cryptographic debug logs for the BLE Mesh functionality. 1226 1227 config BLE_MESH_DEBUG_PROV 1228 bool "Provisioning debug" 1229 help 1230 Enable Provisioning debug logs for the BLE Mesh functionality. 1231 1232 config BLE_MESH_DEBUG_ACCESS 1233 bool "Access layer debug" 1234 help 1235 Enable Access layer debug logs for the BLE Mesh functionality. 1236 1237 config BLE_MESH_DEBUG_MODEL 1238 bool "Foundation model debug" 1239 help 1240 Enable Foundation Models debug logs for the BLE Mesh functionality. 1241 1242 config BLE_MESH_DEBUG_ADV 1243 bool "Advertising debug" 1244 help 1245 Enable advertising debug logs for the BLE Mesh functionality. 1246 1247 config BLE_MESH_DEBUG_LOW_POWER 1248 bool "Low Power debug" 1249 help 1250 Enable Low Power debug logs for the BLE Mesh functionality. 1251 1252 config BLE_MESH_DEBUG_FRIEND 1253 bool "Friend debug" 1254 help 1255 Enable Friend debug logs for the BLE Mesh functionality. 1256 1257 config BLE_MESH_DEBUG_PROXY 1258 bool "Proxy debug" 1259 depends on BLE_MESH_PROXY 1260 help 1261 Enable Proxy protocol debug logs for the BLE Mesh functionality. 1262 1263 endif # BLE_MESH_DEBUG 1264 1265 endmenu 1266 1267 config BLE_MESH_EXPERIMENTAL 1268 bool "Make BLE Mesh experimental features visible" 1269 default n 1270 help 1271 Make BLE Mesh Experimental features visible. 1272 Experimental features list: 1273 - CONFIG_BLE_MESH_NOT_RELAY_REPLAY_MSG 1274 1275endif # BLE_MESH 1276