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