if(root != NULL)\r
{\r
cJSON* pn = cJSON_GetObjectItem(root, "pn");\r
- if (cJSON_IsString(pn)) {\r
+ if (pn && cJSON_IsString(pn)) {\r
len = strlen(pn->valuestring)+1; \r
printf("设备名称: %s len:%d\n", pn->valuestring,len);\r
}\r
cJSON* tp = cJSON_GetObjectItem(root, "tp");\r
- *type=tp->valueint;\r
+ if(tp && cJSON_IsNumber(pn))\r
+ {\r
+ *type=tp->valueint;\r
+ }\r
+ \r
cJSON* bond=cJSON_GetObjectItem(root, "bond");\r
if(bond)\r
{\r
if(root != NULL)\r
{\r
cJSON* pn = cJSON_GetObjectItem(root, "pn");\r
- if (cJSON_IsString(pn)) {\r
+ if (pn && cJSON_IsString(pn)) {\r
uint8_t datalen = strlen(pn->valuestring)+1; \r
if(datalen > PHONE_NAME_MAX_LEN) //\r
{\r
if(root != NULL)\r
{\r
cJSON* mac = cJSON_GetObjectItem(root, "mac");\r
- if (cJSON_IsArray(mac)) {\r
+ if (mac && cJSON_IsArray(mac)) {\r
printf("MAC地址: ");\r
cJSON* macElement = NULL;\r
cJSON_ArrayForEach(macElement, mac) {\r
if(flag == 1)//配对成功\r
{\r
cJSON *dataJSON = cJSON_CreateObject();\r
+ if(dataJSON==NULL)\r
+ {\r
+ return;\r
+ }\r
\r
cJSON* arrayJSON = cJSON_CreateArray();\r
+ if(arrayJSON==NULL)\r
+ {\r
+ return;\r
+ }\r
for(uint8_t id = 0;id<6;id++)\r
{\r
cJSON_AddNumberToObject(arrayJSON,"id",addr->addr[id]);\r
uint8_t second = 0;\r
uint32_t timestamp;\r
cJSON* time = cJSON_GetObjectItem(root, "time");\r
- if (cJSON_IsNumber(time)) {\r
+ if (time && cJSON_IsNumber(time)) {\r
printf("time: %d\n", time->valueint);\r
timestamp = time->valueint;\r
// printf("time: %d\n", time->valueint);\r
}\r
cJSON* jsweek = cJSON_GetObjectItem(root, "week");\r
- if (cJSON_IsNumber(jsweek)) {\r
+ if (jsweek && cJSON_IsNumber(jsweek)) {\r
printf("week: %d\n", jsweek->valueint);\r
week = jsweek->valueint;\r
}\r
cJSON* jsyear = cJSON_GetObjectItem(root, "year");\r
- if (cJSON_IsNumber(jsyear)) {\r
+ if (jsyear && cJSON_IsNumber(jsyear)) {\r
printf("year: %d\n", jsyear->valueint);\r
year = jsyear->valueint;\r
}\r
cJSON* jsmonth = cJSON_GetObjectItem(root, "month");\r
- if (cJSON_IsNumber(jsmonth)) {\r
+ if (jsmonth && cJSON_IsNumber(jsmonth)) {\r
printf("month: %d\n", jsmonth->valueint);\r
month = jsmonth->valueint;\r
}\r
cJSON* jsday = cJSON_GetObjectItem(root, "day");\r
- if (cJSON_IsNumber(jsday)) {\r
+ if (jsday && cJSON_IsNumber(jsday)) {\r
printf("day: %d\n", jsday->valueint);\r
day = jsday->valueint;\r
}\r
cJSON* jshour = cJSON_GetObjectItem(root, "hour");\r
- if (cJSON_IsNumber(jshour)) {\r
+ if (jshour && cJSON_IsNumber(jshour)) {\r
printf("hour: %d\n", jshour->valueint);\r
hour = jshour->valueint;\r
}\r
cJSON* jsminute = cJSON_GetObjectItem(root, "minute");\r
- if (cJSON_IsNumber(jsminute)) {\r
+ if (jsminute && cJSON_IsNumber(jsminute)) {\r
printf("minute: %d\n", jsminute->valueint);\r
minute = jsminute->valueint;\r
}\r
cJSON* jssecond = cJSON_GetObjectItem(root, "second");\r
- if (cJSON_IsNumber(jssecond)) {\r
+ if (jssecond && cJSON_IsNumber(jssecond)) {\r
printf("second: %d\n", jssecond->valueint);\r
second = jssecond->valueint;\r
}\r
cJSON* location = cJSON_GetObjectItem(root, "location");\r
- if (cJSON_IsString(location)) {\r
+ if (location && cJSON_IsString(location)) {\r
printf("location: %s\n", location->valuestring);\r
locations = location->valuestring;\r
}\r
ble_delet_all_AlarmInfo();\r
\r
cJSON* alarms = cJSON_GetObjectItem(root, "alarms");\r
+ if(alarms==NULL)\r
+ {\r
+ return;\r
+ }\r
int alarmCount = cJSON_GetArraySize(alarms);\r
\r
for(int i=0;i<alarmCount;i++)\r
{\r
uint8_t week=0;\r
cJSON *data=cJSON_GetArrayItem(alarms,i);\r
+ if(data==NULL)\r
+ {\r
+ return;\r
+ }\r
+\r
+ cJSON *Id_data =cJSON_GetObjectItem(data,"id");\r
+ if(Id_data==NULL)\r
+ return;\r
+ int id=Id_data->valueint;\r
\r
- int id=cJSON_GetObjectItem(data,"id")->valueint;\r
cJSON* repeat=cJSON_GetObjectItem(data,"repeat");\r
+ if(repeat==NULL)\r
+ return;\r
+ \r
int array_size = cJSON_GetArraySize(repeat);\r
for(int j=0;j<array_size;j++)\r
{\r
}\r
\r
}\r
- int hour=cJSON_GetObjectItem(data,"hour")->valueint;\r
- int minute=cJSON_GetObjectItem(data,"minute")->valueint;\r
- int enable=cJSON_GetObjectItem(data,"enable")->valueint;\r
- ble_SetAlarmInfo(hour, minute,week,i,enable);\r
+ \r
+ cJSON* hour_data=cJSON_GetObjectItem(data,"hour");\r
+ if(hour_data==NULL)\r
+ {\r
+ return;\r
+ }\r
+ int hour=hour_data->valueint;\r
+ cJSON* minute_data=cJSON_GetObjectItem(data,"minute");\r
+ if(minute_data==NULL)\r
+ {\r
+ return;\r
+ }\r
+ int minute=minute_data ->valueint;\r
+ cJSON* enable_data=cJSON_GetObjectItem(data,"enable");\r
+ if(enable_data==NULL)\r
+ {\r
+ return;\r
+ }\r
+ int enable=enable_data ->valueint;\r
+\r
+ ble_SetAlarmInfo(hour, minute,week,i,enable);\r
\r
}\r
cJSON_Delete(root);\r
}\r
}\r
\r
-//获取闹钟数据\r
-static void GetAlarmDataCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totaldata,uint8_t crcvalue)\r
-{\r
- \r
- uint32_t tmp = 1;\r
- uint32_t data_len = 1;\r
- uint16_t tmp_data = 1;\r
- if(Check_CRC(data,len,crcvalue))\r
- {\r
- \r
- cJSON *dataJSON = cJSON_CreateObject();\r
- cJSON* data_arryJSON = cJSON_CreateArray();\r
- cJSON_AddNumberToObject(dataJSON,"code",1);\r
- \r
- for(uint8_t i =0;i<2;i++)\r
- {\r
- cJSON* itemJSON = cJSON_CreateObject();\r
- cJSON* arrayJSON = cJSON_CreateArray();\r
- for(uint8_t id = 0;id<7;id++)\r
- {\r
- cJSON_AddNumberToObject(arrayJSON,"id",id);\r
- }\r
- \r
- cJSON_AddNumberToObject(itemJSON,"id",i);\r
- cJSON_AddItemToObject(itemJSON,"repeat",arrayJSON);\r
- cJSON_AddNumberToObject(itemJSON,"hour",2+20*i);\r
- cJSON_AddNumberToObject(itemJSON,"minute",30+i*0);\r
- cJSON_AddNumberToObject(itemJSON,"enable",1);\r
- cJSON_AddItemReferenceToArray(data_arryJSON,itemJSON);\r
- }\r
- cJSON_AddItemToObject(dataJSON,"alarms",data_arryJSON);\r
-\r
- char *json_format = cJSON_PrintUnformatted(dataJSON);\r
- printf("%d\n",strlen(json_format));\r
- cJSON_Delete(dataJSON);\r
- printf("phone %s",json_format);\r
- char *new_json;\r
-\r
- uint32_t len = strlen(json_format);\r
- uint8_t value[len+17+1];\r
- memset(value,0,len+17+1);\r
- value[0] = 0x72;\r
- value[1] = 0x01;\r
- value[2] = 0x01;\r
- data_len = len;\r
- tmp_data = len;\r
- memcpy(value+3,&tmp,4);\r
- memcpy(value+7,&data_len,4);\r
- memcpy(value+11,&tmp,4);\r
- memcpy(value+15,&tmp_data,2);\r
- if((data_len+18) > ble_nus_max_data_len && data_len > 0)\r
- {\r
-\r
- }else{\r
- if(data_len != 0){\r
- memcpy(value+17,json_format,data_len);\r
- cJSON_free(json_format);\r
- }\r
- \r
- }\r
- value[data_len+17] = Calculate_CRC(value,data_len+17);\r
- sendBleData(value,data_len+17+1);\r
-\r
- }else\r
- {\r
- uint8_t value[19];\r
- memset(value,0,19);\r
- value[0] = 0x72;\r
- value[1] = 0x01;\r
- value[2] = 0x01;\r
- uint32_t tmp = 1;\r
- uint16_t tmp_data = 1;\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] = 0;//校验失败\r
- value[18] = Calculate_CRC(value,18);\r
- sendBleData(value,19);\r
- }\r
-}\r
-\r
-\r
\r
//关于本机内容\r
static void aboutDeviceCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totaldata,uint8_t crcvalue)\r
for(uint8_t i = 0;i<7;i++)\r
{\r
cJSON* data_arryJSON = cJSON_CreateObject();\r
+ if(data_arryJSON==NULL)\r
+ {\r
+ return;\r
+ }\r
uint32_t value=0;\r
if(i==0)\r
{\r
}\r
\r
\r
-\r
-\r
-void getPhoneInfo_test(void)\r
-{\r
- /*\r
- cJSON *dataJSON = cJSON_CreateObject();\r
- cJSON* data_arryJSON = cJSON_CreateArray();\r
- cJSON_AddNumberToObject(dataJSON,"code",1);\r
- \r
- for(uint8_t i =0;i<3;i++)\r
- {\r
- cJSON* itemJSON = cJSON_CreateObject();\r
- cJSON* arrayJSON = cJSON_CreateArray();\r
- for(uint8_t id = 0;id<7;id++)\r
- {\r
- cJSON_AddNumberToObject(arrayJSON,"id",id);\r
- }\r
- \r
- cJSON_AddNumberToObject(itemJSON,"id",i);\r
- cJSON_AddItemToObject(itemJSON,"repeat",arrayJSON);\r
- cJSON_AddNumberToObject(itemJSON,"hour",2+20*i);\r
- cJSON_AddNumberToObject(itemJSON,"minute",30+i*0);\r
- cJSON_AddNumberToObject(itemJSON,"enable",1);\r
- cJSON_AddItemReferenceToArray(data_arryJSON,itemJSON);\r
- }\r
- cJSON_AddItemToObject(dataJSON,"alarm",data_arryJSON);\r
-\r
- char *json_format = cJSON_PrintUnformatted(dataJSON);\r
- printf("%d\n",strlen(json_format));\r
- cJSON_Delete(dataJSON);\r
- printf("%s\n",json_format);\r
- uint32_t data_len = strlen(json_format);\r
- uint8_t value[data_len+18];\r
- uint32_t tmp = 1;\r
- uint16_t tmp_data = 1;\r
- value[0] = 0x72;\r
- value[1] = 0x01;\r
- value[2] = 0x01;\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
- memcpy(value+17,(uint8_t *)json_format,data_len);\r
- unsigned char lrc = Calculate_CRC(value,data_len+17);\r
- printf("lrc:%d",lrc);\r
- value[data_len+18] = lrc;\r
- sendBleData(value,data_len+18);\r
- */\r
-\r
- // uint8_t value[128];\r
- // memset(value,0,128);\r
- \r
- // value[0] = 0x72;\r
- // value[1] = 0x01;\r
- // value[2] = 0x0f;\r
- // char buf[128];\r
- // memset(buf,0,128);\r
- // getSportData(&buf);\r
- // uint32_t tmp = 1;\r
- // uint32_t datalen = 1;\r
- // uint16_t tmp_data = 1;\r
- // datalen = strlen(buf);\r
- // tmp_data = datalen;\r
- // memcpy(value+3,&tmp,4);\r
- // memcpy(value+7,&datalen,4);\r
- // memcpy(value+11,&tmp,4);\r
- // memcpy(value+15,&tmp_data,2);\r
- // memcpy(&value[17],buf,strlen(buf));\r
-\r
- // comfirmPaire(0);\r
-\r
-}\r
-\r
bool creatMessageDir(void)//创建消息文件夹\r
{\r
struct stat info;\r
memset(titleBuf,0,TITLE_BUF_LEN);\r
memset(msgBuf,0,MSG_BUF_LEN);\r
cJSON* uid = cJSON_GetObjectItem(root, "uid");\r
- if (cJSON_IsNumber(uid)) {\r
+ if (uid && cJSON_IsNumber(uid)) {\r
printf("uid_t: %d\n", uid->valueint);\r
uid_t = uid->valueint;\r
}\r
cJSON* appid = cJSON_GetObjectItem(root, "appid");\r
- if (cJSON_IsNumber(appid)) {\r
+ if (appid && cJSON_IsNumber(appid)) {\r
printf("appid_t: %d\n", appid->valueint);\r
appid_t = appid->valueint;\r
}\r
cJSON* title_c = cJSON_GetObjectItem(root, "title");\r
- if (cJSON_IsString(title_c)) {\r
+ if (title_c && cJSON_IsString(title_c)) {\r
printf("titleBuf: %s\n", title_c->valuestring);\r
int len = strlen(title_c->valuestring);\r
if(len >= TITLE_BUF_LEN){\r
memcpy(titleBuf,(uint8_t *)title_c->valuestring,len);\r
}\r
cJSON* msg = cJSON_GetObjectItem(root, "msg");\r
- if (cJSON_IsString(msg)) {\r
+ if (msg && cJSON_IsString(msg)) {\r
int len = strlen(msg->valuestring);\r
if(len >= MSG_BUF_LEN-4){\r
len = uft8_check(msg->valuestring,MSG_BUF_LEN-4);\r
printf("msgBuf: %s\n",msgBuf);\r
}\r
cJSON* time = cJSON_GetObjectItem(root, "time");\r
- if (cJSON_IsString(time)) {\r
+ if (time && cJSON_IsString(time)) {\r
printf("time: %s\n", time->valuestring);\r
// timeBuf = time->valueint;\r
}\r
cJSON* hasCode = cJSON_GetObjectItem(root, "hasCode");\r
- if (cJSON_IsNumber(hasCode)) {\r
+ if (hasCode && cJSON_IsNumber(hasCode)) {\r
printf("hasCode_t: %d\n", hasCode->valueint);\r
hasCode_t = hasCode->valueint;\r
}\r
uapi_dev_runtime_set_dialname(filename);\r
//存表盘id\r
ble_dial_uid = dialinfo.dial_uid;\r
- if(ble_dial_uid<=4)\r
- ble_dial_uid++;\r
+ // if(ble_dial_uid<=4)\r
+ // ble_dial_uid++;\r
\r
\r
\r
// WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "GAP_BLE_STATE_DISCONNECTED!!! svr_alipay_get_adv_start_state %d alipay_get_binding_status:%d\r\n",svr_alipay_get_adv_start_state(),alipay_get_binding_status());\r
// if(AdverFlag == true){\r
free_ble_data(); \r
- if(uapi_dev_runtime_get_bt_powerstat()) \r
+ //if(uapi_dev_runtime_get_bt_powerstat()) \r
{\r
svr_ble_adv_start();\r
//gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE, 0); \r
devpair_state = 0;//\r
\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "exit_alipay_gui !!! %d",exit_alipay_gui);\r
- if(!exit_alipay_gui)//如果进入了绑定二维码界面 正在连接app 不需要停止广播数据\r
+ //if(!exit_alipay_gui)//如果进入了绑定二维码界面 正在连接app 不需要停止广播数据\r
{\r
svr_ble_adv_stop();\r
} \r
void svr_pair_result_cbt_cb(uint16_t conn_id, const bd_addr_t *addr, errcode_t status)\r
{\r
devpair_state = 1;//代表配对成功了\r
-\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, \r
"svr_pair_result_cbt_cb!!! addr 0x%x 0x%x 0x%x 0x%x 0x%x 0x%x status:0x%x\r\n",addr->addr[0],addr->addr[1],\r
addr->addr[2],addr->addr[3],addr->addr[4],addr->addr[5],status);\r
- //if(get_notify_switch())\r
if(status==ERRCODE_SUCC)\r
{\r
if(get_ble_pair())\r
if(get_ctkd_flag() && uapi_dev_runtime_get_bt_powerstat())\r
{\r
gap_br_set_bt_scan_mode(GAP_SCAN_MODE_NONE, 20);\r
- \r
if(get_ble_pair()&&( cm_get_A2DP_switch() || cm_get_HFP_switch()))\r
{\r
int ret=gap_reconnect_media_device(&phone_addr);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_reconnect_media_device!!! %X\r\n",ret);\r
- //uapi_a2dp_snk_connect();\r
- \r
- \r
- }else{\r
+ }else{\r
\r
if(get_br_is_pair())\r
{\r
int ret=gap_reconnect_media_device(&bdaddr);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_reconnect_media_device!!! %X\r\n",ret);\r
}\r
- // if(cm_get_A2DP_switch() || cm_get_HFP_switch())\r
- // uapi_a2dp_snk_connect();\r
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_reconnect_media_device!!! \r\n");\r
- \r
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_reconnect_media_device!!! \r\n"); \r
}\r
else\r
{\r
uapi_a2dp_snk_connect();\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "uapi_a2dp_snk_connect!!! \r\n");\r
}\r
-\r
}\r
- \r
int ret = gap_connect_remote_device(addr);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "gap_connect_remote_device!!! %X\r\n",ret);\r
- \r
-\r
- }\r
- //uapi_a2dp_snk_connect();\r
- \r
+ } \r
}\r
hand_watch_first_time_Paired();\r
svr_ble_adv_stop();\r
errcode_t ret = gap_ble_connect_param_update(&conn_param);\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"gap ble update connection parameters ret: %u\n", ret); \r
}\r
- \r
-\r
- //if(!uapi_a2dp_snk_get_device_connect_state() || !uapi_hfp_connect_state())\r
- \r
- \r
}\r
\r
//添加ota特征值\r
if (ret != ERRCODE_SUCC) {\r
// ALIPAY_PRINT_ERR(0, "gatts_add_descriptor fail, ret:%u.\r\n", ret);\r
}\r
- // errcode_t ret = 0;\r
- // // uint16_t id = ALIPAYY_CHARACTERISTIC_ID;\r
- // gatts_add_chara_info_t character;\r
- // uint16_t value = 0;\r
- // bt_uuid_t alipay_service_uuid = {0};\r
- // bts_data_to_uuid_len2(0x4a02, &alipay_service_uuid);\r
- // memset_s(&character, sizeof(gatts_add_chara_info_t), 0, sizeof(gatts_add_chara_info_t));\r
- // // character.chara_uuid.uuid_len = sizeof(id);\r
- // // memcpy_s(character.chara_uuid.uuid, sizeof (character.chara_uuid.uuid), (char *)&id, sizeof(id));\r
- // character.chara_uuid = alipay_service_uuid;\r
- // character.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE;\r
- // character.properties =\r
- // GATT_CHARACTER_PROPERTY_BIT_READ | GATT_CHARACTER_PROPERTY_BIT_WRITE | GATT_CHARACTER_PROPERTY_BIT_NOTIFY;\r
- // character.value_len = 256;\r
- // character.value = g_alipay_character_buf;\r
-\r
- // ret = gatts_add_characteristic(server_id, srv_handle, &character);\r
- // if (ret != ERRCODE_SUCC) {\r
- // ALIPAY_PRINT_ERR(0, "gatts_add_characteristic fail, ret:%u.\r\n", ret);\r
- // }\r
-\r
- // uint8_t bas_ccc_val[] = {\r
- // 0x01,\r
- // 0x00\r
- // };\r
- // bt_uuid_t ccc_uuid = { 0 };\r
- // bts_data_to_uuid_len2(0x2902, &ccc_uuid);\r
- // // bts_data_to_uuid_len2(0x2902, &ccc_uuid);\r
- // gatts_add_desc_info_t descriptor;\r
- // descriptor.desc_uuid = ccc_uuid;\r
- // descriptor.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE;\r
- // descriptor.value_len = (uint16_t)sizeof(bas_ccc_val);\r
- // descriptor.value = bas_ccc_val;\r
- \r
- // ret = gatts_add_descriptor(server_id, srv_handle, &descriptor);\r
- // if (ret != ERRCODE_SUCC) {\r
- // ALIPAY_PRINT_ERR(0, "gatts_add_descriptor fail, ret:%u.\r\n", ret);\r
- // }\r
- // bd_addr_t addr_info;\r
- // gatts_add_desc_info_t descriptor_ap;\r
- // gap_ble_get_local_addr(&addr_info);\r
- // bts_data_to_uuid_len2(0x4b02, &ccc_uuid);\r
- // descriptor_ap.desc_uuid = ccc_uuid;\r
- // descriptor_ap.permissions = GATT_ATTRIBUTE_PERMISSION_READ | GATT_ATTRIBUTE_PERMISSION_WRITE;\r
- // descriptor_ap.value_len = BD_ADDR_LEN;\r
- // uint8_t ble_data_mac_switch[BD_ADDR_LEN] = {0};\r
- // int k = BD_ADDR_LEN;\r
- // for (int i = 0; i < BD_ADDR_LEN; i++) {\r
- // ble_data_mac_switch[--k] = addr_info.addr[i];\r
- // }\r
- // descriptor_ap.value = ble_data_mac_switch;\r
- // ret = gatts_add_descriptor(server_id, srv_handle, &descriptor_ap);\r
- // if (ret != ERRCODE_SUCC) {\r
- // ALIPAY_PRINT_ERR(0, "gatts_add_descriptor second fail, ret:%u.\r\n", ret);\r
- // }\r
-\r
+ }\r
\r
-}\r
//这个回调函数添加新的服务UUID\r
static void svr_ble_bt_gatts_service_add_cb(uint8_t server_id, bt_uuid_t *uuid, uint16_t srv_handle,\r
errcode_t status)\r
WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "svr_ble_bt_gatts_req_read_cb ret:is_long:%d",read_cb_para->is_long);\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
- // if(flag==0)\r
- // ble_ancs_client_cmd_setup_and_subscribe(g_ble_conn_id);\r
- // else if(flag==1)\r
- // a2dp_snk_connect(&disconect_addr);//ble_ancs_client_subscribe_notify(g_ble_conn_id,1);\r
- // else if(flag==2)\r
- // ble_ancs_client_subscribe_data(g_ble_conn_id,1);\r
- // else if (flag==3)\r
- // ble_ancs_client_subscribe_notify(g_ble_conn_id,0);\r
-\r
- // flag++;\r
- // if(flag==4)\r
- // {\r
- // flag=1;\r
- // }\r
-\r
+ if(read_cb_para->handle==data2ae2Cmd)\r
+ {\r
static uint8_t battery_point_val[20] = {0};\r
// 获取电池电压值\r
float voltage = 0.0F;\r
//read_cb_para->need_rsp=0;\r
gatts_notify_indicate(server_id,conn_id,&gatts_ntf_ind);\r
}\r
+}\r
\r
\r
static uint8_t falg = 0;\r
void svr_ble_bluetooth_init(void)\r
{\r
memset(&phone_addr,0,sizeof(bd_addr_t));\r
- // bool ret = enable_bt_stack();\r
- // // bool ret = enable_ble();\r
- // if (ret != ERRCODE_SUCC) {\r
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "svr_ble_bluetooth_init enable_bt_stack ret:%u.\r\n", ret);\r
- // }\r
-\r
- // if (g_custom_ble_init_flag)\r
- // {\r
- // return ;\r
- // }\r
-\r
- //清除上次内容r\r
- \r
-\r
- // osDelay(100);\r
+ \r
srv_ble_server_register_gap_ble_callbacks();\r
srv_ble_server_register_gatt_callbacks();\r
\r
#endif\r
gattc_reg_id();\r
\r
- \r
-\r
g_custom_ble_init_flag = true;\r
return;\r
}\r
//开启蓝牙\r
void custom_ble_service_start(void)\r
{\r
-\r
AdverFlag = true;\r
svr_ble_adv_start_param();\r
- gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE, 0); \r
- // gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE_GENERAL_DISCOVERABLE, 0); \r
- //gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE, 0);\r
- \r
}\r
\r
void custom_ble_service_start_(uint8_t data)\r