Kconfig.in 51 KB

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