Bluetooth LE Profile API document
Bluetooth LE Profile API document Rev.1.00 [May 22, 2020]
Object Transfer Service Server

This service provides management and control features supporting bulk data transfers which occur via a separate L2CAP connection oriented channel. The Client is enabled to create and delete objects and to execute an action using the currently selected object. The selected object can be written, updated or read via an Object Transfer Channel opened by the Client. The generation of a checksum covering a part or the whole of the object contents is included as an optional feature. This service provides a general method for a Client to select and initiate the transfer of any type of object. More...

Detailed Description

This service provides management and control features supporting bulk data transfers which occur via a separate L2CAP connection oriented channel. The Client is enabled to create and delete objects and to execute an action using the currently selected object. The selected object can be written, updated or read via an Object Transfer Channel opened by the Client. The generation of a checksum covering a part or the whole of the object contents is included as an optional feature. This service provides a general method for a Client to select and initiate the transfer of any type of object.

This file provides APIs to interface Object Transfer Service Object Records.

Data Structures

struct  st_ble_ots_uuid_value_t
 uuid structure More...
 
struct  st_ble_ots_uuid_t
 
struct  st_ble_lns_feat_oacp_features_t
 OTS Feature OACP Features value structure. More...
 
struct  st_ble_lns_feat_olcp_features_t
 OTS Feature OLCP Features value structure. More...
 
struct  st_ble_ots_feat_t
 OTS Feature value structure. More...
 
struct  st_ble_ots_obj_size_t
 Object Size value structure. More...
 
struct  st_ble_ots_obj_prop_t
 Object Properties value structure. More...
 
struct  st_ble_ots_obj_action_cp_t
 Object Action Control Point value structure. More...
 
struct  st_ble_ots_obj_list_cp_t
 Object List Control Point value structure. More...
 
struct  st_ble_ots_obj_list_filter_0_t
 Object List Filter 0 value structure. More...
 
struct  st_ble_ots_obj_list_filter_1_t
 Object List Filter 1 value structure. More...
 
struct  st_ble_ots_obj_list_filter_2_t
 Object List Filter 2 value structure. More...
 
struct  st_ble_lns_obj_changed_flags_t
 Object Changed Flags value structure. More...
 
struct  st_ble_ots_obj_changed_t
 Object Changed value structure. More...
 
struct  st_ble_ots_object_t
 

Macros

#define BLE_OTS_OBJ_NAME_OBJECT_NAME_LEN   (100)
 
#define BLE_OTS_OBJ_ACTION_CP_PARAMETER_LEN   (20)
 
#define BLE_OTS_OBJ_LIST_CP_PARAMETER_LEN   (6)
 
#define BLE_OTS_WRITE_REQUEST_REJECTED_ERROR   (BLE_ERR_GROUP_GATT | 0x80)
 An attempt was made to write a value that is invalid or not supported by this Server for a reason other than the attribute permissions. More...
 
#define BLE_OTS_OBJECT_NOT_SELECTED_ERROR   (BLE_ERR_GROUP_GATT | 0x81)
 An attempt was made to read or write to an Object Metadata characteristic while the Current Object was an Invalid Object (see Section 1.8 in the PDF sepcification). More...
 
#define BLE_OTS_CONCURRENCY_LIMIT_EXCEEDED_ERROR   (BLE_ERR_GROUP_GATT | 0x82)
 The Server is unable to service the Read Request or Write Request because it exceeds the concurrency limit of the service. More...
 
#define BLE_OTS_OBJECT_NAME_ALREADY_EXISTS_ERROR   (BLE_ERR_GROUP_GATT | 0x83)
 The requested object name was rejected because the name was already in use by an existing object on the Server. More...
 
#define BLE_OTS_CLI_CNFG_IMPROPERLY_CONFIGURED_ERROR   (BLE_ERR_GROUP_GATT | 0xFD)
 The Client Characteristic Configuration descriptor is not configured according to the requirements of the service. More...
 
#define BLE_OTS_DB_MAX_NUM_OF_OBJECTS   (10)
 
#define BLE_OTS_DB_INVALID_INDEX   (0xFFFF)
 
#define BLE_OTS_DB_MAX_NUM_OF_OBJECTS   (10)
 
#define BLE_OTS_DB_INVALID_INDEX   (0xFFFF)
 

Enumerations

enum  e_ble_ots_obj_id_object_id_t { BLE_OTS_OBJ_ID_OBJECT_ID_RESERVED_FOR_THE_DIRECTORY_LISTING_OBJECT = 0 }
 Object ID Object ID enumeration. More...
 
