114 lines
3.2 KiB
Plaintext
114 lines
3.2 KiB
Plaintext
# Bluetooth Object Transfer service
|
|
|
|
# Copyright (c) 2020-2022 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
|
|
select EXPERIMENTAL
|
|
help
|
|
Enable Object Transfer Service.
|
|
|
|
if BT_OTS
|
|
|
|
config BT_OTS_DIR_LIST_OBJ
|
|
bool "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_SECONDARY_SVC
|
|
bool "Register OTS as Secondary Service"
|
|
|
|
config BT_OTS_OACP_CREATE_SUPPORT
|
|
bool "Support OACP Create Operation"
|
|
depends on BT_OTS_OACP_WRITE_SUPPORT
|
|
depends on BT_OTS_OBJ_NAME_WRITE_SUPPORT
|
|
|
|
config BT_OTS_OACP_CHECKSUM_SUPPORT
|
|
imply CRC
|
|
bool "Support OACP Calculate Checksum operation"
|
|
|
|
config BT_OTS_OACP_DELETE_SUPPORT
|
|
bool "Support OACP Delete Operation"
|
|
|
|
config BT_OTS_OACP_READ_SUPPORT
|
|
bool "Support OACP Read Operation"
|
|
default y
|
|
|
|
config BT_OTS_OACP_WRITE_SUPPORT
|
|
bool "Support OACP Write Operation"
|
|
|
|
config BT_OTS_OACP_PATCH_SUPPORT
|
|
bool "Support patching of objects"
|
|
depends on BT_OTS_OACP_WRITE_SUPPORT
|
|
|
|
config BT_OTS_OLCP_GO_TO_SUPPORT
|
|
bool "Support OLCP Go To Operation"
|
|
default y
|
|
|
|
config BT_OTS_OBJ_NAME_WRITE_SUPPORT
|
|
bool "Support object name write"
|
|
|
|
endif # BT_OTS
|
|
|
|
#### Object Transfer Service Client ################################
|
|
|
|
config BT_OTS_CLIENT
|
|
bool "Object Transfer Service Client [Experimental]"
|
|
select BT_L2CAP_DYNAMIC_CHANNEL
|
|
select BT_GATT_CLIENT
|
|
select BT_GATT_AUTO_DISCOVER_CCC
|
|
select EXPERIMENTAL
|
|
help
|
|
This option enables support for the Object Transfer Service Client.
|
|
|
|
if BT_OTS || BT_OTS_CLIENT
|
|
|
|
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_L2CAP_CHAN_TX_MTU
|
|
int "Size of TX MTU for Object Transfer Channel"
|
|
default 256
|
|
range 21 65533
|
|
|
|
config BT_OTS_L2CAP_CHAN_RX_MTU
|
|
int "Size of RX MTU for Object Transfer Channel"
|
|
# RX MTU will be truncated to account for the L2CAP PDU and SDU header.
|
|
default BT_BUF_ACL_RX_SIZE
|
|
range 21 BT_BUF_ACL_RX_SIZE
|
|
|
|
config BT_OTS_OBJ_MAX_NAME_LEN
|
|
int "Maximum object name length"
|
|
# Max name length allowed by OTS spec is 120 octets
|
|
# TODO: Set separate max name length for client, as other
|
|
# servers may use the full 120 octets.
|
|
default 120
|
|
range 1 120
|
|
|
|
endif # BT_OTS || BT_OTS_CLIENT
|