}\r
printf("\n");\r
}\r
- if(mac_tmp[0] != 0 && mac_tmp[1] != 0 && mac_tmp[2] != 0 && mac_tmp[3] != 0 && mac_tmp[4] != 0 && mac_tmp[5] != 0)\r
+ if(mac_tmp[0] == 0 && mac_tmp[1] == 0 && mac_tmp[2] == 0 && mac_tmp[3] == 0 && mac_tmp[4] == 0 && mac_tmp[5] == 0)\r
{\r
- printf("MAC地址: len %d",sizeof(mac_tmp));\r
+ memcpy(mac_data,0,6);\r
+ }else{\r
memcpy(mac_data,mac_tmp,6);\r
}\r
cJSON_Delete(root);\r
}\r
printf("\n");\r
}\r
- if(mac[0] !=0 && mac[1] != 0 && mac[2] != 0 && mac[3] != 0 && mac[4] != 0 && mac[5] != 0)\r
+ if(mac[0] == 0 && mac[1] == 0 && mac[2] == 0 && mac[3] == 0 && mac[4] == 0 && mac[5] == 0)\r
+ {\r
+ memcpy(phonemac,0,6);\r
+ }else\r
{\r
memcpy(phonemac,mac,6);\r
+\r
}\r
\r
cJSON *pn = cJSON_GetObjectItem(root,"pn");\r
savephonename = malloc(sizeof(char)*datalen);\r
strcpy(str,pn->valuestring);\r
strcpy(savephonename,pn->valuestring);\r
+ free(str);\r
printf("str:%s savephonename:%s\n",str,savephonename);\r
}\r
printf("设备名称: %s\n", pn->valuestring);\r
printf("\n");\r
}\r
if(phone_tmp[0] == 0 && phone_tmp[1] == 0 && phone_tmp[2] == 0 && phone_tmp[3] == 0 && phone_tmp[4] == 0 && phone_tmp[5] == 0){\r
- memcpy(phoneMac,phone_tmp,6);\r
+ memcpy(phoneMac,0,6);\r
}else\r
{\r
- memcpy(phoneMac,0,6);\r
+ memcpy(phoneMac,phone_tmp,6);\r
+ \r
}\r
cJSON_Delete(root);\r
} \r
str = malloc(sizeof(char)*showname_len);\r
pn->valuestring[showname_len-1]='\0';\r
strcpy(str,pn->valuestring);\r
+ if(str)\r
+ {\r
+ free(str);\r
+ }\r
printf("GetwatchSaveName:%s",pn->valuestring);\r
}\r
}\r
\r
GetwatchSaveMac(&save_mac,&MacType);//获取手表设备本地保存的mac地址和mac地址类型 \r
getPhoneMac(crcnum,&copare_mac);\r
- \r
+ \r
if(save_mac[0] == 0 && save_mac[1] == 0 && save_mac[2] == 0 && save_mac[3] == 0 && save_mac[4] == 0 && save_mac[5] == 0)//只要手表本地存储没有mac地址就走连接流程重新绑定\r
{\r
#ifdef SUPPORT_DEVICE_PAIRING_NOTIFICATION\r
if(devnamelen > 0 )\r
{\r
devname = getPhoneName(crcnum);\r
- printf("devname:%s devnamelen:%d",devname,devnamelen);\r
- CustomEventPublish(TOPIC_EVENT_DEVICE_BIND,(uint8_t *)devname,devnamelen);\r
- if(devname){\r
- free(devname);\r
- }\r
+ printf("devname!!!!!!!!!:%s devnamelen:%d",devname,devnamelen);\r
+ CustomEventPublish(TOPIC_EVENT_DEVICE_BIND,NULL,0);\r
+ printf("bond flag:!!!!!!!!!\r\n");\r
}else{\r
CustomEventPublish(TOPIC_EVENT_DEVICE_BIND,NULL,0);\r
}\r
int result = memcmp(copare_mac,save_mac,6);\r
if(result == 0)\r
{\r
+ printf("phone_addr:%02x-%02x-%02x-%02x-%02x-%02x type:%d",phone_addr.addr[0],phone_addr.addr[1],phone_addr.addr[2],\r
+ phone_addr.addr[3],phone_addr.addr[4],phone_addr.addr[5],phone_addr.type);\r
ret = gap_ble_pair_remote_device(&phone_addr);\r
+ printf("ret:%d",ret);\r
bond = 0x02;//手表与该手机绑定过\r
}else{\r
bond = 0x03;//手表与其他手机绑定过\r
devname = GetwatchSaveName();\r
printf("devname:%s showname_len:%d",devname,devnamelen);\r
CustomEventPublish(TOPIC_EVENT_DEVICE_UNBIND,(uint8_t *)devname,devnamelen);\r
- if(devname){\r
- free(devname);\r
- }\r
+ printf("cleanUnbindInfor!!!!!!!");\r
}else{\r
CustomEventPublish(TOPIC_EVENT_DEVICE_UNBIND,NULL,0);\r
}\r
\r
\r
}\r
-\r
+void cameraSend(void)\r
+{\r
+ uint8_t value[19];\r
+ memset(value,0,19);\r
+ uint32_t tmp = 1;\r
+ uint16_t tmp_data = 1;\r
+ value[0] = 0x72;\r
+ value[1] = 0x01;\r
+ value[2] = 0x23;\r
+ memcpy(value+3,&tmp,4);\r
+ memcpy(value+7,&tmp,4);\r
+ memcpy(value+11,&tmp,4);\r
+ memcpy(value+15,&tmp_data,2);\r
+ value[17] = 2;// \r
+ value[18] = Calculate_CRC(value,18);\r
+ sendBleData(value,19);\r
+}\r
//手势拍照协议\r
static void carmeraCmd(uint16_t cmd,uint8_t *crcnum,uint16_t len,uint8_t *totaldata,uint8_t crcvalue)\r
{\r
#if 1//def SUPPORT_BLE_SERVICE\r
static void set_phone_info(bd_addr_t *addr)//保存手机信息 包含手机mac地址\r
{\r
- bd_addr_t new_addr;\r
- new_addr.type = addr->type;\r
- new_addr.addr[0] = addr->addr[5];\r
- new_addr.addr[1] = addr->addr[4];\r
- new_addr.addr[2] = addr->addr[3];\r
- new_addr.addr[3] = addr->addr[2];\r
- new_addr.addr[4] = addr->addr[1];\r
- new_addr.addr[5] = addr->addr[0];\r
- printf("set_phone_info:addr.type %x-%x-%x-%x-%x-%x-%x:%d new_addr.type->%d",new_addr.addr[5],new_addr.addr[4],new_addr.addr[3],new_addr.addr[2],new_addr.addr[1],new_addr.addr[0],addr->type,new_addr.type);\r
- memcpy(&phone_addr,&new_addr,sizeof(bd_addr_t));\r
+ printf("set_phone_info:addr.type %x-%x-%x-%x-%x-%x: new_addr.type->%d\r\n",addr->addr[5],addr->addr[4],\r
+ addr->addr[3],addr->addr[2],addr->addr[1],addr->addr[0],addr->type);\r
+ memcpy(&phone_addr,addr,sizeof(bd_addr_t));\r
memcpy(&disconect_addr,addr,sizeof(bd_addr_t));\r
// printf("phone_addr:%x-%x-%x-%x-%x-%x",phone_addr.addr[0],phone_addr.addr[1],phone_addr.addr[2],phone_addr.addr[3],phone_addr.addr[4],phone_addr.addr[5]);\r
}\r
gap_ble_config_adv_data_t adv_data_info;\r
memset_s(&adv_data_info, sizeof(gap_ble_config_adv_data_t), 0, sizeof(gap_ble_config_adv_data_t));\r
\r
-#if 0\r
- unsigned char set_mac[6] = {0x61,0x22,0x33,0x44,0x09,0x20};\r
+#if 1\r
+ unsigned char set_mac[6] = {0x61,0x22,0x33,0x44,0x09,0x26};\r
bluetooth_set_local_addr(set_mac,6);\r
bd_addr_t addr_info;\r
int32_t ret= 0;\r
if (GAP_BLE_STATE_DISCONNECTED == conn_state) { // restart ble adv when disconnected\r
Bleconnect = GAP_BLE_STATE_DISCONNECTED;//蓝牙已断开\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GAP_BLE_STATE_DISCONNECTED!!! 0x%x ret:%d\r\n",pair_state,AdverFlag);\r
- if(AdverFlag == true){\r
- svr_ble_adv_start();\r
- } \r
+ // if(AdverFlag == true){\r
+ svr_ble_adv_start();\r
+ // } \r
} else {\r
- \r
+ svr_ble_adv_stop();\r
set_phone_info(addr);\r
Bleconnect = GAP_BLE_STATE_CONNECTED;//蓝牙已连接\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GAP_BLE_STATE_CONNECTED!!! 0x%x\r\n",pair_state);\r
svr_ble_bt_init_gatts();\r
#endif\r
#ifdef SUPPORT_HID_SERVICE\r
- ble_hid_server_init();\r
+ // ble_hid_server_init();\r
#endif\r
ble_factory_server_init();\r
svr_ble_adv_start_param();\r