}\r
}\r
\r
-void send_big_data(uint8_t flag,char *data,int datalen,int total,uint32_t Packet_id,uint32_t packet_total,uint8_t type_id)\r
+void send_big_data(uint8_t flag,char *data,int datalen,int total,uint32_t Packet_id,uint32_t packet_total,uint8_t type_id,uint8_t type)\r
{\r
uint8_t buf[512]={0};\r
buf[0]=0x72;\r
- buf[1]=0x01;\r
+ buf[1]=type;\r
buf[2]=type_id;\r
memcpy(buf+3,&packet_total,4);\r
memcpy(buf+7,&total,4);\r
sendBleData(buf,17+datalen+1);\r
\r
}\r
- \r
-\r
// }\r
- \r
+}\r
+//发送训练状态\r
+void sendtraningstatedata(uint8_t state ,uint16_t time)\r
+{\r
+ char data[3]={0};\r
+ uint32_t data_len=3;\r
+ data[0]=state;\r
+ memcpy(&data[1],&time,2);\r
+ printf("发送训练状态数据%d %s\r\n",data_len,data);\r
+ send_big_data(0,data,data_len,data_len,1,1,0x50,5);\r
+ \r
}\r
\r
void sendtraningdata(msg_get_train_data_info_t *data)\r
{\r
cJSON* dataJSON=cJSON_CreateObject();\r
+ \r
cJSON_AddNumberToObject(dataJSON,"st",data->st);\r
cJSON_AddNumberToObject(dataJSON,"hr",data->hr);\r
cJSON_AddNumberToObject(dataJSON,"ca",data->ca);\r
cJSON_AddNumberToObject(dataJSON,"di",data->di);\r
cJSON_AddNumberToObject(dataJSON,"stp",data->stp);\r
cJSON_AddNumberToObject(dataJSON,"ti",data->ti);\r
+\r
char *jsonString = cJSON_PrintUnformatted(dataJSON);\r
+ \r
uint32_t data_len=strlen(jsonString);\r
printf("发送训练实时数据%d %s\r\n",data_len,jsonString);\r
- send_big_data(0,jsonString,data_len,data_len,1,1,0x15);\r
- \r
- \r
+ send_big_data(0,jsonString,data_len,data_len,1,1,0x15,1);\r
+ cJSON_free(jsonString);\r
+ cJSON_Delete(dataJSON);\r
}\r
//发送ble数据\r
uint8_t phone_mac[6];//手机下发的mac地址 第一次连接为空 \r
fclose(file);\r
}\r
free(jsonString);\r
- \r
+ cJSON_Delete(dataJSON);\r
// 读取JSON文件\r
\r
memcpy(value+18,addr->addr,6);\r
}else{\r
if(data_len != 0){\r
memcpy(value+17,json_format,data_len);\r
+ 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
if(Check_CRC(crcnum,len,crcvalue))\r
{\r
memcpy(value+17,(uint8_t *)json_format,data_len);\r
+ free(json_format);\r
unsigned char lrc = Calculate_CRC(value,data_len+17);\r
printf("lrc:%d",lrc);\r
value[data_len+18] = lrc;\r
if(Check_CRC(crcnum,len,crcvalue))\r
{\r
memcpy(value+17,(uint8_t *)json_format,data_len);\r
+ free(json_format);\r
uint8_t lrc = Calculate_CRC(value,data_len+17);\r
printf("lrc:%d",lrc);\r
value[data_len+18] = lrc;\r
if(Check_CRC(crcnum,len,crcvalue))\r
{\r
uint8_t Frequence = crcnum[0];//频率单位是s\r
-\r
+ set_traning_updata_freq(Frequence);\r
value[17] = 1; //1 操作成功 2 操作失败\r
value[18] = Calculate_CRC(value,18);\r
sendBleData(value,19);\r
if(Check_CRC(crcnum,len,crcvalue))//\r
{\r
uint8_t maxHr = crcnum[0];\r
+\r
if(maxHr > 250)maxHr = 250;\r
else if(maxHr <= 0) maxHr = 0;\r
\r
+ set_traning_heart_max(maxHr);\r
//255 关闭\r
value[17] = 1;\r
value[18] = Calculate_CRC(value,18);\r
}\r
if(path==NULL)\r
{\r
- send_big_data(1,NULL,1,1,1,1,id);\r
+ send_big_data(1,NULL,1,1,1,1,id,1);\r
sendbigDataBufState = false;//分包同步数据不允许打断\r
return;\r
}\r
FILE *fp= fopen(path,"r+");\r
if(fp==NULL)\r
{\r
- send_big_data(1,NULL,1,1,1,1,id);\r
+ send_big_data(1,NULL,1,1,1,1,id,1);\r
printf("打开文件失败%s\r\n",path);\r
sendbigDataBufState = false;//分包同步数据不允许打断\r
return;\r
if(item_num-1==i)\r
{\r
printf("sendbuf :%s sendbuf_len%d\r\n",send_buf,send_len);\r
- send_big_data(1,send_buf,send_len,item_num*5,Packet_id,packet_total,id);\r
+ send_big_data(1,send_buf,send_len,item_num*5,Packet_id,packet_total,id,1);\r
free(send_buf);\r
sendbigDataBufState=false;\r
\r
}else\r
{\r
- send_big_data(1,send_buf,send_len,item_num*5,Packet_id,packet_total,id);\r
+ send_big_data(1,send_buf,send_len,item_num*5,Packet_id,packet_total,id,1);\r
free(send_buf);\r
send_buf=(char *)malloc(sizeof(char)*HEART_DATA_LEN);\r
send_len=0;\r