enum  e_ble_ots_obj_action_cp_op_code_t {
  BLE_OTS_OBJ_ACTION_CP_OP_CODE_CREATE = 1,
  BLE_OTS_OBJ_ACTION_CP_OP_CODE_DELETE = 2,
  BLE_OTS_OBJ_ACTION_CP_OP_CODE_CALCULATE_CHECKSUM = 3,
  BLE_OTS_OBJ_ACTION_CP_OP_CODE_EXECUTE = 4,
  BLE_OTS_OBJ_ACTION_CP_OP_CODE_READ = 5,
  BLE_OTS_OBJ_ACTION_CP_OP_CODE_WRITE = 6,
  BLE_OTS_OBJ_ACTION_CP_OP_CODE_ABORT = 7,
  BLE_OTS_OBJ_ACTION_CP_OP_CODE_RESPONSE_CODE = 96
}
 Object Action Control Point Op Code enumeration. More...
 
enum  e_ble_ots_obj_action_cp_result_code_t {
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_SUCCESS = 1,
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_OP_CODE_NOT_SUPPORTED = 2,
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_INVALID_PARAMETER = 3,
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_INSUFFICIENT_RESOURCES = 4,
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_INVALID_OBJECT = 5,
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_CHANNEL_UNAVAILABLE = 6,
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_UNSUPPORTED_TYPE = 7,
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_PROCEDURE_NOT_PERMITTED = 8,
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_OBJECT_LOCKED = 9,
  BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_OPERATION_FAILED = 10
}
 Object Action Control Point Result Code enumeration. More...
 
enum  e_ble_ots_obj_list_cp_op_code_t {
  BLE_OTS_OBJ_LIST_CP_OP_CODE_FIRST = 1,
  BLE_OTS_OBJ_LIST_CP_OP_CODE_LAST = 2,
  BLE_OTS_OBJ_LIST_CP_OP_CODE_PREVIOUS = 3,
  BLE_OTS_OBJ_LIST_CP_OP_CODE_NEXT = 4,
  BLE_OTS_OBJ_LIST_CP_OP_CODE_GO_TO = 5,
  BLE_OTS_OBJ_LIST_CP_OP_CODE_ORDER = 6,
  BLE_OTS_OBJ_LIST_CP_OP_CODE_REQUEST_NUMBER_OF_OBJECTS = 7,
  BLE_OTS_OBJ_LIST_CP_OP_CODE_CLEAR_MARKING = 8,
  BLE_OTS_OBJ_LIST_CP_OP_CODE_RESPONSE_CODE = 112
}
 Object List Control Point Op Code enumeration. More...
 
enum  e_ble_ots_obj_list_cp_result_code_t {
  BLE_OTS_OBJ_LIST_CP_RESULT_CODE_SUCCESS = 1,
  BLE_OTS_OBJ_LIST_CP_RESULT_CODE_OP_CODE_NOT_SUPPORTED = 2,
  BLE_OTS_OBJ_LIST_CP_RESULT_CODE_INVALID_PARAMETER = 3,
  BLE_OTS_OBJ_LIST_CP_RESULT_CODE_OPERATION_FAILED = 4,
  BLE_OTS_OBJ_LIST_CP_RESULT_CODE_OUT_OF_BOUNDS = 5,
  BLE_OTS_OBJ_LIST_CP_RESULT_CODE_TOO_MANY_OBJECTS = 6,
  BLE_OTS_OBJ_LIST_CP_RESULT_CODE_NO_OBJECT = 7,
  BLE_OTS_OBJ_LIST_CP_RESULT_CODE_OBJECT_ID_NOT_FOUND = 8
}
 Object List Control Point Result Code enumeration. More...
 
enum  e_ble_ots_obj_list_cp_list_sort_order_t {
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_NAME__ASCENDING = 1,
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_TYPE__ASCENDING = 2,
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_CURRENT_SIZE__ASCENDING = 3,
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_FIRST_CREATED_TIMESTAMP__ASCENDING = 4,
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_LAST_MODIFIED_TIMESTAMP__ASCENDING = 5,
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_NAME__DESCENDING = 17,
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_TYPE__DESCENDING = 18,
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_CURRENT_SIZE__DESCENDING = 19,
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_FIRST_CREATED_TIMESTAMP__DESCENDING = 20,
  BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_LAST_MODIFIED_TIMESTAMP__DESCENDING = 21
}
 Object List Control Point List Sort Order enumeration. More...
 
enum  e_ble_ots_obj_list_filter_0_filter_t {
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NO_FILTER = 0,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NAME_STARTS_WITH = 1,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NAME_ENDS_WITH = 2,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NAME_CONTAINS = 3,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NAME_IS_EXACTLY = 4,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_OBJECT_TYPE = 5,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_CREATED_BETWEEN = 6,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_MODIFIED_BETWEEN = 7,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_CURRENT_SIZE_BETWEEN = 8,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_ALLOCATED_SIZE_BETWEEN = 9,
  BLE_OTS_OBJ_LIST_FILTER_0_FILTER_MARKED_OBJECTS = 10
}
 Object List Filter 0 Filter enumeration. More...
 
