\r
#include "bt_app_api.h"\r
#include "btm_ble_api.h"\r
+//#include "btm_ble_int.h"\r
+\r
\r
void API_Ble_AppConfigAdvData(tESP_BLE_ADV_DATA *adv_data,\r
tAPI_SET_ADV_DATA_CMPL_CBACK *p_adv_data_cback)\r
}\r
\r
\r
+void API_Ble_SetScanParams (tESP_BLE_SCAN_PARAMS *scan_params, tGATT_IF client_if,\r
+ tBLE_SCAN_PARAM_SETUP_CBACK scan_param_setup_cback)\r
+{\r
+ if (API_BLE_ISVALID_PARAM(scan_params->scan_intv, BTM_BLE_SCAN_INT_MIN, BTM_BLE_SCAN_INT_MAX) &&\r
+ API_BLE_ISVALID_PARAM(scan_params->scan_win, BTM_BLE_SCAN_WIN_MIN, BTM_BLE_SCAN_WIN_MAX) &&\r
+ (scan_params->scan_type == BTM_BLE_SCAN_MODE_ACTI || scan_params->scan_type == BTM_BLE_SCAN_MODE_PASS))\r
+ {\r
+ BTA_DmSetBleScanFilterParams(client_if, \r
+ scan_params->scan_intv,\r
+ scan_params->scan_win,\r
+ scan_params->scan_type,\r
+ scan_params->scan_fil_policy,\r
+ scan_params->addr_type_own,\r
+ scan_param_setup_cback);\r
+ }\r
+}\r
+\r
+\r
+void API_Ble_StartScanning (UINT8 duration, tBTA_DM_SEARCH_CBACK *p_results_cb)\r
+{\r
+ if((duration != 0) && (p_results_cb != NULL))\r
+ {\r
+ ///Start scan the device\r
+ BTA_DmBleObserve(true, duration, p_results_cb); \r
+ }else{\r
+ LOG_ERROR("The scan duration or p_results_cb invalid\n");\r
+ }\r
+}\r
+\r
+void API_Ble_AppStopAdvertising(void)\r
+{\r
+ bool stop_adv = true;\r
+ \r
+ BTA_DmBleBroadcast(stop_adv);\r
+}\r
+\r
+void API_Ble_AppUpdateConnectionParams(BD_ADDR bd_addr, UINT16 min_int, \r
+ UINT16 max_int, UINT16 latency, UINT16 timeout)\r
+{\r
+ if (min_int > max_int){\r
+ min_int = max_int;\r
+ }\r
+\r
+ if (min_int < BTM_BLE_CONN_INT_MIN || max_int > BTM_BLE_CONN_INT_MAX){\r
+ LOG_ERROR("Invalid interval value.\n");\r
+ }\r
+\r
+ BTA_DmBleUpdateConnectionParams(bd_addr, min_int, max_int,\r
+ latency, timeout);\r
+ \r
+}\r
+\r
+void API_Ble_SetPacketDataLength(BD_ADDR remote_device, UINT16 tx_data_length)\r
+{\r
+ if (tx_data_length > BTM_BLE_DATA_SIZE_MAX){\r
+ tx_data_length = BTM_BLE_DATA_SIZE_MAX;\r
+ }else if (tx_data_length < BTM_BLE_DATA_SIZE_MIN){\r
+ tx_data_length = BTM_BLE_DATA_SIZE_MIN;\r
+ }\r
+\r
+ BTA_DmBleSetDataLength(remote_device, tx_data_length);\r
+}\r
+\r
+\r
+void API_Ble_SetRandAddress(BD_ADDR rand_addr)\r
+{\r
+ if (rand_addr != NULL){\r
+ BTA_DmSetRandAddress(rand_addr);\r
+ }else{\r
+ LOG_ERROR("Invalid randrom address.\n");\r
+ }\r
+}\r
+\r
+void API_Ble_ConfigLocalPrivacy(BOOLEAN privacy_enable)\r
+{\r
+ BTA_DmBleConfigLocalPrivacy(privacy_enable);\r
+}\r
+\r
+\r
+\r
+\r
+void API_Ble_GATTC_AppRegister(tBT_UUID *p_app_uuid, tBTA_GATTC_CBACK *p_client_cb)\r
+{\r
+ if (p_app_uuid != NULL)\r
+ {\r
+ BTA_GATTC_AppRegister(p_app_uuid, *p_client_cb);\r
+ }else{\r
+ LOG_ERROR("The app uuid invalid.\n");\r
+ }\r
+}\r
+\r
+\r
+\r
\r
\r
\r