errcode_t ret;\r
// 设置自动回连,ios一键双连依赖此配置\r
\r
- bluetooth_set_auto_reconnect(0);\r
+ bluetooth_set_auto_reconnect(1);\r
\r
ret = enable_bt_stack();\r
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt enable_bt_stack ret = %u", ret);\r
{\r
\r
int ret = a2dp_snk_connect(&g_bd_addr);\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: ****%02x%02x%02x%02x playing_state: %x\n",\r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: ****%02x%02x%02x%02x g_bd_addr.type: %x\n",\r
g_bd_addr.addr[3], g_bd_addr.addr[2], g_bd_addr.addr[1], g_bd_addr.addr[0], g_bd_addr.type); /* 3 2 1 0 idx */\r
\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"state(int): %x\n", ret);\r
unsigned char addr[BD_ADDR_LEN] = {0};
if (strncmp((const char*)g_bdAddr.addr, (const char*)addr, BD_ADDR_LEN) == 0) {
(void)memcpy_s(g_bdAddr.addr, BD_ADDR_LEN, bdAddr->addr, BD_ADDR_LEN);
+ g_bdAddr.type=bdAddr->type;
}
}
static void BtDisconnectedPro(void)
{
g_btConnState = PROFILE_STATE_DISCONNECTED;
- (void)memset_s(g_bdAddr.addr, BD_ADDR_LEN, 0, BD_ADDR_LEN);
+ //(void)memset_s(g_bdAddr.addr, BD_ADDR_LEN, 0, BD_ADDR_LEN);
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "[BtDisconnectedPro] g_bdAddr: ");
CatBdAddr(&g_bdAddr);
// 蓝牙状态连接
static void ConnStateChanged(const bd_addr_t *bdAddr, profile_connect_state_t state)
{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] state = 0x%X bdAddr: ", state);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[ConnStateChanged] state = 0x%X bdAddr: ", state);
CatBdAddr(bdAddr);
switch (state) {
{
int ret;
ret = hfp_hf_disconnect(&g_bdAddr);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[hfp_disconnect] ret:%d", ret);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: ****%02x %02x %02x %02x g_bdAddr.type: %x\n",
+ g_bdAddr.addr[3], g_bdAddr.addr[2], g_bdAddr.addr[1], g_bdAddr.addr[0], g_bdAddr.type); /* 3 2 1 0 idx */
+
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[hfp_disconnect] ret:%X", ret);
return ret;
}
int uapi_hfp_connect(void)
{
int ret;
+ if(false==bt_is_acl_connected(&g_bdAddr))
+ {
+ ret= gap_connect_remote_device(&g_bdAddr);
+
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[bt_is_acl_connected] ret:%X", ret);
+ }
+ else
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[bt_is_acl_connected is true");
+ }
+
+
ret = hfp_hf_connect(&g_bdAddr);
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[hfp_connect_hfp] ret:%d", ret);
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "addr: ****%02x %02x %02x %02x g_bdAddr.type: %x\n",
+ g_bdAddr.addr[3], g_bdAddr.addr[2], g_bdAddr.addr[1], g_bdAddr.addr[0], g_bdAddr.type); /* 3 2 1 0 idx */
+
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "[uapi_hfp_connect] ret:%X", ret);
return ret;
}
\r
Bleconnect = GAP_BLE_STATE_CONNECTED;//蓝牙已连接\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GAP_BLE_STATE_CONNECTED!!! 0x%x\r\n",pair_state);\r
+ //连接上ble,此时如果没有连接上A2DP或者HFP则开启自动回连去连接\r
+ \r
\r
}\r
\r
addr->addr[2],addr->addr[3],addr->addr[4],addr->addr[5],status);\r
//if(get_notify_switch())\r
ble_ancs_client_cmd_setup_and_subscribe(g_ble_conn_id);\r
+\r
+ gap_reconnect_media_device(&phone_addr);\r
+\r
+ //if(!uapi_a2dp_snk_get_device_connect_state() || !uapi_hfp_connect_state())\r
+ \r
\r
}\r
\r
//WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "svr_ble_bt_gatts_req_read_cb ret:is_long:%d 2ae2 %d read_cb_para->handle :%d",read_cb_para->is_long,data2ae2Cmd,read_cb_para->handle);\r
if(read_cb_para->handle!=data2ae2Cmd)\r
return;\r
- \r
+ \r
// if(flag==0)\r
// ble_ancs_client_cmd_setup_and_subscribe(g_ble_conn_id);\r
// else if(flag==1)\r