enum  e_ble_ots_obj_list_filter_1_filter_t {
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NO_FILTER = 0,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NAME_STARTS_WITH = 1,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NAME_ENDS_WITH = 2,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NAME_CONTAINS = 3,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NAME_IS_EXACTLY = 4,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_OBJECT_TYPE = 5,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_CREATED_BETWEEN = 6,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_MODIFIED_BETWEEN = 7,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_CURRENT_SIZE_BETWEEN = 8,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_ALLOCATED_SIZE_BETWEEN = 9,
  BLE_OTS_OBJ_LIST_FILTER_1_FILTER_MARKED_OBJECTS = 10
}
 Object List Filter 1 Filter enumeration. More...
 
enum  e_ble_ots_obj_list_filter_2_filter_t {
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NO_FILTER = 0,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NAME_STARTS_WITH = 1,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NAME_ENDS_WITH = 2,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NAME_CONTAINS = 3,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NAME_IS_EXACTLY = 4,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_OBJECT_TYPE = 5,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_CREATED_BETWEEN = 6,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_MODIFIED_BETWEEN = 7,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_CURRENT_SIZE_BETWEEN = 8,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_ALLOCATED_SIZE_BETWEEN = 9,
  BLE_OTS_OBJ_LIST_FILTER_2_FILTER_MARKED_OBJECTS = 10
}
 Object List Filter 2 Filter enumeration. More...
 
enum  e_ble_ots_char_idx_t {
  BLE_OTS_FEAT_IDX,
  BLE_OTS_OBJ_NAME_IDX,
  BLE_OTS_OBJ_TYPE_IDX,
  BLE_OTS_OBJ_SIZE_IDX,
  BLE_OTS_OBJ_FIRST_CREATED_IDX,
  BLE_OTS_OBJ_LAST_MODIFIED_IDX,
  BLE_OTS_OBJ_ID_IDX,
  BLE_OTS_OBJ_PROP_IDX,
  BLE_OTS_OBJ_ACTION_CP_IDX,
  BLE_OTS_OBJ_ACTION_CP_CLI_CNFG_IDX,
  BLE_OTS_OBJ_LIST_CP_IDX,
  BLE_OTS_OBJ_LIST_CP_CLI_CNFG_IDX,
  BLE_OTS_OBJ_LIST_FILTER_0_IDX,
  BLE_OTS_OBJ_LIST_FILTER_1_IDX,
  BLE_OTS_OBJ_LIST_FILTER_2_IDX,
  BLE_OTS_OBJ_CHANGED_IDX,
  BLE_OTS_OBJ_CHANGED_CLI_CNFG_IDX
}
 Object Transfer Service characteristic Index. More...
 
enum  e_ble_ots_event_t {
  BLE_OTS_EVENT_FEAT_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_FEAT_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_NAME_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_NAME_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_NAME_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_NAME_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_NAME_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_NAME_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_TYPE_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_TYPE_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_SIZE_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_SIZE_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_FIRST_CREATED_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_FIRST_CREATED_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_FIRST_CREATED_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_FIRST_CREATED_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_FIRST_CREATED_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_FIRST_CREATED_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_LAST_MODIFIED_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LAST_MODIFIED_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_LAST_MODIFIED_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LAST_MODIFIED_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_LAST_MODIFIED_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LAST_MODIFIED_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_ID_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_ID_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_PROP_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_PROP_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_PROP_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_PROP_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_PROP_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_PROP_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_ACTION_CP_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_ACTION_CP_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_ACTION_CP_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_ACTION_CP_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_ACTION_CP_HDL_VAL_CNF = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_ACTION_CP_IDX, BLE_SERVS_HDL_VAL_CNF),
  BLE_OTS_EVENT_OBJ_ACTION_CP_CLI_CNFG_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_ACTION_CP_CLI_CNFG_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_ACTION_CP_CLI_CNFG_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_ACTION_CP_CLI_CNFG_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_ACTION_CP_CLI_CNFG_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_ACTION_CP_CLI_CNFG_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_LIST_CP_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_CP_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_LIST_CP_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_CP_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_LIST_CP_HDL_VAL_CNF = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_CP_IDX, BLE_SERVS_HDL_VAL_CNF),
  BLE_OTS_EVENT_OBJ_LIST_CP_CLI_CNFG_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_CP_CLI_CNFG_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_LIST_CP_CLI_CNFG_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_CP_CLI_CNFG_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_LIST_CP_CLI_CNFG_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_CP_CLI_CNFG_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_LIST_FILTER_0_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_FILTER_0_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_LIST_FILTER_0_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_FILTER_0_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_LIST_FILTER_0_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_FILTER_0_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_LIST_FILTER_1_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_FILTER_1_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_LIST_FILTER_1_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_FILTER_1_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_LIST_FILTER_1_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_FILTER_1_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_LIST_FILTER_2_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_FILTER_2_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_LIST_FILTER_2_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_FILTER_2_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_LIST_FILTER_2_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_LIST_FILTER_2_IDX, BLE_SERVS_READ_REQ),
  BLE_OTS_EVENT_OBJ_CHANGED_HDL_VAL_CNF = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_CHANGED_IDX, BLE_SERVS_HDL_VAL_CNF),
  BLE_OTS_EVENT_OBJ_CHANGED_CLI_CNFG_WRITE_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_CHANGED_CLI_CNFG_IDX, BLE_SERVS_WRITE_REQ),
  BLE_OTS_EVENT_OBJ_CHANGED_CLI_CNFG_WRITE_COMP = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_CHANGED_CLI_CNFG_IDX, BLE_SERVS_WRITE_COMP),
  BLE_OTS_EVENT_OBJ_CHANGED_CLI_CNFG_READ_REQ = BLE_SERVS_ATTR_EVENT(BLE_OTS_OBJ_CHANGED_CLI_CNFG_IDX, BLE_SERVS_READ_REQ)
}
 Object Transfer Service event type. More...
 
