日程bug修复
authorhcj <1224667075@qq.com>
Thu, 22 Aug 2024 03:11:23 +0000 (11:11 +0800)
committerhcj <1224667075@qq.com>
Thu, 22 Aug 2024 03:11:23 +0000 (11:11 +0800)
code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp
code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c

index b145f9a..b9ff6ea 100644 (file)
@@ -102,6 +102,8 @@ bool Ble_Set_ScheduleInfo(uint8_t id,uint32_t timetamp_begin,uint32_t timetamp_e
     info.id=id;
     info.timetamp_begin=timetamp_begin;
     info.timetamp_end=timetamp_end;
+    info.titel.clear();
+    info.content.clear();
     info.titel.append(title,strlen(title)+1);
     info.content.append(data,strlen(data)+1);
 
@@ -113,6 +115,8 @@ bool Ble_Set_ScheduleInfo(uint8_t id,uint32_t timetamp_begin,uint32_t timetamp_e
     printf("content:%s\r\n",info.content.c_str());
 
     printf("//////////////////////////////////////////////\r\n");
+    return true;
+
     
 }
 
index fb0ecb8..cca80ad 100644 (file)
@@ -919,6 +919,7 @@ void cleanUnbindInfor(uint8_t flag)//和旧手机解绑清除配对信息
     gap_ble_disconnect_remote_device(&disconect_addr);//与固定的mac设置地址进行断开连接\r
     if (flag == 1){\r
         errcode_t ret= gap_ble_remove_pair(&disconect_addr);//清除配对信息\r
+        \r
         gap_ble_remove_all_pairs(); \r
         bool ret_flag = gap_remove_all_pairs();\r
         printf("ret_flag:%d ret:%x\r\n",ret_flag,ret);\r
@@ -2492,11 +2493,16 @@ bool bin_Check_schedule(uint8_t *data,uint16_t len)
 {\r
     uint16 offset=0;\r
     uint16 buf_len=0;\r
+    for(int i=0;i<len;i++)\r
+    {\r
+        printf(" %02X",data[i]);\r
+    }\r
+    printf("\r\n");\r
     while (offset<len)\r
     {\r
         uint8_t id;\r
-        id=data[offset];\r
-        offset++;\r
+        id=data[offset]+data[offset+1];\r
+        offset+=2;\r
         if(offset>=len)\r
         break;\r
 \r
@@ -2508,6 +2514,7 @@ bool bin_Check_schedule(uint8_t *data,uint16_t len)
         char *title=(char*)malloc(buf_len+1);\r
         memset_s(title,512,0,buf_len+1);\r
         memcpy_s(title,512,&data[offset],buf_len);\r
+        printf("len:%d str %s\r\n",buf_len,title);\r
 \r
         offset+=buf_len;\r
         if(offset>=len)\r
@@ -2523,6 +2530,7 @@ bool bin_Check_schedule(uint8_t *data,uint16_t len)
         offset+=4;\r
         if(offset>=len)\r
         break;\r
+\r
         uint32_t timetemp_end=0;\r
         memcpy_s(&timetemp_end,4,&data[offset],4);\r
         offset+=4;\r
@@ -2531,37 +2539,47 @@ bool bin_Check_schedule(uint8_t *data,uint16_t len)
 \r
         memcpy_s(&buf_len,2,&data[offset],2);\r
         offset+=2;\r
-        if(offset>=len)\r
-        break;\r
-\r
-        char *data=(char*)malloc(buf_len+1);\r
-        memset_s(data,512,0,buf_len+1);\r
-        memcpy_s(data,512,&data[offset],buf_len);\r
-\r
-        offset+=buf_len;\r
-        if(offset>=len)\r
+        if(buf_len==0)\r
         {\r
+            printf("%d %d\r\n",offset,len);\r
+            Ble_Set_ScheduleInfo(id,timetemp_begin,timetemp_end,title,"0");\r
             if(title)\r
             {\r
                 free(title);\r
             }\r
-            if(data)\r
-            {\r
-                free(data);\r
-            }\r
+            continue;\r
+        }\r
+        if(offset>=len)\r
+        {\r
             break;\r
         }\r
-        Ble_Set_ScheduleInfo(id,timetemp_begin,timetemp_end,title,data);\r
+       \r
+\r
+        char *str_=(char*)malloc(buf_len+1);\r
+        memset_s(str_,512,0,buf_len+1);\r
+        memcpy_s(str_,512,&data[offset],buf_len);\r
+        printf("len:%d str %s\r\n",buf_len,str_);\r
+\r
+       \r
+        Ble_Set_ScheduleInfo(id,timetemp_begin,timetemp_end,title,str_);\r
+\r
+        offset+=buf_len;\r
+       \r
         if(title)\r
         {\r
             free(title);\r
         }\r
-        if(data)\r
+        if(str_)\r
         {\r
-            free(data);\r
+            free(str_);\r
+        }\r
+        if(offset>=len)\r
+        {\r
+            break;\r
         }\r
 \r
     }\r
+    printf("APP_send_schedule_Cmd true\r\n");\r
     return true;\r
 }\r
 void APP_send_schedule_Cmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,uint8_t crcvalue)\r