memcpy_s(&txt_len,2,&buf[offset],2);\r
\r
offset+=2;\r
- char txt_buf[128]={0};\r
- memcpy_s(txt_buf,128,&buf[offset],txt_len);\r
- printf("binCheck_AI txtbuf:%s %d\r\n",txt_buf,txt_len);\r
+ char txt_buf[256]={0};\r
+ memcpy_s(txt_buf,256,&buf[offset],txt_len);\r
+ printf("binCheck_AI Question txtbuf:%s %d\r\n",txt_buf,txt_len);\r
ble_set_ai_Question_str(txt_buf);\r
offset+=txt_len;\r
//offset+=1;\r
\r
offset+=2;\r
\r
- char txt_buf[128]={0};\r
- memcpy_s(txt_buf,128,&buf[offset],txt_len);\r
- printf("binCheck_AI txtbuf %s %d\r\n",txt_buf,txt_len);\r
+ if(txt_len>=1024*3)\r
+ txt_len=1024*3;\r
+\r
+ char *txt_buf=(char*)malloc(txt_len+1);\r
+ if(txt_buf==NULL)\r
+ {\r
+ printf("binCheck_AI txtbuf malloc fail\r\n");\r
+ ble_set_ai_Answer_str("手表缓存不足");\r
+ return 0;\r
+ }\r
+\r
+ txt_buf[txt_len]=0;\r
+ memcpy_s((char *)txt_buf,1024*3,&buf[offset],txt_len);\r
+\r
+ printf("binCheck_AI txtbuf Answer %s %d\r\n",txt_buf,txt_len);\r
ble_set_ai_Answer_str(txt_buf);\r
+ free(txt_buf);\r
+\r
offset+=txt_len;\r
//offset+=1;\r
- }\r
- if(offset>=len)\r
- {\r
- break;\r
}\r
if(buf[offset]==0)\r
{\r
printf("AI 解析失败\r\n");\r
- offset++;\r
- break;\r
}\r
- offset++;\r
+ \r
+ if(offset>=len)\r
+ {\r
+ break;\r
+ }\r
+ offset++;\r
+ \r
}\r
\r
*check = 1;\r
\r
static uint8_t timer_flie_type=0;\r
static uint32_t timer_flie_flag=0;\r
+ble_read_data* ble_read_timer_p=NULL;\r
static void ble_transfer_Timer_CallBack(int data)\r
{\r
timer_flie_flag--;\r
{\r
TRANSMIT_DATA=TRANS_FREE;\r
}\r
+ // if (ble_read_timer_p->file_recv_stat.recv_file_stat != 2) //已经下载完毕的文件,没有必要cancel了。\r
+ // {\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
+ // {\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_reply_cmd(FILE_RECV_REPLY_STAT_CMD,0);//接收失败\r
+ // }\r
CustomEventPublish(TOPIC_EVENT_BLE_TRANSMIT,&TRANSMIT_DATA,1);\r
if(BR_TRANSFER_timer)\r
{\r
BR_TRANSFER_timer = NULL;\r
}\r
timer_flie_type=buffer_handle->file_recv_stat.file_type;\r
- timer_flie_flag=3;\r
+ ble_read_timer_p=buffer_handle;\r
+ timer_flie_flag=10;\r
\r
BR_TRANSFER_timer = osTimerNew((osTimerFunc_t)ble_transfer_Timer_CallBack, osTimerPeriodic, NULL, NULL);\r
tick =1000;// osMs2Tick(1000);\r
return ERRCODE_FAIL;\r
}\r
///////////////////////////////////////////////////////////\r
-\r
-\r
}\r
-\r
if (buffer_handle->file_recv_stat.file == NULL)\r
{\r
printf("6194 buffer_handle->file_recv_stat.file \n");\r