enum  e_ble_gls_db_valid_t {
  BLE_GLS_DB_INVALID_RECORD = 0,
  BLE_GLS_DB_MEAS_VALID_RECORD,
  BLE_GLS_DB_MEAS_AND_CONTEXT_VALID_RECORD,
  BLE_GLS_DB_WILL_DELETE,
  BLE_OTS_DB_INVALID_OBJECT = 0,
  BLE_OTS_DB_VALID_OBJECT,
  BLE_OTS_DB_WILL_DELETE
}
 
enum  e_ble_ots_gls_db_valid_t {
  BLE_OTS_DB_INVALID_OBJECT = 0xFF,
  BLE_OTS_DB_VALID_OBJECT = 0x00,
  BLE_OTS_DB_FILTERED_0 = 0x01,
  BLE_OTS_DB_FILTERED_1 = 0x02,
  BLE_OTS_DB_FILTERED_2 = 0x04,
  BLE_OTS_DB_WILL_DELETE
}
 

Functions

ble_status_t R_BLE_OTS_SetFeat (const st_ble_ots_feat_t *p_value)
 Set OTS Feature characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetFeat (st_ble_ots_feat_t *p_value)
 Get OTS Feature characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjName (const st_ble_seq_data_t *p_value)
 Set Object Name characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjName (st_ble_seq_data_t *p_value)
 Get Object Name characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjType (const st_ble_ots_uuid_t *p_value)
 Set Object Type characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjType (st_ble_ots_uuid_t *p_value)
 Get Object Type characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjSize (const st_ble_ots_obj_size_t *p_value)
 Set Object Size characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjSize (st_ble_ots_obj_size_t *p_value)
 Get Object Size characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjFirstCreated (const st_ble_date_time_t *p_value)
 Set Object First-Created characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjFirstCreated (st_ble_date_time_t *p_value)
 Get Object First-Created characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjLastModified (const st_ble_date_time_t *p_value)
 Set Object Last-Modified characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjLastModified (st_ble_date_time_t *p_value)
 Get Object Last-Modified characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjId (const uint8_t *p_value)
 Set Object ID characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjId (uint8_t *p_value)
 Get Object ID characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjProp (const st_ble_ots_obj_prop_t *p_value)
 Set Object Properties characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjProp (st_ble_ots_obj_prop_t *p_value)
 Get Object Properties characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_IndicateObjActionCp (uint16_t conn_hdl, const st_ble_ots_obj_action_cp_t *p_value)
 Send indication of Object Action Control Point characteristic value to the remote device. More...
 
ble_status_t R_BLE_OTS_SetObjActionCpCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Set Object Action Control Point cli cnfg descriptor value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjActionCpCliCnfg (uint16_t conn_hdl, uint16_t *p_value)
 Get Object Action Control Point cli cnfg descriptor value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_IndicateObjListCp (uint16_t conn_hdl, const st_ble_ots_obj_list_cp_t *p_value)
 Send indication of Object List Control Point characteristic value to the remote device. More...
 
ble_status_t R_BLE_OTS_SetObjListCpCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Set Object List Control Point cli cnfg descriptor value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjListCpCliCnfg (uint16_t conn_hdl, uint16_t *p_value)
 Get Object List Control Point cli cnfg descriptor value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjListFilter0 (const st_ble_ots_obj_list_filter_0_t *p_value)
 Set Object List Filter 0 characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjListFilter0 (st_ble_ots_obj_list_filter_0_t *p_value)
 Get Object List Filter 0 characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjListFilter1 (const st_ble_ots_obj_list_filter_1_t *p_value)
 Set Object List Filter 1 characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjListFilter1 (st_ble_ots_obj_list_filter_1_t *p_value)
 Get Object List Filter 1 characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_SetObjListFilter2 (const st_ble_ots_obj_list_filter_2_t *p_value)
 Set Object List Filter 2 characteristic value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjListFilter2 (st_ble_ots_obj_list_filter_2_t *p_value)
 Get Object List Filter 2 characteristic value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_IndicateObjChanged (uint16_t conn_hdl, const st_ble_ots_obj_changed_t *p_value)
 Send indication of Object Changed characteristic value to the remote device. More...
 
