From 8f5623ddd7fd3b12561a37a81639575559cf305b Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期四, 26 十二月 2024 15:47:50 +0800 Subject: [PATCH] V1.14版本,新增查询强制定位开启标志位和下发配置gps刷新频率功能 --- keil/include/src/TCPClient.c | 53 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 36 insertions(+), 17 deletions(-) diff --git a/keil/include/src/TCPClient.c b/keil/include/src/TCPClient.c index 31c53c9..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; @@ -240,15 +250,23 @@ { HIDO_CHAR acHeart[200]; HIDO_UINT32 u32HeartLen; - if(alarm_type) + 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) @@ -277,15 +295,15 @@ l_eTCPClientState = TCP_CLIENT_STATE_CONNECTING; -// HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "%u.%u.%u.%u", ip0,ip1, ip2, ip3); + HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "%u.%u.%u.%u", ip0,ip1, ip2, ip3); -// Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, port); + Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, port); // HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "123.57.87.125"); // Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, 8888); - HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "111.198.60.6"); - Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, 1234); +// HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "111.198.60.6"); +// Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, 1234); TCPfail_flag = 1; } else @@ -302,8 +320,9 @@ - // 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(15)||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; @@ -356,7 +375,7 @@ HIDO_INT32 TCPClient_Init(void) { l_eTCPClientState = TCP_CLIENT_STATE_IDLE; - Socket_Create(&l_i32TCPClientID, SOCKET_TYPE_TCP, TCPClient_SocketEventProc, HIDO_NULL); + Socket_Create(&l_i32TCPClientID, SOCKET_TYPE_UDP, TCPClient_SocketEventProc, HIDO_NULL); // 这里是固定的心跳,由4G自行发送 #if 0 -- Gitblit v1.9.3