From 3529a847eaf2057928742178cca16eee57db31d0 Mon Sep 17 00:00:00 2001
From: chen <15335560115@163.com>
Date: 星期五, 15 八月 2025 19:52:47 +0800
Subject: [PATCH] 初步调好demo,会有丢失测距后回来回复测距大概率蜂鸣器一直震的现象未解决
---
keil/include/src/TCPClient.c | 40 +++++++++++++++++++++++++++++-----------
1 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/keil/include/src/TCPClient.c b/keil/include/src/TCPClient.c
index ea4c6dc..5201ec2 100644
--- a/keil/include/src/TCPClient.c
+++ b/keil/include/src/TCPClient.c
@@ -67,8 +67,10 @@
*******************************************************************************/
extern uint8_t gps_4g_flag,search_open_flag;
extern Operation_step UWB_work_state;
+uint16_t air780e_send_second;
Commend_Datestruct TCP_command;
uint8_t result;
+uint8_t query_open_flag;
char applyid[10];
static HIDO_INT32 TCPClient_DataProc(HIDO_UINT8 *_u8Data, HIDO_UINT32 _u32Len)
{
@@ -124,7 +126,7 @@
// bind_resetbreak();
case OPEN_GNSS:
gps_4g_flag = 1;
-
+ g_com_map[GPS_REFRESH_WAIT_COUNT]=TCP_command.frequency;
break;
case CLOSE_VIBRATION:
@@ -138,13 +140,19 @@
break;
case QUARY_INFORMATION:
+ query_open_flag=1;
//??
break;
case CHANGE_POLL_FREQUENCY:
- g_com_map[SEND_4G_SECOND]=TCP_command.frequency*60;
+ g_com_map[SEND_4G_MINUTE]=TCP_command.frequency;
+ //air780e_send_second=g_com_map[SEND_4G_MINUTE]*60;
+ air780e_send_second=TCP_command.frequency;
break;
+ case CLOSE_GNSS:
+ gps_4g_flag = 0;
+ break;
}
result = 1;
TCPHeartBeatUpload();
@@ -211,6 +219,7 @@
{
TCPClient_DataProc(l_au8CmdBuff, u32RecvLen);
}
+ memset(l_au8CmdBuff,0,sizeof(l_au8CmdBuff));
break;
}
default:
@@ -232,7 +241,8 @@
* Author : www.hido-studio.com
* Modified Date: : 2021?1?9?
*******************************************************************************/
-extern uint8_t bat_percent,taglist_num;
+extern uint8_t bat_percent,taglist_num,userkey_state,gps_timeout_flag;
+
uint8_t alarm_type;
extern double jd,wd;
extern int32_t distance;
@@ -242,13 +252,21 @@
HIDO_UINT32 u32HeartLen;
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);
+ u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message,alarm,%04x,%d,%04x,%d,%02u%%,%d,%d,%lf,%lf,%s,%d,%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,userkey_state);
} 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), "$message,heart,%04x,%d,%04x,%d,%02u%%,%d,%d,%lf,%lf,%s,%d,%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,userkey_state);
}
+ if(query_open_flag)
+ {
+ u32HeartLen = snprintf(acHeart, sizeof(acHeart), "$message,query,%04x,%d,%04x,%d,%d,%02u%%,%d,%d,%lf,%lf,%s,%d,%d,%d,%d,V%d.%d.,0\r\n", \
+ g_com_map[DEV_ID],GetUWBBindState(),g_com_map[BIND_DEV_ID],g_com_map[GPS_REFRESH_WAIT_COUNT],gps_timeout_flag,bat_percent,g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],jd,wd,applyid,result,distance,g_com_map[SEND_4G_MINUTE],gps_4g_flag,g_com_map[VERSION]>>8,g_com_map[VERSION]&0xff);
+ }
+ userkey_state=0;
+ query_open_flag=0;//关闭查询模式
Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen);
+
}
void TCPReceiveMessageReply(void)
@@ -264,12 +282,12 @@
if(alarm_type == 2)
alarm_type = 0;
}
-
+HIDO_UINT32 u32CurTick;
HIDO_INT32 TCPClient_Poll(void)
{
if (Internet_IsIPReady() == HIDO_TRUE)
{
- HIDO_UINT32 u32CurTick = HIDO_TimerGetTick();
+ u32CurTick = HIDO_TimerGetTick();
if (TCP_CLIENT_STATE_IDLE == l_eTCPClientState)
{
if (!TCPfail_flag)
@@ -303,8 +321,8 @@
- 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)
+ //if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(5)||flag_first_TCPconnect)
+ if ((u32CurTick - l_u32HeartBeatTick) >= HIDO_TIMER_TICK_S(air780e_send_second)||flag_first_TCPconnect)
{
flag_first_TCPconnect = 0;
l_u32HeartBeatTick = u32CurTick;
--
Gitblit v1.9.3