From b3b682c88a4468f47104f94eebfdbadbfaf10e6e Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期五, 14 二月 2025 09:26:09 +0800
Subject: [PATCH] 1111

---
 keil/include/src/TCPClient.c |  173 ++++++++++++++++++++++-----------------------------------
 1 files changed, 66 insertions(+), 107 deletions(-)

diff --git a/keil/include/src/TCPClient.c b/keil/include/src/TCPClient.c
index 7c1ab71..bd300ca 100644
--- a/keil/include/src/TCPClient.c
+++ b/keil/include/src/TCPClient.c
@@ -52,7 +52,6 @@
  *******************************************************************************/
 HIDO_INT32 TCPClient_Heartbeat(HIDO_VOID);
 void TCPHeartBeatUpload(void);
-void UDPClient_UploadGPS(void);
 void TCPReceiveMessageReply(void);
 /*******************************************************************************
  *                             Local Function                                  *
@@ -66,109 +65,99 @@
  * Author            : www.hido-studio.com
  * Modified Date:    : 2021年1月9日
  *******************************************************************************/
-extern uint8_t gps_4g_flag,search_open_flag,gps_open_flag,gps_wait_count,gps_need_data_flag,gps_wait_count2;
+extern uint8_t gps_4g_flag,search_open_flag;
 extern Operation_step UWB_work_state;
 Commend_Datestruct TCP_command;
 uint8_t result;
 char applyid[10];
-uint16_t receive_id;
-uint16_t g_com_position;
 static HIDO_INT32 TCPClient_DataProc(HIDO_UINT8 *_u8Data, HIDO_UINT32 _u32Len)
 {
     HIDO_CHAR *apcSplitStr[12];
     HIDO_UINT32 u32SplitCnt = 0;
-		HIDO_CHAR acResponse[200];
-		HIDO_UINT32 u32ResponseLen;
+
     LOG_INFO(TRACE_MODULE_APP, "收到数据\r\n");
 
 
-						
-    if(STRCMP(_u8Data, "$setpara,") == 0)
+
+    if(STRCMP(_u8Data, "$instruct,") == 0)
     {
-				u32ResponseLen = snprintf(acResponse, sizeof(acResponse), "$setparaok,%s\r\n", \
-                              _u8Data);
-				Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acResponse, u32ResponseLen);
         u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr));
