From 6777eb77964fa79e39cb34112d23d8a3acae1ef3 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期三, 02 七月 2025 11:00:24 +0800 Subject: [PATCH] 按照文档修改4G下发指令,杨总测试过的版本V1.25 --- keil/include/src/TCPClient.c | 108 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 93 insertions(+), 15 deletions(-) diff --git a/keil/include/src/TCPClient.c b/keil/include/src/TCPClient.c index 033ed59..5f35ca4 100644 --- a/keil/include/src/TCPClient.c +++ b/keil/include/src/TCPClient.c @@ -85,6 +85,8 @@ uint8_t uwb_OpenClose_flag=1; extern uint32_t state_start_time; extern uint32_t uwb_time_count; +extern uint8_t GPS_UPLOAD_FLAG; +extern float nomove_count; static HIDO_INT32 TCPClient_DataProc(HIDO_UINT8 *_u8Data, HIDO_UINT32 _u32Len) { HIDO_CHAR *apcSplitStr[12]; @@ -324,7 +326,7 @@ { uint16_t buffer_len,datalen; u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - char send_buffer[20]={"$rec_voicece\r\n"}; + char send_buffer[20]={0}; if (u32SplitCnt < 3) { return HIDO_ERR; @@ -354,9 +356,9 @@ /* $play_audio,0-9 */ else if (STRCMP(_u8Data, "$play_audio,") == 0) { - uint16_t buffer_len,datalen; + uint16_t buffer_len,datalen,datalen1,temp; u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - char send_buffer[20]={"$Receivevoice \r\n"}; + char send_buffer[20]={0}; if (u32SplitCnt < 3) { @@ -368,8 +370,10 @@ delay_ms(100); WT588E_PLAY(atoi(apcSplitStr[2])); buffer_len = sprintf(send_buffer,"$Receivevoice,"); - datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + datalen = sprintf(&send_buffer[buffer_len],"%x",g_com_map[DEV_ID]); buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d",temp); + buffer_len+= datalen1; Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); } } @@ -377,7 +381,7 @@ { u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); uint16_t buffer_len,datalen; - char send_buffer[20]={"ERROR\r\n"}; + char send_buffer[20]={0}; if (u32SplitCnt < 6) { return HIDO_ERR; @@ -419,7 +423,7 @@ { u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); uint16_t buffer_len,datalen; - char send_buffer[200]={"ERROR\r\n"}; + char send_buffer[100]={0}; if (u32SplitCnt < 1) { return HIDO_ERR; @@ -447,9 +451,9 @@ } else if (STRCMP(_u8Data, "$set_uwb_work,") == 0) { - uint16_t temp,buffer_len,datalen; + uint16_t temp,buffer_len,datalen,datalen1; u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - char send_buffer[20]={"$rec_uwb_work\r\n"}; + char send_buffer[30]={0}; if (u32SplitCnt < 3) { return HIDO_ERR; @@ -470,35 +474,109 @@ buffer_len = sprintf(send_buffer,"$rec_uwb_work,"); datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d",temp); + buffer_len+= datalen1; Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); } } else if (STRCMP(_u8Data, "$set_uwb_frequency,") == 0) { - uint16_t temp,buffer_len,datalen; + uint16_t temp,buffer_len,datalen,datalen1; u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); - char send_buffer[20]={"$rec_frequency\r\n"}; + char send_buffer[30]={0}; if (u32SplitCnt < 3) { return HIDO_ERR; } if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) { - HIDO_INT32 uwb_fre; - uwb_fre=HIDO_UtilStrToInt(apcSplitStr[2]); - g_com_map[UWBFrequency]=uwb_fre; + HIDO_INT32 frequency; + frequency=HIDO_UtilStrToInt(apcSplitStr[2]); + g_com_map[UWBFrequency]=frequency; + state_start_time=0; uwb_time_count=0; - buffer_len = sprintf(send_buffer,"$rec_frequency,"); - datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len = sprintf(send_buffer,"$rec_uwbfrequency,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d",frequency); + buffer_len+= datalen1; + save_com_map_to_flash(); Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); } } + else if (STRCMP(_u8Data, "$set_gpsuwb_fet,") == 0) + { + uint16_t temp,buffer_len,datalen,datalen1,datalen2,datalen3; + + u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); + char send_buffer[30]={0}; + if (u32SplitCnt < 3) + { + return HIDO_ERR; + } + if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) + { + HIDO_INT32 frequency,temp,temp1; + frequency=HIDO_UtilStrToInt(apcSplitStr[2]); + temp=HIDO_UtilStrToInt(apcSplitStr[3]); + temp1=HIDO_UtilStrToInt(apcSplitStr[4]); + g_com_map[GPSFrequency]=frequency; + g_com_map[IMU_ENABLE]=temp; + g_com_map[NOMOVESLEEP_TIME]=temp1; + GPS_UPLOAD_FLAG=0; + nomove_count=0; + buffer_len = sprintf(send_buffer,"$rec_gpsuwb_fet,"); + datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); + buffer_len += datalen; + datalen1=sprintf(&send_buffer[buffer_len],"%d,",frequency); + buffer_len+= datalen1; + datalen2=sprintf(&send_buffer[buffer_len],"%d,",temp); + buffer_len+= datalen2; + datalen3=sprintf(&send_buffer[buffer_len],"%d",temp1); + buffer_len+= datalen3; + save_com_map_to_flash(); + Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); + } + + + } +// else if (STRCMP(_u8Data, "$set_sleep_enable_time,") == 0) +// { +// uint16_t temp,buffer_len,datalen,datalen1,datalen2; +// +// u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr)); +// char send_buffer[30]={0}; +// if (u32SplitCnt < 3) +// { +// return HIDO_ERR; +// } +// if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID]) +// { +// HIDO_INT32 temp,temp1; +// temp=HIDO_UtilStrToInt(apcSplitStr[2]); +// temp1=HIDO_UtilStrToInt(apcSplitStr[3]); +// +// +// g_com_map[IMU_ENABLE]=temp; +// g_com_map[NOMOVESLEEP_TIME]=temp1; +// +// buffer_len = sprintf(send_buffer,"$rec_sleep_enable_time,"); +// datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]); +// buffer_len += datalen; +// datalen1=sprintf(&send_buffer[buffer_len],"%d",temp); +// buffer_len+= datalen1; +// datalen2=sprintf(&send_buffer[buffer_len],"%d",temp1); +// buffer_len+= datalen2; +// Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len); +// } + + +// } return HIDO_OK; } -- Gitblit v1.9.3