From f44c025bbbee889a935a7dfc0826ad8bb9d1f750 Mon Sep 17 00:00:00 2001 From: hcj <1224667075@qq.com> Date: Thu, 22 Aug 2024 11:11:23 +0800 Subject: [PATCH] =?utf8?q?=E6=97=A5=E7=A8=8Bbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../service/ble_service/blemoder/bletest.cpp | 4 ++ .../service/ble_service/bleservice/bleEvent.c | 54 ++++++++++++------- 2 files changed, 40 insertions(+), 18 deletions(-) diff --git a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp index b145f9ae0..b9ff6eafd 100644 --- a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp +++ b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp @@ -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; + } diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c index fb0ecb8b1..cca80ad44 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c @@ -919,6 +919,7 @@ void cleanUnbindInfor(uint8_t flag)//和旧手机解绑清除配对信息 gap_ble_disconnect_remote_device(&disconect_addr);//与固定的mac设置地址进行断开连接 if (flag == 1){ errcode_t ret= gap_ble_remove_pair(&disconect_addr);//清除配对信息 + gap_ble_remove_all_pairs(); bool ret_flag = gap_remove_all_pairs(); printf("ret_flag:%d ret:%x\r\n",ret_flag,ret); @@ -2492,11 +2493,16 @@ bool bin_Check_schedule(uint8_t *data,uint16_t len) { uint16 offset=0; uint16 buf_len=0; + for(int i=0;i=len) break; @@ -2508,6 +2514,7 @@ bool bin_Check_schedule(uint8_t *data,uint16_t len) char *title=(char*)malloc(buf_len+1); memset_s(title,512,0,buf_len+1); memcpy_s(title,512,&data[offset],buf_len); + printf("len:%d str %s\r\n",buf_len,title); offset+=buf_len; if(offset>=len) @@ -2523,6 +2530,7 @@ bool bin_Check_schedule(uint8_t *data,uint16_t len) offset+=4; if(offset>=len) break; + uint32_t timetemp_end=0; memcpy_s(&timetemp_end,4,&data[offset],4); offset+=4; @@ -2531,37 +2539,47 @@ bool bin_Check_schedule(uint8_t *data,uint16_t len) memcpy_s(&buf_len,2,&data[offset],2); offset+=2; - if(offset>=len) - break; - - char *data=(char*)malloc(buf_len+1); - memset_s(data,512,0,buf_len+1); - memcpy_s(data,512,&data[offset],buf_len); - - offset+=buf_len; - if(offset>=len) + if(buf_len==0) { + printf("%d %d\r\n",offset,len); + Ble_Set_ScheduleInfo(id,timetemp_begin,timetemp_end,title,"0"); if(title) { free(title); } - if(data) - { - free(data); - } + continue; + } + if(offset>=len) + { break; } - Ble_Set_ScheduleInfo(id,timetemp_begin,timetemp_end,title,data); + + + char *str_=(char*)malloc(buf_len+1); + memset_s(str_,512,0,buf_len+1); + memcpy_s(str_,512,&data[offset],buf_len); + printf("len:%d str %s\r\n",buf_len,str_); + + + Ble_Set_ScheduleInfo(id,timetemp_begin,timetemp_end,title,str_); + + offset+=buf_len; + if(title) { free(title); } - if(data) + if(str_) { - free(data); + free(str_); + } + if(offset>=len) + { + break; } } + printf("APP_send_schedule_Cmd true\r\n"); return true; } void APP_send_schedule_Cmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalData,uint8_t crcvalue) -- 2.17.1