-        receive_id = HIDO_UtilHexStrToInt(apcSplitStr[1]);
-				
-        if(g_com_map[DEV_ID]==receive_id)
+        TCP_command.tagId = HIDO_UtilHexStrToInt(apcSplitStr[3]);
+
+        if(g_com_map[DEV_ID]==TCP_command.tagId)
         {
-           g_com_position=HIDO_UtilStrToInt(apcSplitStr[2]);
-						g_com_map[g_com_position]=HIDO_UtilStrToInt(apcSplitStr[3]);
-					 if(g_com_map[SEND_4G_SECOND]<30)
-							{
-							gps_open_flag=0;
-							gps_wait_count=0;
-							gps_wait_count2=0;
-							gps_need_data_flag=1;//切换状态
-							}else{
-							gps_open_flag=1;
-							gps_wait_count=0;
-							gps_wait_count2=0;
-							gps_need_data_flag=1;//切换状态
-							}
-							
-//            switch(TCP_command.type)
-//            {
-//            case BIND_SUCCESS:
-//            {
 
-//                g_com_map[ALARM_DISTANCE1]= TCP_command.warnDistance;
-//                g_com_map[ALARM_DISTANCE2]=TCP_command.alarmDistance;
-//                // g_com_map[SEND_4G_FREQUENCY]=1000/TCP_command.frequency;
-//                if(g_com_map[BIND_DEV_ID]!=TCP_command.gunLableId)
-//                {
-//                    g_com_map[BIND_DEV_ID]=TCP_command.gunLableId;
-//                    UWB_work_state = SEARCH_DEV;
-//                    search_open_flag = 1;
-//                }
+            TCP_command.type = HIDO_UtilStrToInt(apcSplitStr[1]);
+            memcpy(&applyid,apcSplitStr[2],8);
+            // TCP_command.applyID = HIDO_UtilStrToInt(apcSplitStr[2]);
+            TCP_command.gunLableId = HIDO_UtilHexStrToInt(apcSplitStr[4]);
+            TCP_command.warnDistance = HIDO_UtilStrToInt(apcSplitStr[5]);
+            TCP_command.alarmDistance = HIDO_UtilStrToInt(apcSplitStr[6]);
+            TCP_command.frequency = HIDO_UtilStrToInt(apcSplitStr[7]);
+            if(TCP_command.type>0&&TCP_command.type<8)
+                result = 1;
+
+            switch(TCP_command.type)
+            {
+            case BIND_SUCCESS:
+            {
+
+                g_com_map[ALARM_DISTANCE1]= TCP_command.warnDistance;
+                g_com_map[ALARM_DISTANCE2]=TCP_command.alarmDistance;
+                // g_com_map[SEND_4G_FREQUENCY]=1000/TCP_command.frequency;
+                if(g_com_map[BIND_DEV_ID]!=TCP_command.gunLableId)
+                {
+                    g_com_map[BIND_DEV_ID]=TCP_command.gunLableId;
+                    UWB_work_state = SEARCH_DEV;
+                    search_open_flag = 1;
+                }
 
 
-//            }
-//            break;
-//            case UNBIND:
-//                g_com_map[BIND_DEV_ID] = 0;
-//                UWB_work_state = UN_BIND;
+            }
+            break;
+            case UNBIND:
+                g_com_map[BIND_DEV_ID] = 0;
+                UWB_work_state = UN_BIND;
 
 
-//                break;
-//                // bind_resetbreak();
-//            case OPEN_GNSS:
-//                gps_4g_flag = 1;
+                break;
+                // bind_resetbreak();
+            case OPEN_GNSS:
+                gps_4g_flag = 1;
 
-//                break;
+                break;
 
-//            case CLOSE_VIBRATION:
-//                g_com_map[MOTOR_ENABLE]=0;
+            case CLOSE_VIBRATION:
+                g_com_map[MOTOR_ENABLE]=0;
 
 
-//                break;
-//            case OPEN_VIBRATION:
-//                g_com_map[MOTOR_ENABLE]=1;
+                break;
+            case OPEN_VIBRATION:
+                g_com_map[MOTOR_ENABLE]=1;
 
 
-//                break;
-//            case QUARY_INFORMATION:
-//                //??
+                break;
+            case QUARY_INFORMATION:
+                //??
 
-//                break;
-//            case CHANGE_POLL_FREQUENCY:
+                break;
+            case CHANGE_POLL_FREQUENCY:
 
-//                g_com_map[SEND_4G_SECOND]=TCP_command.frequency*60;
-//                break;
-//            }
-//            result = 1;
-//            TCPHeartBeatUpload();
-//            if(TCP_command.type!=QUARY_INFORMATION||TCP_command.type!=OPEN_GNSS)
+                g_com_map[SEND_4G_SECOND]=TCP_command.frequency*60;
+                break;
+            }
+            result = 1;
+            TCPHeartBeatUpload();
+            if(TCP_command.type!=QUARY_INFORMATION||TCP_command.type!=OPEN_GNSS)
                 save_com_map_to_flash();
-//            result = 0;
-//            memset(&applyid,0,8);
+            result = 0;
+            memset(&applyid,0,8);
         }
-    } else if(STRCMP(_u8Data, "$readpara,") == 0)
+    } else if(STRCMP(_u8Data, "$message_reply,") == 0)
     {
         u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr));
-        receive_id = HIDO_UtilHexStrToInt(apcSplitStr[1]);
-        if(g_com_map[DEV_ID]==receive_id)
+        TCP_command.tagId = HIDO_UtilHexStrToInt(apcSplitStr[1]);
+        if(g_com_map[DEV_ID]==TCP_command.tagId)
         {
         }
     }
