From 8316843f9c1046459d66d7fd79d2b172fc4903d0 Mon Sep 17 00:00:00 2001
From: zhangbo <zhangbo@qq.com>
Date: 星期三, 02 七月 2025 19:41:25 +0800
Subject: [PATCH] 能正确休眠版本

---
 keil/include/src/TCPClient.c |  189 +++++++++++++++++++++++++++++++++-------------
 1 files changed, 134 insertions(+), 55 deletions(-)

diff --git a/keil/include/src/TCPClient.c b/keil/include/src/TCPClient.c
index 033ed59..468c1c5 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)
         {
@@ -367,59 +369,62 @@
             PCA9555_Set_One_Value_Output(TTS_ENABLE,1);//输出高电平切换为5V输入
             delay_ms(100);
             WT588E_PLAY(atoi(apcSplitStr[2]));
+            temp= HIDO_UtilStrToInt(apcSplitStr[2]);
             buffer_len = sprintf(send_buffer,"$Receivevoice,");
             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_gpsuwbpara,") == 0)
-    {
-        u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr));
-        uint16_t buffer_len,datalen;
-        char send_buffer[20]={"ERROR\r\n"};
-        if (u32SplitCnt < 6)
-        {
-            return HIDO_ERR;
-        }
-        if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID])
-        {
-            HIDO_INT32 gpskaiguan,uwbkaiguan,gpspinlv,uwbpinlv,gpsbaudrate1;
-            gpskaiguan= HIDO_UtilStrToInt(apcSplitStr[2]);
-            g_com_map[GPSENBLE] = gpskaiguan;
-            uwbkaiguan= HIDO_UtilStrToInt(apcSplitStr[3]);
-            g_com_map[UWBENBLE] = uwbkaiguan;
-            gpspinlv= HIDO_UtilStrToInt(apcSplitStr[4]);
-            g_com_map[GPSFrequency] = gpspinlv;
-            uwbpinlv= HIDO_UtilStrToInt(apcSplitStr[5]);
-            g_com_map[UWBFrequency] = uwbpinlv;
-            gpsbaudrate1= HIDO_UtilStrToInt(apcSplitStr[6]);
-            g_com_map[GPSBAUDRATE1_INDEX] = gpsbaudrate1>>16;
-            g_com_map[GPSBAUDRATE2_INDEX] = gpsbaudrate1;
-            
-            
-            if((g_com_map[GPSENBLE]||g_com_map[GPSENBLE]==0)
-             &&(g_com_map[UWBENBLE]||g_com_map[UWBENBLE]==0)
-             &&(g_com_map[GPSFrequency]<65535&&g_com_map[GPSFrequency]>0)
-             &&(g_com_map[UWBFrequency]==1||g_com_map[UWBFrequency]==3||g_com_map[UWBFrequency]==5||g_com_map[UWBFrequency]==10)
-             &&(gpsbaudrate1==9600||gpsbaudrate1==115200)
-            )
-            {
-            save_com_map_to_flash();
-//            Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len);
-            g_com_map[CNT_RESTART] = 1;
-            }
-            else
-            {
-            Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,10);
-            }
-        }
-    }
+//    else if (STRCMP(_u8Data, "$set_gpsuwbpara,") == 0)
+//    {
+//        u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr));
+//        uint16_t buffer_len,datalen;
+//        char send_buffer[20]={0};
+//        if (u32SplitCnt < 6)
+//        {
+//            return HIDO_ERR;
+//        }
+//        if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID])
+//        {
+//            HIDO_INT32 gpskaiguan,uwbkaiguan,gpspinlv,uwbpinlv,gpsbaudrate1;
+//            gpskaiguan= HIDO_UtilStrToInt(apcSplitStr[2]);
+//            g_com_map[GPSENBLE] = gpskaiguan;
+//            uwbkaiguan= HIDO_UtilStrToInt(apcSplitStr[3]);
+//            g_com_map[UWBENBLE] = uwbkaiguan;
+//            gpspinlv= HIDO_UtilStrToInt(apcSplitStr[4]);
+//            g_com_map[GPSFrequency] = gpspinlv;
+//            uwbpinlv= HIDO_UtilStrToInt(apcSplitStr[5]);
+//            g_com_map[UWBFrequency] = uwbpinlv;
+//            gpsbaudrate1= HIDO_UtilStrToInt(apcSplitStr[6]);
+//            g_com_map[GPSBAUDRATE1_INDEX] = gpsbaudrate1>>16;
+//            g_com_map[GPSBAUDRATE2_INDEX] = gpsbaudrate1;
+//            
+//            
+//            if((g_com_map[GPSENBLE]||g_com_map[GPSENBLE]==0)
+//             &&(g_com_map[UWBENBLE]||g_com_map[UWBENBLE]==0)
+//             &&(g_com_map[GPSFrequency]<65535&&g_com_map[GPSFrequency]>0)
+//             &&(g_com_map[UWBFrequency]==1||g_com_map[UWBFrequency]==3||g_com_map[UWBFrequency]==5||g_com_map[UWBFrequency]==10)
+//             &&(gpsbaudrate1==9600||gpsbaudrate1==115200)
+//            )
+//            {
+//            save_com_map_to_flash();
+////            Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len);
+//            g_com_map[CNT_RESTART] = 1;
+//            }
+//            else
+//            {
+//            Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,10);
+//            }
+//        }
+//    }
     else if (STRCMP(_u8Data, "$read_gpsuwbpara,") == 0)
     {
         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 +452,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 +475,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