ble_status_t R_BLE_OTS_SetObjChangedCliCnfg (uint16_t conn_hdl, const uint16_t *p_value)
 Set Object Changed cli cnfg descriptor value to the local GATT database. More...
 
ble_status_t R_BLE_OTS_GetObjChangedCliCnfg (uint16_t conn_hdl, uint16_t *p_value)
 Get Object Changed cli cnfg descriptor value from the local GATT database. More...
 
ble_status_t R_BLE_OTS_Init (ble_servs_app_cb_t cb)
 Initialize Object Transfer Service service. More...
 
void ots_db_init (void)
 
uint16_t ots_db_get_oldest_index (void)
 
uint16_t ots_db_get_newest_index (void)
 
uint16_t ots_db_get_next_index (uint16_t index)
 
st_ble_ots_object_tots_db_get_object (uint16_t index)
 
void ots_db_mark_delete_object (uint16_t index)
 
void ots_db_delete_object (st_ble_ots_object_t *p_object)
 
st_ble_ots_object_tots_db_create_object (void)
 
void ots_db_create_object (st_ble_ots_obj_size_t *obj_size, st_ble_ots_uuid_t *obj_type)
 
void ots_db_store_object (uint16_t index, st_ble_ots_obj_size_t *obj_size, st_ble_ots_uuid_t *obj_type)
 
void object_list_cb (st_ble_ots_obj_list_filter_0_t *p_app_value)
 
uint16_t ots_db_num_of_objects ()
 
st_ble_ots_object_tots_db_get_object_id (st_ble_ots_obj_list_cp_t *p_app_value)
 
void ots_db_clear_marking (void)
 
void ots_sort_object_names (void)
 
void ots_object_list_filter_cb (st_ble_ots_obj_list_filter_0_t *p_app_value)
 

Macro Definition Documentation

◆ BLE_OTS_OBJ_NAME_OBJECT_NAME_LEN

#define BLE_OTS_OBJ_NAME_OBJECT_NAME_LEN   (100)

Object Name Length

◆ BLE_OTS_OBJ_ACTION_CP_PARAMETER_LEN

#define BLE_OTS_OBJ_ACTION_CP_PARAMETER_LEN   (20)

Parameter Length

◆ BLE_OTS_OBJ_LIST_CP_PARAMETER_LEN

#define BLE_OTS_OBJ_LIST_CP_PARAMETER_LEN   (6)

Parameter Length

◆ BLE_OTS_WRITE_REQUEST_REJECTED_ERROR

#define BLE_OTS_WRITE_REQUEST_REJECTED_ERROR   (BLE_ERR_GROUP_GATT | 0x80)

An attempt was made to write a value that is invalid or not supported by this Server for a reason other than the attribute permissions.

◆ BLE_OTS_OBJECT_NOT_SELECTED_ERROR

#define BLE_OTS_OBJECT_NOT_SELECTED_ERROR   (BLE_ERR_GROUP_GATT | 0x81)

An attempt was made to read or write to an Object Metadata characteristic while the Current Object was an Invalid Object (see Section 1.8 in the PDF sepcification).

◆ BLE_OTS_CONCURRENCY_LIMIT_EXCEEDED_ERROR

#define BLE_OTS_CONCURRENCY_LIMIT_EXCEEDED_ERROR   (BLE_ERR_GROUP_GATT | 0x82)

The Server is unable to service the Read Request or Write Request because it exceeds the concurrency limit of the service.

◆ BLE_OTS_OBJECT_NAME_ALREADY_EXISTS_ERROR

#define BLE_OTS_OBJECT_NAME_ALREADY_EXISTS_ERROR   (BLE_ERR_GROUP_GATT | 0x83)

The requested object name was rejected because the name was already in use by an existing object on the Server.

◆ BLE_OTS_CLI_CNFG_IMPROPERLY_CONFIGURED_ERROR

#define BLE_OTS_CLI_CNFG_IMPROPERLY_CONFIGURED_ERROR   (BLE_ERR_GROUP_GATT | 0xFD)

The Client Characteristic Configuration descriptor is not configured according to the requirements of the service.

Enumeration Type Documentation

◆ e_ble_ots_obj_id_object_id_t

Object ID Object ID enumeration.

Enumerator
BLE_OTS_OBJ_ID_OBJECT_ID_RESERVED_FOR_THE_DIRECTORY_LISTING_OBJECT 

Reserved for the Directory Listing Object

◆ e_ble_ots_obj_action_cp_op_code_t

Object Action Control Point Op Code enumeration.

