378 lines
10 KiB
Plaintext
378 lines
10 KiB
Plaintext
# Kconfig - Bluetooth Mesh configuration options
|
|
|
|
#
|
|
# Copyright (c) 2017 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
menuconfig BLUETOOTH_MESH
|
|
bool "Smart Mesh support"
|
|
select TINYCRYPT
|
|
select TINYCRYPT_AES
|
|
select TINYCRYPT_AES_CMAC
|
|
help
|
|
This option enables Smart Mesh support. The specific features
|
|
that will be available is dependent on other features that have
|
|
been enabled in the stack, such as GATT support.
|
|
|
|
if BLUETOOTH_MESH
|
|
|
|
# Virtual option enabled whenever Generic Provisioning layer is needed
|
|
config BLUETOOTH_MESH_PROV
|
|
bool
|
|
|
|
config BLUETOOTH_MESH_PB_ADV
|
|
bool "Provisioning support using the advertising bearer (PB-ADV)"
|
|
select BLUETOOTH_MESH_PROV
|
|
default y
|
|
help
|
|
Enable this option to allow the device to be provisioned over
|
|
the advertising bearer.
|
|
|
|
if BLUETOOTH_CONN
|
|
|
|
# Virtual option enabled whenever any Proxy protocol is needed
|
|
config BLUETOOTH_MESH_PROXY
|
|
bool
|
|
|
|
config BLUETOOTH_MESH_PB_GATT
|
|
bool "Provisioning support using GATT (PB-GATT)"
|
|
select BLUETOOTH_MESH_PROXY
|
|
select BLUETOOTH_MESH_PROV
|
|
help
|
|
Enable this option to allow the device to be provisioned over
|
|
GATT.
|
|
|
|
config BLUETOOTH_MESH_GATT_PROXY
|
|
bool "GATT Proxy Service"
|
|
select BLUETOOTH_MESH_PROXY
|
|
help
|
|
This option enables support for the Mesh GATT Proxy Service,
|
|
i.e. the ability to act as a proxy between a Mesh GATT Client
|
|
and a Mesh network.
|
|
|
|
if BLUETOOTH_MESH_PROXY
|
|
|
|
config BLUETOOTH_MESH_PROXY_FILTER_SIZE
|
|
int "Maximum number of filter entries per Proxy Client"
|
|
default 1
|
|
default 3 if BLUETOOTH_MESH_GATT_PROXY
|
|
range 1 32767
|
|
help
|
|
This option specifies how many Proxy Filter entries the local
|
|
node supports.
|
|
|
|
endif # BLUETOOTH_MESH_PROXY
|
|
|
|
endif # BLUETOOTH_CONN
|
|
|
|
config BLUETOOTH_MESH_LOCAL_INTERFACE
|
|
bool "Local network interface"
|
|
default y
|
|
help
|
|
This is needed in order to send messages between two local Mesh
|
|
elements. Only disable it if you're sure this will not be needed
|
|
(which helps save a little bit of memory).
|
|
|
|
config BLUETOOTH_MESH_SELF_TEST
|
|
bool "Perform self-tests"
|
|
help
|
|
This option adds extra self-tests which are run every time
|
|
mesh networking is initialized.
|
|
|
|
config BLUETOOTH_MESH_IV_UPDATE_TEST
|
|
bool "Test the IV Update Procedure"
|
|
help
|
|
This option removes the 96 hour limit of the IV Update
|
|
Procedure and lets the state be changed at any time.
|
|
|
|
config BLUETOOTH_MESH_SUBNET_COUNT
|
|
int "Maximum number of mesh subnets per network"
|
|
default 1
|
|
range 1 4096
|
|
help
|
|
This option specifies how many subnets a Mesh network can
|
|
participate in at the same time.
|
|
|
|
config BLUETOOTH_MESH_APP_KEY_COUNT
|
|
int "Maximum number of application keys per network"
|
|
default 1
|
|
range 1 4096
|
|
help
|
|
This option specifies how many application keys the device can
|
|
store per network.
|
|
|
|
config BLUETOOTH_MESH_MODEL_KEY_COUNT
|
|
int "Maximum number of application keys per model"
|
|
default 1
|
|
range 1 4096
|
|
help
|
|
This option specifies how many application keys each model can
|
|
at most be bound to.
|
|
|
|
config BLUETOOTH_MESH_MODEL_GROUP_COUNT
|
|
int "Maximum number of group address subscriptions per model"
|
|
default 1
|
|
range 1 4096
|
|
help
|
|
This option specifies how many group addresses each model can
|
|
at most be subscribed to.
|
|
|
|
config BLUETOOTH_MESH_LABEL_COUNT
|
|
int "Maximum number of Label UUIDs used for Virtual Addresses"
|
|
default 1
|
|
range 0 4096
|
|
help
|
|
This option specifies how many Label UUIDs can be stored.
|
|
|
|
config BLUETOOTH_MESH_CRPL
|
|
int "Maximum capacity of the replay protection list"
|
|
default 10
|
|
range 2 65535
|
|
help
|
|
This options specifies the maximum capacity of the replay
|
|
protection list. This option is similar to the network message
|
|
cache size, but has a different purpose.
|
|
|
|
config BLUETOOTH_MESH_MSG_CACHE_SIZE
|
|
int "Network message cache size"
|
|
default 10
|
|
range 2 65535
|
|
help
|
|
Number of messages that are cached for the network. This helps
|
|
prevent unnecessary decryption operations and unnecessary
|
|
relays. This option is similar to the replay protection list,
|
|
but has a different purpose.
|
|
|
|
config BLUETOOTH_MESH_ADV_BUF_COUNT
|
|
int "Number of advertising buffers"
|
|
default 6
|
|
range 6 256
|
|
help
|
|
Number of advertising buffers available. The transport layer
|
|
reserves ADV_BUF_COUNT - 3 buffers for outgoing segments. The
|
|
maximum outgoing SDU size is 12 times this number (out of which
|
|
4 or 8 bytes is used for the Transport Layer MIC). For
|
|
example, 5 segments means the maximum SDU size is 60 bytes,
|
|
which leaves 56 bytes for application layer data using a
|
|
4-byte MIC and 52 bytes using an 8-byte MIC.
|
|
|
|
config BLUETOOTH_MESH_TX_SEG_MSG_COUNT
|
|
int "Maximum number of simultaneous outgoing segmented messages"
|
|
default 1
|
|
range 1 BLUETOOTH_MESH_ADV_BUF_COUNT
|
|
help
|
|
Maximum number of simultaneous outgoing multi-segment and/or
|
|
reliable messages.
|
|
|
|
config BLUETOOTH_MESH_RX_SEG_MSG_COUNT
|
|
int "Maximum number of simultaneous incoming segmented messages"
|
|
default 1
|
|
range 1 255
|
|
help
|
|
Maximum number of simultaneous incoming multi-segment and/or
|
|
reliable messages.
|
|
|
|
config BLUETOOTH_MESH_RX_SDU_MAX
|
|
int "Maximum incoming Upper Transport Access PDU length"
|
|
default 384
|
|
range 36 384
|
|
help
|
|
Maximum incoming Upper Transport Access PDU length. Leave this
|
|
to the default value, unless you really need to optimize memory
|
|
usage.
|
|
|
|
config BLUETOOTH_MESH_RELAY
|
|
bool "Relay support"
|
|
help
|
|
Support for acting as a Mesh Relay Node.
|
|
|
|
config BLUETOOTH_MESH_LOW_POWER
|
|
bool "Support for Low Power features"
|
|
help
|
|
Enable this option to be able to act as a Low Power Node.
|
|
|
|
if BLUETOOTH_MESH_LOW_POWER
|
|
config BLUETOOTH_MESH_LPN_RSSI_FACTOR
|
|
int "RSSIFactor, used in the Friend Offer Delay calculation"
|
|
range 0 3
|
|
default 0
|
|
help
|
|
The contribution of the RSSI measured by the Friend node used
|
|
in Friend Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.
|
|
|
|
config BLUETOOTH_MESH_LPN_RECV_WIN_FACTOR
|
|
int "ReceiveWindowFactor, used in the Friend Offer Delay calculation"
|
|
range 0 3
|
|
default 0
|
|
help
|
|
The contribution of the supported Receive Window used in
|
|
Friend Offer Delay calculations. 0 = 1, 1 = 1.5, 2 = 2, 3 = 2.5.
|
|
|
|
config BLUETOOTH_MESH_LPN_MIN_QUEUE_SIZE
|
|
int "Minimum size of acceptable friend queue (MinQueueSizeLog)"
|
|
range 1 7
|
|
default 1
|
|
help
|
|
The MinQueueSizeLog field is defined as log_2(N), where N is
|
|
the minimum number of maximum size Lower Transport PDUs that
|
|
the Friend node can store in its Friend Queue. As an example,
|
|
MinQueueSizeLog value 1 gives N = 2, and value 7 gives N = 128.
|
|
|
|
config BLUETOOTH_MESH_LPN_RECV_DELAY
|
|
int "Receive delay requested by the local node"
|
|
range 10 255
|
|
default 20
|
|
help
|
|
The ReceiveDelay is the time between the Low Power node
|
|
sending a request and listening for a response. This delay
|
|
allows the Friend node time to prepare the response. The value
|
|
is in units of milliseconds.
|
|
|
|
config BLUETOOTH_MESH_LPN_POLL_TIMEOUT
|
|
int "The initial value of the PollTimeout timer"
|
|
range 10 244735
|
|
default 100
|
|
help
|
|
PollTimeout timer is used to measure time between two
|
|
consecutive requests sent by the Low Power node. If no
|
|
requests are received by the Friend node before the
|
|
PollTimeout timer expires, then the friendship is considered
|
|
terminated. The value is in units of 100 milliseconds.
|
|
|
|
config BLUETOOTH_MESH_LPN_SCAN_LATENCY
|
|
int "Latency for enabling scanning"
|
|
range 0 50
|
|
default 10
|
|
help
|
|
Latency in milliseconds that it takes to enable scanning. This
|
|
is in practice how much time in advance before the Receive Window
|
|
that scanning is requested to be enabled.
|
|
|
|
config BLUETOOTH_MESH_LPN_GROUPS
|
|
int "Number of groups the LPN can subscribe to"
|
|
range 0 16384
|
|
default 8
|
|
help
|
|
Maximum number of groups that the LPN can subscribe to.
|
|
endif # BLUETOOTH_MESH_LOW_POWER
|
|
|
|
config BLUETOOTH_MESH_FRIEND
|
|
bool "Support for acting as a Friend Node"
|
|
help
|
|
Enable this option to be able to act as a Friend Node.
|
|
|
|
if BLUETOOTH_MESH_FRIEND
|
|
|
|
config BLUETOOTH_MESH_FRIEND_RECV_WIN
|
|
int "Friend Receive Window"
|
|
range 1 255
|
|
default 255
|
|
help
|
|
Receive Window in milliseconds supported by the Friend node.
|
|
|
|
config BLUETOOTH_MESH_FRIEND_QUEUE_SIZE
|
|
int "Friend Queue Size"
|
|
range 1 BLUETOOTH_MESH_ADV_BUF_COUNT
|
|
default 16
|
|
help
|
|
Queue Size available on the Friend node.
|
|
|
|
config BLUETOOTH_MESH_FRIEND_SUB_LIST_SIZE
|
|
int "Friend Subscription List Size"
|
|
range 1 255
|
|
default 16
|
|
help
|
|
Size of the Subscription List that can be supported by a
|
|
Friend node for a Low Power node.
|
|
|
|
config BLUETOOTH_MESH_FRIEND_LPN_COUNT
|
|
int "Number of supported LPN nodes"
|
|
range 1 1000
|
|
default 1
|
|
help
|
|
Number of Low Power Nodes the Friend can have a Friendship
|
|
with simultaneously.
|
|
|
|
endif # BLUETOOTH_MESH_FRIEND
|
|
|
|
config BLUETOOTH_MESH_DEBUG
|
|
bool "Enable debug logs"
|
|
depends on BLUETOOTH_DEBUG
|
|
help
|
|
Use this option to enable debug logs for the Bluetooth
|
|
Mesh functionality.
|
|
|
|
if BLUETOOTH_MESH_DEBUG
|
|
|
|
config BLUETOOTH_MESH_DEBUG_NET
|
|
bool "Network layer debug"
|
|
help
|
|
Use this option to enable Network layer debug logs for the
|
|
Bluetooth Mesh functionality.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_TRANS
|
|
bool "Transport layer debug"
|
|
help
|
|
Use this option to enable Transport layer debug logs for the
|
|
Bluetooth Mesh functionality.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_BEACON
|
|
bool "Beacon debug"
|
|
help
|
|
Use this option to enable Beacon-related debug logs for the
|
|
Bluetooth Mesh functionality.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_CRYPTO
|
|
bool "Crypto debug"
|
|
help
|
|
Use this option to enable cryptographic debug logs for the
|
|
Bluetooth Mesh functionality.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_PROV
|
|
bool "Provisioning debug"
|
|
help
|
|
Use this option to enable Provisioning debug logs for the
|
|
Bluetooth Mesh functionality.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_ACCESS
|
|
bool "Access layer debug"
|
|
help
|
|
Use this option to enable Access layer and device composition
|
|
related debug logs for Bluetooth Mesh.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_MODEL
|
|
bool "Foundation model debug"
|
|
help
|
|
Use this option to enable debug logs for the Foundation
|
|
Models.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_ADV
|
|
bool "Advertising debug"
|
|
help
|
|
Use this option to enable advertising debug logs for
|
|
the Bluetooth Mesh functionality.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_LOW_POWER
|
|
bool "Low Power debug"
|
|
help
|
|
Use this option to enable Low Power debug logs for the
|
|
Bluetooth Mesh functionality.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_FRIEND
|
|
bool "Friend debug"
|
|
help
|
|
Use this option to enable Friend debug logs for the
|
|
Bluetooth Mesh functionality.
|
|
|
|
config BLUETOOTH_MESH_DEBUG_PROXY
|
|
bool "Proxy debug"
|
|
depends on BLUETOOTH_MESH_PROXY
|
|
help
|
|
Use this option to enable Proxy protocol debug logs.
|
|
|
|
endif # BLUETOOTH_MESH_DEBUG
|
|
|
|
endif # BLUETOOTH_MESH
|