\r
unsigned char nameLen = BD_NAME_LEN;\r
bool getNameRet = gap_get_device_name(&bdAddr, caseInfo.deviceName, &nameLen);\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gap_discovery_result_callback getNameRet(bool): %d nameLen: %d name:%s",\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_discovery_result_callback getNameRet(bool): %d nameLen: %d name:%s",\r
getNameRet, nameLen, caseInfo.deviceName);\r
\r
if (nameLen == 0) { // 过滤未扫描到名字的设备\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "nameLen == 0 return");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "nameLen == 0 return");\r
return;\r
}\r
// 去重操作\r
BluetoothModel::GetInstance()->AddCase(caseInfo); // 增加扫描设备信息\r
}\r
bool ret = gap_read_remote_rssi_value(&bdAddr); // 获取rssi\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "gap_read_remote_rssi_value ret = %d", ret);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_read_remote_rssi_value ret = %d", ret);\r
BluetoothEarPhoneView *bluetoothEarPhoneView = BluetoothEarPhoneView::GetInstance();\r
if (bluetoothEarPhoneView == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bluetoothEarPhoneView nullptr");\r
} // 刷新\r
bluetoothEarListView->GetScanUIList()->RefreshList();\r
}\r
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "bt BtGapDiscoveryResultCallback end");\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "bt BtGapDiscoveryResultCallback end");\r
}\r
\r
void BtGapPairStatusChangedCallback(const bd_addr_t *bdAddr, int status)\r
/* a2dp sink */\r
a2dp_snk_register_callbacks(&g_a2dp_snk_callbacks);\r
}\r
+\r
+void BtA2dpDeInit(void)\r
+{\r
+\r
+ \r
+ \r
+ a2dp_src_deregister_callbacks(&g_a2dpSrcCallbacks);\r
+ a2dp_snk_deregister_callbacks(&g_a2dp_snk_callbacks);\r
+\r
+}\r
void BtInitCallBacks(void)\r
{\r
g_btGapCallBacks.discovery_result_callback = BtGapDiscoveryResultCallback;\r
#include "custom_runtime.h"
#include "bts_br_gap.h"
#include "bts_le_gap.h"
-
+#include "bleService.h"
namespace OHOS
{
-
+ // #define BLE_scan
static testBTView *g_pSystemAboutTheWatchView{nullptr};
testBTView::testBTView()
bool reT_gap;
if(discovery_falg==false)
{
- // reT_gap = gap_br_start_discovery();
- #if BLE_scan
- reT_gap=gap_ble_start_scan();
- #else
- reT_gap = gap_br_start_discovery();
- #endif
- #if BLE_scan
- if(reT_gap==ERRCODE_SUCC)
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_start_scan %d !",reT_gap);
- else
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_start_scan fail %d !",reT_gap);
+ #ifdef BLE_scan
+ srv_ble_start_scan();
#else
- if(reT_gap==true)
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_br_start_scan %d !",reT_gap);
- else
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_br_start_scan fail %d !",reT_gap);
+ uint32_t device_classes = DEVICE_MAJOR_CLASS_AUDIO_VIDEO|DEVICE_MAJOR_CLASS_PHONE|SERVICE_AUDIO;
+ // errcode_t err = gap_br_set_inquiry_paramters(device_classes, 5);
+ errcode_t err = gap_br_set_inquiry_paramters(0,20);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"gap_br_set_inquiry_paramters errcode_t %d!\n",err);
+ bool ret = gap_br_start_discovery();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"gap_br_start_discovery bool %d!\n",ret);
#endif
-
-
+
discovery_falg=true;
}
else
{
- //reT_gap = gap_br_cancel_discovery();
- #if BLE_scan
- reT_gap=gap_ble_stop_scan();
+ #ifdef BLE_scan
+ srv_ble_stop_scan();
#else
- reT_gap = gap_br_cancel_discovery();
- #endif
-
-
- #if BLE_scan
- if(reT_gap==ERRCODE_SUCC)
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_stop_scan %d !",reT_gap);
- else
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_stop_scan fail %d !",reT_gap);
- #else
- if(reT_gap==true)
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_br_cancel_discovery %d !",reT_gap);
- else
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_br_cancel_discovery fail %d !",reT_gap);
-
-
- #endif
-
- discovery_falg=false;
+ bool ret = gap_br_cancel_discovery();
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"gap_br_cancel_discovery bool %d!\n",ret);
+
+ #endif
+ discovery_falg=false;
}
}
else
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "no bt_discovering %d",number);
- }
-
- unsigned int connedDevicesNum = 0;
-
- bool ret = gap_get_paired_devices_num(&connedDevicesNum);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Setup GetPariedDevicesNum ret = %d, num = %d", ret, connedDevicesNum);
-
- if (connedDevicesNum != 0)
- {
- gap_paired_device_info_t *devInfo = (gap_paired_device_info_t *)malloc(sizeof(gap_paired_device_info_t) * connedDevicesNum);
- if (devInfo == NULL)
- {
- return;
- }
-
- ret = gap_get_paired_devices_list(devInfo, (int *)&connedDevicesNum);
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "RemovePair gap_get_paired_devices_list ret = %d", ret);
-
-
- for (int i = 0; i < static_cast<int>(connedDevicesNum); ++i)
- {
-
- memcpy_s(device_name_buf,64,devInfo[i].device_name,strlen((const char*)devInfo[i].device_name));
- testBTView:: GetInstance()->set_BR_connect(device_name_buf);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RemovePair gap_get_paired_devices_list ret = %s", devInfo[i].device_name);
- }
- free(devInfo);
- }
-
-
- }
-
- static void sample_gap_ble_set_scan_param_cbk(errcode_t status)
- {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "sample_gap_ble_set_scan_param_cbk%d", status);
+ }
}
-
-
-
+
bool testBTView::testBTScrollViewcrollViewinit(void)
{
memcpy(bd_addr.addr,addr,6);
- //enable_bt_stack();
-
- static gap_call_backs_t cb =
- {
- .discovery_state_changed_callback=sample_gap_discovery_state_changed_callback,
- .discovery_result_callback= sample_gap_discovery_result_callback,
- };
- //gap_br_set_bt_scan_mode(GAP_SCAN_MODE_GENERAL_DISCOVERABLE,60);
- // gap_ble_register_callbacks()
-
- //int ret = gap_ble_register_callbacks(&cb);
-
- int ret= gap_register_callbacks(&cb);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, ":: %x !",ret);
// gap_ble_scan_params_t scan_param = { 0 };
// scan_param.scan_interval = 1;
// scan_param.scan_window = 5;
// scan_param.scan_filter_policy = GAP_BLE_ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY;
// ret = gap_ble_set_scan_parameters(&scan_param);
//bts_sample_log("gap ble set scan parameters ret(errcode_t): %x\n", ret);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, ":: %x !",ret);
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, ":: %x !",ret);
// bts_sample_log("gap reg cbk ret %x\n", ret);
+
- gap_br_set_inquiry_paramters(1, 5);
-
- //清楚配对
- gap_remove_all_pairs();
+ // //清楚配对
+ // gap_remove_all_pairs();
ButtonConfig_ext_t buttonconfig;
buttonconfig.x = 100;
\r
static void svr_gap_ble_connect_param_update_callback(uint16_t conn_id, errcode_t status,const gap_ble_conn_param_update_t *param)\r
{\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_connect_param_update_callback %d %d %d\r\n",param->interval,param->latency,param->timeout);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"connect param changed conn_id:%u status:%u", conn_id, status);\r
+ if (param != NULL) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP," interval:%u latency:%u timeout:%u\r\n", param->interval, param->latency, param->timeout);\r
+ }\r
}\r
static void svr_gap_ble_auth_complete_callback(uint16_t conn_id, const bd_addr_t *addr, errcode_t status,ble_auth_info_evt_t* evt)\r
{\r
sendParieSuccess(1,&phone_addr);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "svr_gap_ble_auth_complete_callback %x %x %x %x %x %x\r\n",addr->addr[0],addr->addr[1],addr->addr[2],addr->addr[3],addr->addr[4],addr->addr[5]);\r
}\r
+\r
+static void sample_gap_ble_set_scan_param_cbk(errcode_t status)\r
+{\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SetScanParameterCallback status: %u\n", status);\r
+}\r
+\r
+static void sample_gap_ble_scan_result_cbk(const gap_scan_result_data_t *scan_result_data)\r
+{\r
+ if (scan_result_data == NULL) {\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "scan_result_data is null \n");\r
+ return;\r
+ }\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr_type: %u addr:0x%02x:**:**:**:%02x:%02x rssi %u.\r\n", scan_result_data->addr.type,\r
+ scan_result_data->addr.addr[0], scan_result_data->addr.addr[4],\r
+ scan_result_data->addr.addr[5], scan_result_data->rssi );\r
+}\r
+void srv_ble_start_scan(void)\r
+{\r
+ gap_ble_scan_params_t scan_param = { 0 };\r
+ scan_param.scan_interval = 0x0050;\r
+ scan_param.scan_window = 0x0030;\r
+ scan_param.scan_type = GAP_BLE_SCAN_TYPE_ACTIVE;\r
+ scan_param.scan_phy = GAP_BLE_PHY_NO_PACKET;\r
+ scan_param.scan_filter_policy = GAP_BLE_ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY;\r
+ errcode_t ret = gap_ble_set_scan_parameters(&scan_param);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"gap ble set scan parameters ret(errcode_t): %x\n", ret);\r
+\r
+ errcode_t reT_gap=gap_ble_start_scan();\r
+ if(reT_gap==ERRCODE_SUCC)\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_start_scan %d !",reT_gap);\r
+ else\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_start_scan fail %d !",reT_gap);\r
+ \r
+}\r
+\r
+void srv_ble_stop_scan(void)\r
+{\r
+ errcode_t reT_gap=gap_ble_stop_scan();\r
+ if(reT_gap==ERRCODE_SUCC)\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_stop_scan %d !",reT_gap);\r
+ else\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_ble_stop_scan fail %d !",reT_gap);\r
+}\r
+\r
void svr_ble_btcallback_reg(void)//ble基础通讯服务注册回调函数\r
{\r
\r
errcode_t ret = gap_ble_set_sec_param(&sec_params);//设置配对参数 发起配对弹窗\r
\r
\r
-\r
- g_ble_gapble_cbs.conn_state_change_cb = svr_ble_connstate_change_cb;\r
+ g_ble_gapble_cbs.ble_enable_cb = NULL;\r
+ g_ble_gapble_cbs.ble_disable_cb = NULL;\r
+ g_ble_gapble_cbs.set_adv_data_cb = svr_ble_set_adv_data_cb;\r
+ g_ble_gapble_cbs.set_adv_param_cb = NULL;\r
+ g_ble_gapble_cbs.set_scan_param_cb = sample_gap_ble_set_scan_param_cbk;\r
g_ble_gapble_cbs.start_adv_cb = svr_ble_adv_start_cb;\r
g_ble_gapble_cbs.stop_adv_cb = svr_ble_adv_stop_cb;\r
- g_ble_gapble_cbs.set_adv_data_cb = svr_ble_set_adv_data_cb;\r
+ g_ble_gapble_cbs.scan_result_cb = sample_gap_ble_scan_result_cbk;\r
+ g_ble_gapble_cbs.conn_state_change_cb = svr_ble_connstate_change_cb;\r
g_ble_gapble_cbs.pair_result_cb = svr_pair_result_cbt_cb;\r
- g_ble_gapble_cbs.conn_param_update_cb = svr_gap_ble_connect_param_update_callback;\r
+ g_ble_gapble_cbs.read_rssi_cb = NULL;\r
+ g_ble_gapble_cbs.terminate_adv_cb = NULL;\r
g_ble_gapble_cbs.auth_complete_cb = svr_gap_ble_auth_complete_callback;\r
+ g_ble_gapble_cbs.conn_param_update_cb = svr_gap_ble_connect_param_update_callback;\r
+ \r
gap_ble_register_callbacks(&g_ble_gapble_cbs);\r
\r
srv_ble_server_register_gatt_callbacks();\r
bool ret = enable_bt_stack();\r
// bool ret = enable_ble();\r
if (ret != ERRCODE_SUCC) {\r
- // WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "svr_bluetooth_init enable_bt_stack ret:%u.\r\n", ret);\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "svr_bluetooth_init enable_bt_stack ret:%u.\r\n", ret);\r
}\r
// osDelay(100);\r
svr_ble_btcallback_reg();\r
void svr_ble_adv_stop(void);
void ble_avd_mode_change(uint8_t mode);
//
+
+void srv_ble_start_scan(void);
+void srv_ble_stop_scan(void);
+
void blesrv_service_recv_msg_handler(uint16_t srv_handle, uint8_t * msg_data, uint32_t msg_len);
errcode_t uapi_blesrv_service_init(void);
#ifdef __cplusplus
char str[64] = "^PHYNUM:MACBT,";\r
strcat_s(str, strlen(str) + strlen((char*)addr), (char*)addr);\r
wstp_print("%s\r\n", &str[0]);\r
- wstp_print("local_addr : ******%02x%02x%02x\n", addr[3], addr[4], addr[5]);\r
+ wstp_print("local_addr : %02x*****%02x%02x%02x\n",addr[5], addr[2], addr[1], addr[0]);\r
return ERRCODE_SUCC;\r
} else {\r
wstp_print("bluetooth_get_local_addr err\r\n");\r
/* 蓝牙服务测试命令总入口 */
int bt_service_sample_cmd(int argc, char *argv[])
{
+ //临时开启日志
+ // g_bth_log_type_level = 0x100 | 0x200 | 0x400 | 0x800 |0x10 | 0x20 | 0x40 | 0x80 ;
+
bts_sample_log("bt_service_sample_cmd: ");
if (argc < BT_SRV_SAMPLE_CMD_ARGC_MIN || argv == NULL) {
goto help;