From f313a9ae0ed73b1343280de648b8a19e2d36983c Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期一, 24 二月 2025 10:00:56 +0800 Subject: [PATCH] 3.5,加入加速度计10s开机后重新初始化,发生硬件错误直接重启 --- APL/UDPClient.c | 103 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 72 insertions(+), 31 deletions(-) diff --git a/APL/UDPClient.c b/APL/UDPClient.c index 54a1e82..d77347e 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) { @@ -433,11 +463,12 @@ extern uint8_t fangchai_flag; extern uint8_t nomove_flag; extern uint8_t zuihoufasong_falg; +extern uint32_t main_time; HIDO_INT32 UDPClient_Poll(void) { if(Internet_IsIPReady() == HIDO_TRUE) { - loraled=RED; + loraled=GREEN; if(UDP_CLIENT_STATE_IDLE == l_eUDPCLientState) { l_eUDPCLientState = UDP_CLIENT_STATE_CONNECTING; @@ -454,34 +485,35 @@ } else if(UDP_CLIENT_STATE_CONNECTED == l_eUDPCLientState) { - HIDO_UINT32 u32CurTick = HIDO_TimerGetTick(); - if(fangchai_flag==0) - { - if((u32CurTick - l_u32HeartBeatTick) >= 10000) +// HIDO_UINT32 u32CurTick = main_time; +// 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((main_time - l_u32HeartBeatTick) >= 300) { + printf("发送4G心跳包\r\n"); heartbeasend_flag = 0; - l_u32HeartBeatTick = u32CurTick; - UDPClient_Heartbeat(); -// if(nomove_flag==1) -// {zuihoufasong_falg=1;} - userkey_state4g = 0; - } - } - else - { - if((u32CurTick - l_u32HeartBeatTick) >= 1000) - { - heartbeasend_flag = 0; - l_u32HeartBeatTick = u32CurTick; + l_u32HeartBeatTick = main_time; UDPClient_Heartbeat(); userkey_state4g = 0; } - } +// } } } else { - loraled=LEDOFF; + loraled=RED; l_eUDPCLientState = UDP_CLIENT_STATE_IDLE; } @@ -509,8 +541,8 @@ static HIDO_UINT32 l_u32UploadBuffLen = 0; static HIDO_UINT32 l_u32UdpsendTick = 0; -// if(UDP_CLIENT_STATE_CONNECTED == l_eUDPCLientState) -// { + if(UDP_CLIENT_STATE_CONNECTED == l_eUDPCLientState) + { // state_flag = 0; // state_flag = fangchai_flag; // @@ -553,16 +585,16 @@ // } - if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) - { - l_u32UdpsendTick = HIDO_TimerGetTick(); +// if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) +// { +// l_u32UdpsendTick = HIDO_TimerGetTick(); Socket_Send(l_i32UDPCLientID, (HIDO_UINT8 *)GPS_ParseGGA_data, GPS_ParseGGA_changdu); memset(GPS_ParseGGA_data,0,GPS_ParseGGA_changdu); GPS_ParseGGA_changdu = 0; - } +// } return HIDO_OK; -// } + } } HIDO_INT32 UDPClient_Uploadhex(uint8_t *_pcGGA,uint16_t u32Len) { @@ -575,12 +607,12 @@ memcpy(l_acUploadBuff + l_u32UploadBuffLen, _pcGGA, u32Len); l_u32UploadBuffLen += u32Len; // if((l_u32UploadBuffLen + u32Len )> sizeof(l_acUploadBuff)) - if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) - { - l_u32UdpsendTick = HIDO_TimerGetTick(); +// if((HIDO_TimerGetTick() - l_u32UdpsendTick) >= 200) +// { +// l_u32UdpsendTick = HIDO_TimerGetTick(); Socket_Send(l_i32UDPCLientID, (HIDO_UINT8 *)l_acUploadBuff, l_u32UploadBuffLen); l_u32UploadBuffLen = 0; - } +// } } @@ -634,3 +666,12 @@ return HIDO_OK; } +uint8_t IfTCPConnected(void) +{ + if(UDP_CLIENT_STATE_CONNECTED == l_eUDPCLientState) + { + return 1; + } else { + return 0; + } +} \ No newline at end of file -- Gitblit v1.9.3