zephyr/subsys/bluetooth/services/ots/Kconfig
Emil Gydesen e90ec2df44 Bluetooth: services: Adds directory listing object to OTS
The directory listing object is an internal object which
content is the aggregation of all the metadata of all objects
(including the directory listing object itself). The client
can read this value to get a list of all objects with names,
lengths, and other metadata.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2021-03-17 11:30:07 +01:00

68 lines
2.0 KiB
Plaintext

# Bluetooth Object Transfer service
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
config BT_OTS
bool "Object Transfer Service (OTS) [EXPERIMENTAL]"
select BT_L2CAP_DYNAMIC_CHANNEL
select BT_GATT_DYNAMIC_DB
select BT_SMP
help
Enable Object Transfer Service.
if BT_OTS
config BT_OTS_DIR_LIST_OBJ
bool "Enables the Directory Listing Object"
help
Enables the Directory Listing Object, which is an object that contains all the metadata
from all other objects, for easy exposure to a client. Enabling this will use one of the
objects given by BT_OTS_MAX_OBJ_CNT.
config BT_OTS_DIR_LIST_OBJ_NAME
string "The object name of the Directory Listing Object"
default "Directory"
depends on BT_OTS_DIR_LIST_OBJ
help
The name of the Directory Listing Object when it is read by a client.
config BT_OTS_MAX_INST_CNT
int "Maximum number of available OTS instances"
default 1
range 1 1 if !BT_OTS_SECONDARY_SVC
config BT_OTS_MAX_OBJ_CNT
hex "Maximum number of objects that each service instance can store"
default 0x05
# Given the maximum size of a directory listing record (172) and the maximum size of an
# object using the net_buf implementation is 2^16-1, the maximum number of objects is given
# by 2^16-1 / 172 = 381 == 0x17D)
range 0x02 0x17D if BT_OTS_DIR_LIST_OBJ
# Max obj count is otherwise the non-RFU IDs available
range 0x01 0xFFFFFFFFFFFFFEFF
config BT_OTS_SECONDARY_SVC
bool "Register OTS as Secondary Service"
config BT_OTS_OACP_READ_SUPPORT
bool "Support OACP Read Operation"
default y
config BT_OTS_OLCP_GO_TO_SUPPORT
bool "Support OLCP Go To Operation"
default y
config BT_OTS_L2CAP_CHAN_RX_MTU
int "Size of RX MTU for Object Transfer Channel"
default BT_L2CAP_RX_MTU if BT_HCI_ACL_FLOW_CONTROL
default 23
range 23 BT_L2CAP_RX_MTU if BT_HCI_ACL_FLOW_CONTROL
range 23 BT_RX_BUF_LEN
module = BT_OTS
module-str = BT_OTS
source "${ZEPHYR_BASE}/subsys/logging/Kconfig.template.log_config"
endif # BT_OTS