From 43988586b1412b8d1ebd257ad809e3ad64088a04 Mon Sep 17 00:00:00 2001 From: hcj <1224667075@qq.com> Date: Fri, 11 Oct 2024 10:30:36 +0800 Subject: [PATCH] =?utf8?q?mp3=E6=96=87=E4=BB=B6=E4=BC=A0=E8=BE=93=E4=BF=AE?= =?utf8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../service/ble_service/bleservice/bleEvent.c | 111 ++++++++++-------- 1 file changed, 63 insertions(+), 48 deletions(-) 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 b0d9029bc..ef80c28c6 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c @@ -87,7 +87,7 @@ typedef struct //根据特征值分开组合读取的数据,并处理 static ble_read_data handle_l[MAX_HANDLE_NUM]={0}; -errcode_t cancel_recv_file(ble_read_data *buffer_handle); +errcode_t cancel_recv_file(void); uint8_t ble_dial_file_count=0; @@ -3788,7 +3788,7 @@ static void aboutDeviceCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *tota bluetooth_get_local_addr(&addr[0],6); char mac_data[24]; memset(mac_data,0,24); - sprintf(mac_data,"%x:%x:%x:%x:%x:%x",addr[5],addr[4],addr[3],addr[2],addr[1],addr[0]); + sprintf(mac_data,"%02X:%02X:%02X:%02X:%02X:%02X",addr[5],addr[4],addr[3],addr[2],addr[1],addr[0]); cJSON_AddStringToObject(dataJSON, "macAddress",mac_data); char *json_format = cJSON_PrintUnformatted(dataJSON); @@ -4128,7 +4128,7 @@ static void RemoveFileCmd(ble_read_data *buffer_handle,uint16_t cmd,uint8_t *dat value[18] = Calculate_CRC(value,18); sendBleData(value,19); - cancel_recv_file(buffer_handle); + cancel_recv_file(); }else { @@ -5897,7 +5897,6 @@ void Send_Sleep_Bin_Data(uint8_t day, uint16_t num) { ble_data_type type_={0x01,0x4b,0,1,1}; send_big_data(type_,NULL,0); - //send_big_data(1,NULL,0,0,1,1,0x4b,1); return; } @@ -6691,28 +6690,27 @@ static void ble_transfer_Timer_CallBack(int data) { TRANSMIT_DATA=TRANS_FREE; } - - ble_read_timer_p->receive_file_flag = 0; - - if (ble_read_timer_p->file_recv_stat.recv_file_stat != 2) //已经下载完毕的文件,没有必要cancel了。 + if(ble_read_timer_p) { - - if (ble_read_timer_p->file_recv_stat.file!=NULL) + ble_read_timer_p->receive_file_flag = 0; + if (ble_read_timer_p->file_recv_stat.recv_file_stat != 2) //已经下载完毕的文件,没有必要cancel了。 { - fclose(ble_read_timer_p->file_recv_stat.file); - ble_read_timer_p->file_recv_stat.file = NULL; - } - if (ble_read_timer_p->file_recv_stat.file_name != NULL) - { - free(ble_read_timer_p->file_recv_stat.file_name); - ble_read_timer_p->file_recv_stat.file_name=NULL; - } - ble_read_timer_p->file_recv_stat.recv_file_stat = -1; - - ble_read_timer_p=NULL; - ble_reply_cmd(FILE_RECV_REPLY_STAT_CMD,0);//接收失败 + if (ble_read_timer_p->file_recv_stat.file!=NULL) + { + fclose(ble_read_timer_p->file_recv_stat.file); + ble_read_timer_p->file_recv_stat.file = NULL; + } + if (ble_read_timer_p->file_recv_stat.file_name != NULL) + { + free(ble_read_timer_p->file_recv_stat.file_name); + ble_read_timer_p->file_recv_stat.file_name=NULL; + } + ble_read_timer_p->file_recv_stat.recv_file_stat = -1; + ble_read_timer_p=NULL; + } } + ble_reply_cmd(FILE_RECV_REPLY_STAT_CMD,0);//接收失败 CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1); if(BR_TRANSFER_timer) @@ -7034,7 +7032,7 @@ errcode_t decode_mp3_json(ble_read_data *buffer_handle) } cJSON_Delete(root); - printf(" ota_type= %d, ota_name=%s, ota_size=%d \n", + printf(" MP3_type= %d, MP3_name=%s, MP3_size=%d \n", buffer_handle->file_recv_stat.file_type, buffer_handle->file_recv_stat.file_name, buffer_handle->file_recv_stat.file_size @@ -7713,7 +7711,7 @@ errcode_t check_header(msg_header_t *header ) } -errcode_t cancel_recv_file(ble_read_data *buffer_handle) +errcode_t cancel_recv_file(void) { if(BR_TRANSFER_timer) { @@ -7723,35 +7721,38 @@ errcode_t cancel_recv_file(ble_read_data *buffer_handle) BR_TRANSFER_timer = NULL; } - if(timer_flie_type==1) - { - TRANSMIT_DATA=TRANS_OTA_FAIL; - } - else if (timer_flie_type==3) - { - TRANSMIT_DATA=TRANS_DIAL_FAIL; - } - else + // if(timer_flie_type==1) + // { + // TRANSMIT_DATA=TRANS_OTA_FAIL; + // } + // else if (timer_flie_type==3) + // { + // TRANSMIT_DATA=TRANS_DIAL_FAIL; + // } + // else { TRANSMIT_DATA=TRANS_FREE; } - - ble_read_timer_p->receive_file_flag = 0; - if (ble_read_timer_p->file_recv_stat.recv_file_stat != 2) //已经下载完毕的文件,没有必要cancel了。 + if(ble_read_timer_p) { - if (ble_read_timer_p->file_recv_stat.file!=NULL) - { - fclose(ble_read_timer_p->file_recv_stat.file); - ble_read_timer_p->file_recv_stat.file = NULL; - } - if (ble_read_timer_p->file_recv_stat.file_name != NULL) + ble_read_timer_p->receive_file_flag = 0; + if (ble_read_timer_p->file_recv_stat.recv_file_stat != 2) //已经下载完毕的文件,没有必要cancel了。 { - free(ble_read_timer_p->file_recv_stat.file_name); - ble_read_timer_p->file_recv_stat.file_name=NULL; + if (ble_read_timer_p->file_recv_stat.file!=NULL) + { + fclose(ble_read_timer_p->file_recv_stat.file); + ble_read_timer_p->file_recv_stat.file = NULL; + } + if (ble_read_timer_p->file_recv_stat.file_name != NULL) + { + free(ble_read_timer_p->file_recv_stat.file_name); + ble_read_timer_p->file_recv_stat.file_name=NULL; + } + ble_read_timer_p->file_recv_stat.recv_file_stat = -1; + ble_read_timer_p=NULL; } - ble_read_timer_p->file_recv_stat.recv_file_stat = -1; - ble_read_timer_p=NULL; } + CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1); return ERRCODE_SUCC; @@ -7815,19 +7816,30 @@ static errcode_t create_mp3_name(char* path,char*dir_path ,char* file_name) sprintf_s(path,256,"%s/",dir_path); uint16_t path_len=strlen(path); + if(strstr(file_name,".mp3")) { + //"光-陈粒.128.mp3" + printf("%s\r\n",file_name); int len=strlen(file_name)-strlen(".mp3"); for(int i=0;ifile_recv_stat.file_name); buffer_handle->file_recv_stat.file = fopen(filepath,"w+"); - printf("%s\r\n",filepath); + printf("filepath %s\r\n",filepath); } else { @@ -8275,6 +8288,8 @@ void free_ble_data_Event(void)//以防断开蓝牙没有释放数据类型 recvBigDataBufState = false; sendbigDataBufState = false; + cancel_recv_file(); + for (int i = 0 ; i < MAX_HANDLE_NUM ; i++) { if (handle_l[i].data != NULL) -- 2.17.1