Enumerator
BLE_OTS_OBJ_ACTION_CP_OP_CODE_CREATE 

Create a new, empty object

BLE_OTS_OBJ_ACTION_CP_OP_CODE_DELETE 

Delete the Current Object

BLE_OTS_OBJ_ACTION_CP_OP_CODE_CALCULATE_CHECKSUM 

Compare a checksum

BLE_OTS_OBJ_ACTION_CP_OP_CODE_EXECUTE 

Use the Current Object to perform an operation

BLE_OTS_OBJ_ACTION_CP_OP_CODE_READ 

Send object data through Object Transfer Channel

BLE_OTS_OBJ_ACTION_CP_OP_CODE_WRITE 

Open the Current Object for writing and prepare to accept data

BLE_OTS_OBJ_ACTION_CP_OP_CODE_ABORT 

Cease sending previously requested data through Object Transfer Channel

BLE_OTS_OBJ_ACTION_CP_OP_CODE_RESPONSE_CODE 

Used to identify the response to this Control Point

◆ e_ble_ots_obj_action_cp_result_code_t

Object Action Control Point Result Code enumeration.

Enumerator
BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_SUCCESS 

Response for successful operation

BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_OP_CODE_NOT_SUPPORTED 

Response if unsupported Op Code is received

BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_INVALID_PARAMETER 

Parameter received does not meet the requirements

BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_INSUFFICIENT_RESOURCES 

Size parameter exceeds the available memory

BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_INVALID_OBJECT 

Current Object is an Invalid Object

BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_CHANNEL_UNAVAILABLE 

Object Transfer Channel was not available for use

BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_UNSUPPORTED_TYPE 

OACP procedure Type parameter is not supported by the Server

BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_PROCEDURE_NOT_PERMITTED 

Requested procedure is not permitted

BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_OBJECT_LOCKED 

Current Object is temporarily locked

BLE_OTS_OBJ_ACTION_CP_RESULT_CODE_OPERATION_FAILED 

Operation Failed

◆ e_ble_ots_obj_list_cp_op_code_t

Object List Control Point Op Code enumeration.

Enumerator
BLE_OTS_OBJ_LIST_CP_OP_CODE_FIRST 

Make the first object in the list become the Current Object

BLE_OTS_OBJ_LIST_CP_OP_CODE_LAST 

Make the last object in the list become the Current Object

BLE_OTS_OBJ_LIST_CP_OP_CODE_PREVIOUS 

Make the object immediately preceding the Current Object in the list become the Current Object

BLE_OTS_OBJ_LIST_CP_OP_CODE_NEXT 

Make the object immediately after the Current Object in the list become the Current Object

BLE_OTS_OBJ_LIST_CP_OP_CODE_GO_TO 

Select an object by specifying its Object ID

BLE_OTS_OBJ_LIST_CP_OP_CODE_ORDER 

Arrange the list of objects in order

BLE_OTS_OBJ_LIST_CP_OP_CODE_REQUEST_NUMBER_OF_OBJECTS 

Report the total number of objects

BLE_OTS_OBJ_LIST_CP_OP_CODE_CLEAR_MARKING 

Update the marking of objects

BLE_OTS_OBJ_LIST_CP_OP_CODE_RESPONSE_CODE 

Used to identify the response to this Control Point

◆ e_ble_ots_obj_list_cp_result_code_t

Object List Control Point Result Code enumeration.

Enumerator
BLE_OTS_OBJ_LIST_CP_RESULT_CODE_SUCCESS 

Response for successful operation

BLE_OTS_OBJ_LIST_CP_RESULT_CODE_OP_CODE_NOT_SUPPORTED 

Response if unsupported Op Code is received

BLE_OTS_OBJ_LIST_CP_RESULT_CODE_INVALID_PARAMETER 

Parameter received does not meet the requirements

BLE_OTS_OBJ_LIST_CP_RESULT_CODE_OPERATION_FAILED 

Requested procedure failed

BLE_OTS_OBJ_LIST_CP_RESULT_CODE_OUT_OF_BOUNDS 

Selected object is beyond the first or last object in the current list

BLE_OTS_OBJ_LIST_CP_RESULT_CODE_TOO_MANY_OBJECTS 

Procedure failed due to too many objects

BLE_OTS_OBJ_LIST_CP_RESULT_CODE_NO_OBJECT 

Procedure failed due to there being zero objects in the current list

BLE_OTS_OBJ_LIST_CP_RESULT_CODE_OBJECT_ID_NOT_FOUND 

Procedure failed due to there being no object with the requested Object ID

◆ e_ble_ots_obj_list_cp_list_sort_order_t

Object List Control Point List Sort Order enumeration.

Enumerator
BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_NAME__ASCENDING 

Order the list by object name, ascending

BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_TYPE__ASCENDING 

Order the list by object name, ascending

BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_CURRENT_SIZE__ASCENDING 

