![]() |
Bluetooth LE Profile API document
Bluetooth LE Profile API document Rev.1.00 [May 22, 2020]
|
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...
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_t * | ots_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_t * | ots_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_t * | ots_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) |
#define BLE_OTS_OBJ_NAME_OBJECT_NAME_LEN (100) |
Object Name Length
#define BLE_OTS_OBJ_ACTION_CP_PARAMETER_LEN (20) |
Parameter Length
#define BLE_OTS_OBJ_LIST_CP_PARAMETER_LEN (6) |
Parameter Length
#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.
#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).
#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.
#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.
#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.
Object Action Control Point Op Code enumeration.
Object Action Control Point Result Code enumeration.
Object List Control Point Op Code enumeration.
Object List Control Point Result Code enumeration.
Object List Control Point List Sort Order enumeration.
Object List Filter 0 Filter enumeration.
Object List Filter 1 Filter enumeration.
Object List Filter 2 Filter enumeration.
enum e_ble_ots_char_idx_t |
Object Transfer Service characteristic Index.
enum e_ble_ots_event_t |
Object Transfer Service event type.
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.
[in] | p_value | Characteristic value to set. |
ble_status_t R_BLE_OTS_GetFeat | ( | st_ble_ots_feat_t * | p_value | ) |
Get OTS Feature characteristic value from the local GATT database.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | p_value | Characteristic value to set. |
ble_status_t R_BLE_OTS_GetObjName | ( | st_ble_seq_data_t * | p_value | ) |
Get Object Name characteristic value from the local GATT database.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | p_value | Characteristic value to set. |
ble_status_t R_BLE_OTS_GetObjType | ( | st_ble_ots_uuid_t * | p_value | ) |
Get Object Type characteristic value from the local GATT database.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | p_value | Characteristic value to set. |
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.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | p_value | Characteristic value to set. |
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.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | p_value | Characteristic value to set. |
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.
[in] | p_value | Output location for the acquired descriptor value. |
ble_status_t R_BLE_OTS_SetObjId | ( | const uint8_t * | p_value | ) |
Set Object ID characteristic value to the local GATT database.
[in] | p_value | Characteristic value to set. |
ble_status_t R_BLE_OTS_GetObjId | ( | uint8_t * | p_value | ) |
Get Object ID characteristic value from the local GATT database.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | p_value | Characteristic value to set. |
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.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | conn_hdl | Connection handle. |
[in] | p_value | Characteristic value to send. |
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.
[in] | conn_hdl | Connection handle. |
[in] | p_value | Descriptor value to set. |
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.
[in] | conn_hdl | Connection handle. |
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | conn_hdl | Connection handle. |
[in] | p_value | Characteristic value to send. |
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.
[in] | conn_hdl | Connection handle. |
[in] | p_value | Descriptor value to set. |
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.
[in] | conn_hdl | Connection handle. |
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | p_value | Characteristic value to set. |
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.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | p_value | Characteristic value to set. |
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.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | p_value | Characteristic value to set. |
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.
[in] | p_value | Output location for the acquired descriptor value. |
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.
[in] | conn_hdl | Connection handle. |
[in] | p_value | Characteristic value to send. |
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.
[in] | conn_hdl | Connection handle. |
[in] | p_value | Descriptor value to set. |
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.
[in] | conn_hdl | Connection handle. |
[in] | p_value | Output location for the acquired descriptor value. |
ble_status_t R_BLE_OTS_Init | ( | ble_servs_app_cb_t | cb | ) |