@@ -247,39 +236,11 @@
 uint8_t alarm_type;
 extern double jd,wd;
 extern int32_t distance;
-extern uint8_t GPS_GGAmessage[150],userkey_state,gps_timeout_flag;
-extern uint16_t g_spsum,g_snum,ave_sp;
-void UDPClient_UploadGPS(void)
-{		air780_led_on();
-    HIDO_CHAR acHeart[200];
-    HIDO_UINT32 u32HeartLen;
-	 ave_sp = g_spsum/g_snum;
-    g_spsum = 0;
-    g_snum = 0;
-//    if(alarm_type==1)
-//    {
-//        u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message,alarm,%04x,%d,%04x,%d,%02u%%,%d,%d,%lf,%lf,%s,%d,%d,0\r\n", \
-//                               g_com_map[DEV_ID],GetUWBBindState(),g_com_map[BIND_DEV_ID],alarm_type,bat_percent,g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],jd,wd,applyid,result,distance);
-//    } else {
-//        u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message,heart,%04x,%d,%04x,%d,%02u%%,%d,%d,%lf,%lf,%s,%d,%d,0\r\n", \
-//                               g_com_map[DEV_ID],GetUWBBindState(),g_com_map[BIND_DEV_ID],alarm_type,bat_percent,g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],jd,wd,applyid,result,distance);
-//    }
-	
-	u32HeartLen = snprintf(acHeart, sizeof(acHeart), "%s,%04x,%02u%%,%d,%d\r\n", \
-                               GPS_GGAmessage,g_com_map[DEV_ID],bat_percent,userkey_state,gps_timeout_flag);
-		userkey_state = 0;
-    Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen);
-	air780_led_off();
-}
-
 void TCPHeartBeatUpload(void)
 {
     HIDO_CHAR acHeart[200];
     HIDO_UINT32 u32HeartLen;
-	 ave_sp = g_spsum/g_snum;
-    g_spsum = 0;
-    g_snum = 0;
-//    if(alarm_type==1)
+//    if(alarm_type)
 //    {
 //        u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message,alarm,%04x,%d,%04x,%d,%02u%%,%d,%d,%lf,%lf,%s,%d,%d,0\r\n", \
 //                               g_com_map[DEV_ID],GetUWBBindState(),g_com_map[BIND_DEV_ID],alarm_type,bat_percent,g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],jd,wd,applyid,result,distance);
@@ -287,10 +248,9 @@
 //        u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message,heart,%04x,%d,%04x,%d,%02u%%,%d,%d,%lf,%lf,%s,%d,%d,0\r\n", \
 //                               g_com_map[DEV_ID],GetUWBBindState(),g_com_map[BIND_DEV_ID],alarm_type,bat_percent,g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],jd,wd,applyid,result,distance);
 //    }
-	u32HeartLen = snprintf(acHeart, sizeof(acHeart), "%s,%04x,%02u%%\r\n", \
-                               GPS_GGAmessage,g_com_map[DEV_ID],bat_percent);
     Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen);
 }
+
 void TCPReceiveMessageReply(void)
 {
     HIDO_CHAR acHeart[200];
@@ -343,14 +303,13 @@
 
 
            
-           //if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(15)||flag_first_TCPconnect)
+            //if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(15)||flag_first_TCPconnect)
 					 if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(g_com_map[SEND_4G_SECOND])||flag_first_TCPconnect)
             {
                 flag_first_TCPconnect = 0;
                 l_u32HeartBeatTick = u32CurTick;
                 // 这里是自定义心跳
-                //TCPHeartBeatUpload();
-								//UDPClient_UploadGPS();//先不弄心跳
+                TCPHeartBeatUpload();
 //                HIDO_CHAR acHeart[128];
 //                HIDO_UINT32 u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message heart,%04x,00001,1,50,50,50,,,,\r\n", g_com_map[DEV_ID]);
 //                Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen);

--
Gitblit v1.9.3