ble广播将不在随开关控制,增加JSON判断 1012/3
authorhcj <1224667075@qq.com>
Wed, 25 Sep 2024 11:13:38 +0000 (19:13 +0800)
committerhcj <1224667075@qq.com>
Wed, 25 Sep 2024 11:13:38 +0000 (19:13 +0800)
code/sdk/application/wearable/fd230app/nativeui/bluetooth/src/BluetoothModel.cpp
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c
code/sdk/application/wearable/service/ble_service/bleservice/bleService.c

index c553830..922cea1 100644 (file)
@@ -213,12 +213,15 @@ void bluetooth_enable_all(void)
         // bts_feature.bt_auto_reconnect_closed = 0;\r
         // ret = bts_set_features(&bts_feature);\r
         // WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt bts_set_features ret = %u", ret);\r
-        gap_ble_sec_params_t sec_param = { 1, GAP_BLE_IO_CAPABILITY_NOINPUTNOOUTPUT, 1, GAP_BLE_GAP_SECURITY_MODE1_LEVEL3 };\r
-       // gap_ble_sec_params_t sec_param = { 1, GAP_BLE_IO_CAPABILITY_NOINPUTNOOUTPUT, 0, GAP_BLE_GAP_SECURITY_MODE1_LEVEL2 };\r
-        ret = gap_ble_set_sec_param(&sec_param);\r
-        WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt gap_ble_set_sec_param ret = %u", ret);\r
+        //     gap_ble_sec_params_t sec_param = { 1, GAP_BLE_IO_CAPABILITY_NOINPUTNOOUTPUT, 1, GAP_BLE_GAP_SECURITY_MODE1_LEVEL3 };\r
+       //    // gap_ble_sec_params_t sec_param = { 1, GAP_BLE_IO_CAPABILITY_NOINPUTNOOUTPUT, 0, GAP_BLE_GAP_SECURITY_MODE1_LEVEL2 };\r
+        //     ret = gap_ble_set_sec_param(&sec_param);\r
+        //     WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt gap_ble_set_sec_param ret = %u", ret);\r
+\r
+        ret = gap_br_set_bt_scan_mode(GAP_SCAN_MODE_CONNECTABLE, 0);\r
+         WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bt gap_br_set_bt_scan_mode ret = %u", ret);\r
         /**开始ble广播*/\r
-        custom_ble_service_start();\r
+        // custom_ble_service_start();\r
     }\r
 }\r
 \r
@@ -227,10 +230,12 @@ void bluetooth_close_all(void)
     errcode_t ret;\r
     \r
     /**停止Ble广播,断开链接,清除协议缓存*/\r
-    custom_ble_service_stop();\r
+    // custom_ble_service_stop();\r
 \r
     /** 停止BR广播 */\r
+\r
     ret = gap_br_set_bt_scan_mode(GAP_SCAN_MODE_NONE, 0);\r
+\r
     WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "bluetooth_close_all gap_br_set_bt_scan_mode ret = %u", ret);\r
     \r
     /**TODO: 停止BR扫描**/\r
index df18cbe..2c98ad1 100644 (file)
@@ -707,12 +707,16 @@ void getPhoneNameLen(uint8_t *data,uint8_t *datalen,uint8_t *type)//获取手机
     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
@@ -734,7 +738,7 @@ static uint8_t *getPhoneName(uint8_t *data)//获取手机设备名称
     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
@@ -775,7 +779,7 @@ void getPhoneMac(uint8_t *data,uint8_t *phoneMac)//获取手机设备mac这个
     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
@@ -1244,8 +1248,16 @@ void sendParieSuccess(uint8_t flag,bd_addr_t *addr)//发送配对成功指令to
         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
@@ -1359,48 +1371,48 @@ static uint8_t jsonCheck_time(uint8_t *buf)//json 格式解析
     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
@@ -1613,15 +1625,30 @@ static void jsonCheck_alarm(uint8_t *buf)//json 解析闹钟数据
     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
@@ -1636,10 +1663,27 @@ static void jsonCheck_alarm(uint8_t *buf)//json 解析闹钟数据
             }\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
@@ -3345,89 +3389,6 @@ static void switchDialCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *total
     }\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
@@ -3602,6 +3563,10 @@ void GetCurDataCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totaldata,ui
     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
@@ -6131,79 +6096,6 @@ void readDevDataBle(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,u
 }\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
@@ -6304,17 +6196,17 @@ uint8_t jscheck_ancs(uint8_t *data)
     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
@@ -6327,7 +6219,7 @@ uint8_t jscheck_ancs(uint8_t *data)
         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
@@ -6340,12 +6232,12 @@ uint8_t jscheck_ancs(uint8_t *data)
         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
@@ -7015,8 +6907,8 @@ errcode_t decode_single_dial_info(ble_read_data *buffer_handle)
     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
index d0a0e2d..f00e317 100644 (file)
@@ -326,7 +326,7 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
         // 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
@@ -337,7 +337,7 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
         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
@@ -366,11 +366,9 @@ void svr_ble_connstate_change_cb(unsigned short conn_id, bd_addr_t *addr, gap_bl
 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
@@ -379,15 +377,11 @@ void svr_pair_result_cbt_cb(uint16_t conn_id, const bd_addr_t *addr, errcode_t s
         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
@@ -400,10 +394,7 @@ void svr_pair_result_cbt_cb(uint16_t conn_id, const bd_addr_t *addr, errcode_t s
                             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
@@ -411,16 +402,10 @@ void svr_pair_result_cbt_cb(uint16_t conn_id, const bd_addr_t *addr, errcode_t s
                         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
@@ -434,11 +419,6 @@ void svr_pair_result_cbt_cb(uint16_t conn_id, const bd_addr_t *addr, errcode_t s
         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
@@ -776,64 +756,8 @@ void alipay_add_chart_decr_cb(uint8_t server_id,uint16_t srv_handle)
     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
@@ -1202,24 +1126,8 @@ static void svr_ble_bt_gatts_req_read_cb(uint8_t server_id, uint16_t conn_id, ga
     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
@@ -1263,6 +1171,7 @@ static void svr_ble_bt_gatts_req_read_cb(uint8_t server_id, uint16_t conn_id, ga
     //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
@@ -1435,21 +1344,7 @@ void ble_unregist_server(void)
 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
@@ -1470,8 +1365,6 @@ void svr_ble_bluetooth_init(void)
 #endif\r
     gattc_reg_id();\r
 \r
-   \r
-\r
     g_custom_ble_init_flag = true;\r
     return;\r
 }\r
@@ -1502,13 +1395,8 @@ void uapi_ble_disconnect_device()
 //开启蓝牙\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