Order the list by object current size, ascending

BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_FIRST_CREATED_TIMESTAMP__ASCENDING 

Order the list by object first-created timestamp, ascending

BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_LAST_MODIFIED_TIMESTAMP__ASCENDING 

Order the list by object last-modified timestamp, ascending

BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_NAME__DESCENDING 

Order the list by object name, descending

BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_TYPE__DESCENDING 

Order the list by object type, descending

BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_CURRENT_SIZE__DESCENDING 

Order the list by object current size, descending

BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_FIRST_CREATED_TIMESTAMP__DESCENDING 

Order the list by object first-created timestamp, descending

BLE_OTS_OBJ_LIST_CP_LIST_SORT_ORDER_ORDER_THE_LIST_BY_OBJECT_LAST_MODIFIED_TIMESTAMP__DESCENDING 

Order the list by object last-modified timestamp, descending

◆ e_ble_ots_obj_list_filter_0_filter_t

Object List Filter 0 Filter enumeration.

Enumerator
BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NO_FILTER 

No Filter

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NAME_STARTS_WITH 

Name Starts With

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NAME_ENDS_WITH 

Name Ends With

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NAME_CONTAINS 

Name Contains

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_NAME_IS_EXACTLY 

Name is Exactly

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_OBJECT_TYPE 

Name is Exactly

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_CREATED_BETWEEN 

Created between

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_MODIFIED_BETWEEN 

Modified between

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_CURRENT_SIZE_BETWEEN 

Current Size between

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_ALLOCATED_SIZE_BETWEEN 

Allocated Size between

BLE_OTS_OBJ_LIST_FILTER_0_FILTER_MARKED_OBJECTS 

Marked Objects

◆ e_ble_ots_obj_list_filter_1_filter_t

Object List Filter 1 Filter enumeration.

Enumerator
BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NO_FILTER 

No Filter

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NAME_STARTS_WITH 

Name Starts With

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NAME_ENDS_WITH 

Name Ends With

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NAME_CONTAINS 

Name Contains

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_NAME_IS_EXACTLY 

Name is Exactly

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_OBJECT_TYPE 

Name is Exactly

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_CREATED_BETWEEN 

Created between

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_MODIFIED_BETWEEN 

Modified between

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_CURRENT_SIZE_BETWEEN 

Current Size between

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_ALLOCATED_SIZE_BETWEEN 

Allocated Size between

BLE_OTS_OBJ_LIST_FILTER_1_FILTER_MARKED_OBJECTS 

Marked Objects

◆ e_ble_ots_obj_list_filter_2_filter_t

Object List Filter 2 Filter enumeration.

Enumerator
BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NO_FILTER 

No Filter

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NAME_STARTS_WITH 

Name Starts With

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NAME_ENDS_WITH 

Name Ends With

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NAME_CONTAINS 

Name Contains

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_NAME_IS_EXACTLY 

Name is Exactly

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_OBJECT_TYPE 

Name is Exactly

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_CREATED_BETWEEN 

Created between

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_MODIFIED_BETWEEN 

Modified between

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_CURRENT_SIZE_BETWEEN 

Current Size between

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_ALLOCATED_SIZE_BETWEEN 

Allocated Size between

BLE_OTS_OBJ_LIST_FILTER_2_FILTER_MARKED_OBJECTS 

Marked Objects

◆ e_ble_ots_char_idx_t

Object Transfer Service characteristic Index.

◆ e_ble_ots_event_t

Object Transfer Service event type.

Function Documentation

◆ R_BLE_OTS_SetFeat()

ble_status_t R_BLE_OTS_SetFeat ( const st_ble_ots_feat_t p_value)

Set OTS Feature characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetFeat()

ble_status_t R_BLE_OTS_GetFeat ( st_ble_ots_feat_t p_value)

Get OTS Feature characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjName()

ble_status_t R_BLE_OTS_SetObjName ( const st_ble_seq_data_t p_value)

Set Object Name characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjName()

ble_status_t R_BLE_OTS_GetObjName ( st_ble_seq_data_t p_value)

Get Object Name characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjType()

ble_status_t R_BLE_OTS_SetObjType ( const st_ble_ots_uuid_t p_value)

Set Object Type characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjType()

ble_status_t R_BLE_OTS_GetObjType ( st_ble_ots_uuid_t p_value)

Get Object Type characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjSize()

ble_status_t R_BLE_OTS_SetObjSize ( const st_ble_ots_obj_size_t p_value)

Set Object Size characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjSize()

ble_status_t R_BLE_OTS_GetObjSize ( st_ble_ots_obj_size_t p_value)

Get Object Size characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjFirstCreated()

ble_status_t R_BLE_OTS_SetObjFirstCreated ( const st_ble_date_time_t p_value)

Set Object First-Created characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjFirstCreated()

ble_status_t R_BLE_OTS_GetObjFirstCreated ( st_ble_date_time_t p_value)

