From 767edd5ec2a133c04c5d84aeba4135f0bd21d23f Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期三, 28 八月 2024 15:11:49 +0800
Subject: [PATCH] V3.1,改为最新逻辑。 1.铁鞋没有处于充电状态&&同时在运动状态,正常定位,有uwb发uwb跟gps数据,没有就看是否有gps数据,有发gps数据没有发lbs数据。 2.铁鞋没有处于充电状态&&同时在静止休状态,1秒钟发送一次状态和位置坐标;直到定位引擎回复收到消息后,设备停止发送状态进入休眠模式;20分钟后再次启动工作,重复(避免铁鞋被盗找不到) 3.铁鞋插上充电时候(延迟x秒后,为了确保能判断归箱)1秒钟发送一次在充电状态;定位引擎回复收到消息后,设备停止发送状态进入休眠模式(目的太阳能充电省电) 4.铁鞋充电到100%后启动4G工作,1秒钟发送一次充满电状态;定位引擎回复收到消息后,设备停止发送状态进入休眠模式(目的太阳能充电省电)。休眠模式是指:所有外设不再工作,不联网不测距。PS:每两种状态之间切换时,只要之前进入过休眠,就要重新开启4g,联网时间根据信号强度5-20s不等。重新联网期间没有办法上发任何数据。

---
 APL/UDPClient.c |   62 +++++++++++++++++++++++--------
 1 files changed, 46 insertions(+), 16 deletions(-)

diff --git a/APL/UDPClient.c b/APL/UDPClient.c
index 54a1e82..0ac3d47 100644
--- a/APL/UDPClient.c
+++ b/APL/UDPClient.c
@@ -74,6 +74,9 @@
  * Modified Date:    : 2021年1月9日
  *******************************************************************************/
 uint16_t beepontime;
+uint8_t receive1_gotosleep_flag;
+uint8_t receive2_gotosleep_flag;
+uint8_t receive3_gotosleep_flag;
 static HIDO_INT32 UDPClient_CmdParse(HIDO_UINT8 *_u8Data, HIDO_UINT32 _u32Len)
 {
     HIDO_CHAR *apcSplitStr[12];
@@ -191,6 +194,33 @@
             }
         }
     }
+    else if(STRCMP(_u8Data, "$receive,") == 0)
+    {
+        u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr));
+
+        if(u32SplitCnt < 3)
+        {
+            return HIDO_ERR;
+        }
+
+        /* 设备ID检查 */
+        if(HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID])
+        {
+           if(HIDO_UtilHexStrToInt(apcSplitStr[2])==1)
+           {
+           receive1_gotosleep_flag=1;
+           }
+           if(HIDO_UtilHexStrToInt(apcSplitStr[2])==2)
+           {
+           receive2_gotosleep_flag=1;
+           }
+           if(HIDO_UtilHexStrToInt(apcSplitStr[2])==3)
+           {
+           receive3_gotosleep_flag=1;
+           }    
+        }
+    }
+    
     /* $update,id,url,version */
     else if(STRCMP(_u8Data, "$update,") == 0)
     {
@@ -455,28 +485,28 @@
         else if(UDP_CLIENT_STATE_CONNECTED == l_eUDPCLientState)
         {
             HIDO_UINT32 u32CurTick =  HIDO_TimerGetTick();
-            if(fangchai_flag==0)
-            {
-                if((u32CurTick - l_u32HeartBeatTick) >= 10000)
-                {
-                    heartbeasend_flag = 0;
-                    l_u32HeartBeatTick = u32CurTick;
-                    UDPClient_Heartbeat();
-//                    if(nomove_flag==1)
-//                    {zuihoufasong_falg=1;}
-                    userkey_state4g = 0;
-                }
-            }
-            else            
-            {
-                if((u32CurTick - l_u32HeartBeatTick) >= 1000)
+//            if(fangchai_flag==0)
+//            {
+//                if((u32CurTick - l_u32HeartBeatTick) >= 10000)
+//                {
+//                    heartbeasend_flag = 0;
+//                    l_u32HeartBeatTick = u32CurTick;
+//                    UDPClient_Heartbeat();
+////                    if(nomove_flag==1)
+////                    {zuihoufasong_falg=1;}
+//                    userkey_state4g = 0;
+//                }
+//            }
+//            else            
+//            {
+                if((u32CurTick - l_u32HeartBeatTick) >= 5000)
                 {
                     heartbeasend_flag = 0;
                     l_u32HeartBeatTick = u32CurTick;
                     UDPClient_Heartbeat();
                     userkey_state4g = 0;
                 }
-            }
+//            }
         }
     }
     else

--
Gitblit v1.9.3