1 /* 2 // Copyright (C) 2022 Beken Corporation 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 #pragma once 16 17 #ifdef __cplusplus 18 extern"C" { 19 #endif 20 21 //legacy 22 ble_err_t bk_ble_init_ext(void *func);//ble_notice_cb_t func 23 uint8_t bk_ble_find_actv_state_idx_handle(uint8_t state); 24 uint8_t bk_ble_find_master_state_idx_handle(uint8_t state); 25 26 //ethermind 27 ble_err_t bk_ble_set_tasks_stack_size(uint16_t size, uint8_t index); 28 uint16_t bk_ble_get_task_stack_size(uint8_t index); 29 ble_err_t bk_ble_get_tasks_name(char *name[], uint8_t max_name_len, uint8_t *count); 30 const char * bk_ble_get_task_name(uint8_t index); 31 uint8_t bk_ble_get_task_count(void); 32 33 ble_err_t bk_ble_create_connection(ble_conn_param_normal_t *conn_param, ble_cmd_cb_t callback); 34 ble_err_t bk_ble_create_connection_ex(ble_conn_param_ex_t *conn_param, ble_cmd_cb_t callback); 35 36 ble_err_t bk_ble_send_notify 37 ( 38 uint8_t conn_handle, 39 uint16_t service_handle, 40 uint16_t char_handle, 41 uint8_t *data, 42 uint16_t len 43 ); 44 45 ble_err_t bk_ble_att_write(uint8_t conn_handle, ATT_ATTR_HANDLE hdl, uint8_t * value, uint16_t length); 46 //ble_err_t bk_ble_get_att_handle_from_device_handle(ATT_HANDLE *att_handle, DEVICE_HANDLE *device_handle); 47 ble_err_t bk_ble_get_conn_handle_from_device_handle(uint8 *conn_handle, DEVICE_HANDLE *device_handle); 48 ble_err_t bk_ble_set_advertising_params_extended( 49 uint8_t adv_handle, 50 uint16_t adv_event_properties, 51 uint32_t primary_advertising_interval_min, 52 uint32_t primary_advertising_interval_max, 53 uint8_t primary_advertising_channel_map, 54 uint8_t own_address_type, 55 uint8_t peer_address_type, 56 uint8_t * peer_address, 57 uint8_t advertising_filter_policy, 58 int8_t advertising_tx_power, 59 uint8_t primary_advertising_phy, 60 uint8_t secondary_adv_max_skip, 61 uint8_t secondary_advertising_phy, 62 uint8_t advertising_set_id, 63 uint8_t scan_req_nfy_enable, 64 ble_cmd_cb_t callback); 65 ble_err_t bk_ble_set_advertising_params( 66 uint32_t primary_advertising_interval_min, 67 uint32_t primary_advertising_interval_max, 68 uint8_t primary_advertising_channel_map, 69 uint8_t own_address_type, 70 uint8_t primary_advertising_phy, 71 uint8_t secondary_advertising_phy, 72 ble_cmd_cb_t callback); 73 74 ble_err_t bk_ble_set_advertising_data_extended( 75 uint8_t advertising_handle, 76 uint8_t operation, 77 uint8_t frag_pref, 78 uint8_t * adv_buff, 79 uint8_t adv_len, 80 ble_cmd_cb_t callback); 81 ble_err_t bk_ble_set_advertising_data( 82 uint8_t* adv_buff, 83 uint8_t adv_len, 84 ble_cmd_cb_t callback); 85 86 ble_err_t bk_ble_set_scan_response_data_extended( 87 uint8_t advertising_handle, 88 uint8_t operation, 89 uint8_t fragment_pref, 90 uint8_t scan_response_data_length, 91 uint8_t * scan_response_data, 92 ble_cmd_cb_t callback); 93 ble_err_t bk_ble_set_scan_response_data( 94 uint8_t scan_response_data_length, 95 uint8_t * scan_response_data, 96 ble_cmd_cb_t callback); 97 98 ble_err_t bk_ble_set_advertising_enable_extended( 99 uint8_t enable, 100 uint8_t number_of_sets, 101 uint8_t * advertising_handle, 102 uint16_t * duration, 103 uint8_t * max_extd_adv_evts, 104 ble_cmd_cb_t callback); 105 ble_err_t bk_ble_set_advertising_enable( 106 uint8_t enable, 107 ble_cmd_cb_t callback); 108 109 ble_err_t bk_ble_set_scan_parameters_extended( 110 uint8_t own_address_type, 111 uint8_t scanning_filter_policy, 112 uint8_t scanning_phy, 113 uint16_t * scan_interval, 114 uint16_t * scan_window, 115 ble_cmd_cb_t callback); 116 ble_err_t bk_ble_set_scan_parameters( 117 uint8_t own_address_type, 118 uint8_t scanning_filter_policy, 119 uint8_t scanning_phy, 120 uint16_t scan_interval, 121 uint16_t scan_window, 122 ble_cmd_cb_t callback); 123 124 ble_err_t bk_ble_set_scan_enable_extended( 125 uint8_t enable, 126 uint8_t filter_duplicates, 127 uint16_t duration, 128 uint16_t period, 129 ble_cmd_cb_t callback); 130 131 132 ble_err_t bk_ble_gatt_db_add_service 133 ( 134 /* IN */ GATT_DB_SERVICE_INFO * service_info, 135 /* IN */ uint16_t num_attr_handles, 136 /* OUT */ uint16_t * service_handle 137 ); 138 139 ble_err_t bk_ble_gatt_db_add_characteristic 140 ( 141 /* IN */ uint16_t service_handle, 142 /* IN */ GATT_DB_UUID_TYPE * char_uuid, 143 /* IN */ uint16_t perm, 144 /* IN */ uint16_t property, 145 /* IN */ ATT_VALUE * char_value, 146 /* OUT */ uint16_t * char_handle 147 ); 148 149 150 ble_err_t bk_ble_gatt_db_add_characteristic_descriptor 151 ( 152 /* IN */ uint16_t service_handle, 153 /* IN */ uint16_t char_handle, 154 /* IN */ GATT_DB_UUID_TYPE * desc_uuid, 155 /* IN */ uint16_t perm, 156 /* IN */ ATT_VALUE * desc_value 157 ); 158 159 ble_err_t bk_ble_hci_read_phy( 160 bd_addr_t *peer_addr, 161 uint8_t peer_addr_type, 162 ble_cmd_cb_t callback); 163 164 ble_err_t bk_ble_hci_set_phy( 165 bd_addr_t *peer_addr, 166 uint8_t peer_addr_type, 167 ble_set_phy_t *le_set_phy, 168 ble_cmd_cb_t callback); 169 ble_err_t bk_ble_set_local_name( uint8_t *name, uint8_t name_len, ble_cmd_cb_t callback); 170 ble_err_t bk_ble_get_local_name( ble_cmd_cb_t callback); 171 ble_err_t bk_ble_read_local_addr(ble_cmd_cb_t callback); 172 173 ble_err_t bk_ble_gatt_db_dyn_register(void); 174 175 ble_err_t bk_ble_gatt_db_init_pl(GATT_DB_PL_EXT_HANDLER_CB hndlr_cb); 176 void bk_ble_bt_gatt_db_get_char_val_hndl(GATT_DB_HANDLE *gdbh, ATT_ATTR_HANDLE *attr_handle); 177 ble_err_t bk_ble_disconnect_connection(bd_addr_t *addr, uint8_t addr_type, ble_cmd_cb_t callback); 178 ble_err_t bk_ble_cancel_connect(ble_cmd_cb_t callback); 179 ble_err_t bk_ble_update_connection_params(ble_update_conn_param_t *conn_param, ble_cmd_cb_t callback); 180 ble_err_t bk_ble_set_gatt_mtu(uint8_t conn_handle, uint16_t mtu); 181 ble_err_t bk_ble_gatt_read_resp(uint8_t conn_handle, uint8_t * value, uint16_t length); 182 ble_err_t bk_ble_gatt_get_char_val(GATT_DB_HANDLE * handle, ATT_VALUE * attr_value); 183 ble_err_t bk_ble_att_read(uint8_t conn_handle, ATT_ATTR_HANDLE hdl); 184 ATT_ATTR_HANDLE bk_ble_get_current_gatt_db_attr_handle(void); 185 186 #ifdef __cplusplus 187 } 188 #endif 189 190