• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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