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)
{
@@ -138,12 +140,14 @@
                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;
                break;
            }
            result = 1;
@@ -232,7 +236,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;
uint8_t alarm_type;
extern double jd,wd;
extern int32_t distance;
@@ -240,15 +245,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,%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);
      }
     userkey_state=0;
      query_open_flag=0;//关闭查询模式
    Socket_Send(l_i32TCPClientID, (HIDO_UINT8 *)acHeart, u32HeartLen);
}
void TCPReceiveMessageReply(void)
@@ -264,12 +277,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 +290,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 +315,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(15)||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 +370,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