Get Object First-Created characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjLastModified()

ble_status_t R_BLE_OTS_SetObjLastModified ( const st_ble_date_time_t p_value)

Set Object Last-Modified characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjLastModified()

ble_status_t R_BLE_OTS_GetObjLastModified ( st_ble_date_time_t p_value)

Get Object Last-Modified characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjId()

ble_status_t R_BLE_OTS_SetObjId ( const uint8_t *  p_value)

Set Object ID characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjId()

ble_status_t R_BLE_OTS_GetObjId ( uint8_t *  p_value)

Get Object ID characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjProp()

ble_status_t R_BLE_OTS_SetObjProp ( const st_ble_ots_obj_prop_t p_value)

Set Object Properties characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjProp()

ble_status_t R_BLE_OTS_GetObjProp ( st_ble_ots_obj_prop_t p_value)

Get Object Properties characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_IndicateObjActionCp()

ble_status_t R_BLE_OTS_IndicateObjActionCp ( uint16_t  conn_hdl,
const st_ble_ots_obj_action_cp_t p_value 
)

Send indication of Object Action Control Point characteristic value to the remote device.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueCharacteristic value to send.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjActionCpCliCnfg()

ble_status_t R_BLE_OTS_SetObjActionCpCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Set Object Action Control Point cli cnfg descriptor value to the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueDescriptor value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjActionCpCliCnfg()

ble_status_t R_BLE_OTS_GetObjActionCpCliCnfg ( uint16_t  conn_hdl,
uint16_t *  p_value 
)

Get Object Action Control Point cli cnfg descriptor value from the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_IndicateObjListCp()

ble_status_t R_BLE_OTS_IndicateObjListCp ( uint16_t  conn_hdl,
const st_ble_ots_obj_list_cp_t p_value 
)

Send indication of Object List Control Point characteristic value to the remote device.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueCharacteristic value to send.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjListCpCliCnfg()

ble_status_t R_BLE_OTS_SetObjListCpCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Set Object List Control Point cli cnfg descriptor value to the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueDescriptor value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjListCpCliCnfg()

ble_status_t R_BLE_OTS_GetObjListCpCliCnfg ( uint16_t  conn_hdl,
uint16_t *  p_value 
)

Get Object List Control Point cli cnfg descriptor value from the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjListFilter0()

ble_status_t R_BLE_OTS_SetObjListFilter0 ( const st_ble_ots_obj_list_filter_0_t p_value)

Set Object List Filter 0 characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjListFilter0()

ble_status_t R_BLE_OTS_GetObjListFilter0 ( st_ble_ots_obj_list_filter_0_t p_value)

Get Object List Filter 0 characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjListFilter1()

ble_status_t R_BLE_OTS_SetObjListFilter1 ( const st_ble_ots_obj_list_filter_1_t p_value)

Set Object List Filter 1 characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjListFilter1()

ble_status_t R_BLE_OTS_GetObjListFilter1 ( st_ble_ots_obj_list_filter_1_t p_value)

Get Object List Filter 1 characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjListFilter2()

ble_status_t R_BLE_OTS_SetObjListFilter2 ( const st_ble_ots_obj_list_filter_2_t p_value)

Set Object List Filter 2 characteristic value to the local GATT database.

Parameters
[in]p_valueCharacteristic value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjListFilter2()

ble_status_t R_BLE_OTS_GetObjListFilter2 ( st_ble_ots_obj_list_filter_2_t p_value)

Get Object List Filter 2 characteristic value from the local GATT database.

Parameters
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_IndicateObjChanged()

ble_status_t R_BLE_OTS_IndicateObjChanged ( uint16_t  conn_hdl,
const st_ble_ots_obj_changed_t p_value 
)

Send indication of Object Changed characteristic value to the remote device.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueCharacteristic value to send.
Returns
ble_status_t

◆ R_BLE_OTS_SetObjChangedCliCnfg()

ble_status_t R_BLE_OTS_SetObjChangedCliCnfg ( uint16_t  conn_hdl,
const uint16_t *  p_value 
)

Set Object Changed cli cnfg descriptor value to the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueDescriptor value to set.
Returns
ble_status_t

◆ R_BLE_OTS_GetObjChangedCliCnfg()

ble_status_t R_BLE_OTS_GetObjChangedCliCnfg ( uint16_t  conn_hdl,
uint16_t *  p_value 
)

Get Object Changed cli cnfg descriptor value from the local GATT database.

Parameters
[in]conn_hdlConnection handle.
[in]p_valueOutput location for the acquired descriptor value.
Returns
ble_status_t

◆ R_BLE_OTS_Init()

ble_status_t R_BLE_OTS_Init ( ble_servs_app_cb_t  cb)

Initialize Object Transfer Service service.

Parameters
[in]cbService callback.
Returns
ble_status_t