Bluetooth: Mesh: Restructure Kconfig options

Current structure of Bluetooth Mesh Kconfig options is quite messy.
This makes impossible to understand which configuration belongs to
which feature. Especially when using interactive Kconfig interface, like
menuconfig or guiconfig.

This commit restructures the options grouping them by protocol layer
they belong to (Network, Transport, Access, etc.), or specific feature
(LPN, Friend, Proxy, Relay, etc.), or implementation (Advertiser, Shell,
Persistent storage). Amount of supported keys, subnets, group addresses
and labels are grouped under Capabilities menu. Generic options that
don't fall to any category are kept at the root menu. For better
visibility, if a specific feature or layer has more than 1 option, they
are hidden under menu.

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
This commit is contained in:
Pavel Vasilyev 2023-07-02 18:41:36 +02:00 committed by Carles Cufí
commit 2bf61ee8d6
2 changed files with 650 additions and 590 deletions

File diff suppressed because it is too large Load diff

View file

@ -58,13 +58,6 @@ LOG_MODULE_REGISTER(bt_mesh_net);
#define SRC(pdu) (sys_get_be16(&(pdu)[5])) #define SRC(pdu) (sys_get_be16(&(pdu)[5]))
#define DST(pdu) (sys_get_be16(&(pdu)[7])) #define DST(pdu) (sys_get_be16(&(pdu)[7]))
/** Define CONFIG_BT_MESH_SEQ_STORE_RATE even if settings are disabled to
* compile the code.
*/
#ifndef CONFIG_BT_SETTINGS
#define CONFIG_BT_MESH_SEQ_STORE_RATE 1
#endif
/* Mesh network information for persistent storage. */ /* Mesh network information for persistent storage. */
struct net_val { struct net_val {
uint16_t primary_addr; uint16_t primary_addr;