//根据特征值分开组合读取的数据,并处理\r
static ble_read_data handle_l[MAX_HANDLE_NUM]={0};\r
\r
-errcode_t cancel_recv_file(ble_read_data *buffer_handle);\r
+errcode_t cancel_recv_file(void);\r
\r
\r
uint8_t ble_dial_file_count=0;\r
bluetooth_get_local_addr(&addr[0],6);\r
char mac_data[24];\r
memset(mac_data,0,24);\r
- sprintf(mac_data,"%x:%x:%x:%x:%x:%x",addr[5],addr[4],addr[3],addr[2],addr[1],addr[0]);\r
+ sprintf(mac_data,"%02X:%02X:%02X:%02X:%02X:%02X",addr[5],addr[4],addr[3],addr[2],addr[1],addr[0]);\r
cJSON_AddStringToObject(dataJSON, "macAddress",mac_data);\r
\r
char *json_format = cJSON_PrintUnformatted(dataJSON);\r
value[18] = Calculate_CRC(value,18);\r
sendBleData(value,19);\r
\r
- cancel_recv_file(buffer_handle);\r
+ cancel_recv_file();\r
\r
}else\r
{\r
{\r
ble_data_type type_={0x01,0x4b,0,1,1};\r
send_big_data(type_,NULL,0);\r
-\r
//send_big_data(1,NULL,0,0,1,1,0x4b,1);\r
return;\r
}\r
{\r
TRANSMIT_DATA=TRANS_FREE;\r
}\r
- \r
- ble_read_timer_p->receive_file_flag = 0;\r
-\r
- if (ble_read_timer_p->file_recv_stat.recv_file_stat != 2) //已经下载完毕的文件,没有必要cancel了。\r
+ if(ble_read_timer_p)\r
{\r
-\r
- if (ble_read_timer_p->file_recv_stat.file!=NULL)\r
+ ble_read_timer_p->receive_file_flag = 0;\r
+ if (ble_read_timer_p->file_recv_stat.recv_file_stat != 2) //已经下载完毕的文件,没有必要cancel了。\r
{\r
- fclose(ble_read_timer_p->file_recv_stat.file);\r
- ble_read_timer_p->file_recv_stat.file = NULL;\r
- }\r
- if (ble_read_timer_p->file_recv_stat.file_name != NULL)\r
- {\r
- free(ble_read_timer_p->file_recv_stat.file_name);\r
- ble_read_timer_p->file_recv_stat.file_name=NULL;\r
- }\r
- ble_read_timer_p->file_recv_stat.recv_file_stat = -1;\r
-\r
- ble_read_timer_p=NULL;\r
\r
- ble_reply_cmd(FILE_RECV_REPLY_STAT_CMD,0);//接收失败\r
+ if (ble_read_timer_p->file_recv_stat.file!=NULL)\r
+ {\r
+ fclose(ble_read_timer_p->file_recv_stat.file);\r
+ ble_read_timer_p->file_recv_stat.file = NULL;\r
+ }\r
+ if (ble_read_timer_p->file_recv_stat.file_name != NULL)\r
+ {\r
+ free(ble_read_timer_p->file_recv_stat.file_name);\r
+ ble_read_timer_p->file_recv_stat.file_name=NULL;\r
+ }\r
+ ble_read_timer_p->file_recv_stat.recv_file_stat = -1;\r
+ ble_read_timer_p=NULL;\r
+ }\r
}\r
+ ble_reply_cmd(FILE_RECV_REPLY_STAT_CMD,0);//接收失败\r
CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
\r
if(BR_TRANSFER_timer)\r
}\r
cJSON_Delete(root);\r
\r
- printf(" ota_type= %d, ota_name=%s, ota_size=%d \n",\r
+ printf(" MP3_type= %d, MP3_name=%s, MP3_size=%d \n",\r
buffer_handle->file_recv_stat.file_type,\r
buffer_handle->file_recv_stat.file_name,\r
buffer_handle->file_recv_stat.file_size\r
}\r
\r
\r
-errcode_t cancel_recv_file(ble_read_data *buffer_handle)\r
+errcode_t cancel_recv_file(void)\r
{\r
if(BR_TRANSFER_timer)\r
{\r
BR_TRANSFER_timer = NULL;\r
}\r
\r
- if(timer_flie_type==1)\r
- {\r
- TRANSMIT_DATA=TRANS_OTA_FAIL;\r
- }\r
- else if (timer_flie_type==3)\r
- {\r
- TRANSMIT_DATA=TRANS_DIAL_FAIL;\r
- }\r
- else\r
+ // if(timer_flie_type==1)\r
+ // {\r
+ // TRANSMIT_DATA=TRANS_OTA_FAIL;\r
+ // }\r
+ // else if (timer_flie_type==3)\r
+ // {\r
+ // TRANSMIT_DATA=TRANS_DIAL_FAIL;\r
+ // }\r
+ // else\r
{\r
TRANSMIT_DATA=TRANS_FREE;\r
}\r
- \r
- ble_read_timer_p->receive_file_flag = 0;\r
- if (ble_read_timer_p->file_recv_stat.recv_file_stat != 2) //已经下载完毕的文件,没有必要cancel了。\r
+ if(ble_read_timer_p)\r
{\r
- if (ble_read_timer_p->file_recv_stat.file!=NULL)\r
- {\r
- fclose(ble_read_timer_p->file_recv_stat.file);\r
- ble_read_timer_p->file_recv_stat.file = NULL;\r
- }\r
- if (ble_read_timer_p->file_recv_stat.file_name != NULL)\r
+ ble_read_timer_p->receive_file_flag = 0;\r
+ if (ble_read_timer_p->file_recv_stat.recv_file_stat != 2) //已经下载完毕的文件,没有必要cancel了。\r
{\r
- free(ble_read_timer_p->file_recv_stat.file_name);\r
- ble_read_timer_p->file_recv_stat.file_name=NULL;\r
+ if (ble_read_timer_p->file_recv_stat.file!=NULL)\r
+ {\r
+ fclose(ble_read_timer_p->file_recv_stat.file);\r
+ ble_read_timer_p->file_recv_stat.file = NULL;\r
+ }\r
+ if (ble_read_timer_p->file_recv_stat.file_name != NULL)\r
+ {\r
+ free(ble_read_timer_p->file_recv_stat.file_name);\r
+ ble_read_timer_p->file_recv_stat.file_name=NULL;\r
+ }\r
+ ble_read_timer_p->file_recv_stat.recv_file_stat = -1;\r
+ ble_read_timer_p=NULL;\r
}\r
- ble_read_timer_p->file_recv_stat.recv_file_stat = -1;\r
- ble_read_timer_p=NULL;\r
}\r
+ \r
CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
\r
return ERRCODE_SUCC;\r
sprintf_s(path,256,"%s/",dir_path);\r
uint16_t path_len=strlen(path);\r
\r
+\r
if(strstr(file_name,".mp3"))\r
{\r
+ //"光-陈粒.128.mp3"\r
+ printf("%s\r\n",file_name);\r
int len=strlen(file_name)-strlen(".mp3");\r
for(int i=0;i<len;i++)\r
{\r
+ uint8_t Uintdata=0;\r
char UintBUF[3]={0};\r
- sprintf(UintBUF,"%02X",file_name[i]);\r
+ //sprintf(UintBUF,"%02X",file_name[i]);\r
+ memcpy_s((void*)&Uintdata,1,(void*)&file_name[i],1);\r
+ sprintf(UintBUF,"%02X",Uintdata);\r
+ printf("%s\r\n",UintBUF);\r
memcpy_s(path+path_len,2,UintBUF,2);\r
path_len+=2;\r
}\r
memcpy_s(path+path_len,strlen(".mp3"),".mp3",strlen(".mp3"));\r
return ERRCODE_SUCC;\r
}\r
+ else\r
+ {\r
+ sprintf_s(path,256,"%s/%s",dir_path,file_name);\r
+ }\r
return ERRCODE_FAIL;\r
\r
}\r
{\r
char musicpath[64]={0};\r
get_music_path(musicpath,64);\r
+ //"/user/userdata/music"\r
char filepath[256]={0};\r
create_mp3_name(filepath,musicpath,buffer_handle->file_recv_stat.file_name);\r
\r
buffer_handle->file_recv_stat.file = fopen(filepath,"w+");\r
- printf("%s\r\n",filepath);\r
+ printf("filepath %s\r\n",filepath);\r
}\r
else\r
{\r
recvBigDataBufState = false;\r
sendbigDataBufState = false;\r
\r
+ cancel_recv_file();\r
+\r
for (int i = 0 ; i < MAX_HANDLE_NUM ; i++)\r
{\r
if (handle_l[i].data != NULL)\r