| | |
| | | TCP_CLIENT_STATE_IDLE, |
| | | TCP_CLIENT_STATE_CONNECTING, |
| | | TCP_CLIENT_STATE_CONNECTED, |
| | | }E_TCPClientState; |
| | | } E_TCPClientState; |
| | | |
| | | /******************************************************************************* |
| | | * Local Variable * |
| | |
| | | static HIDO_INT32 l_i32TCPClientID = 1; |
| | | static E_TCPClientState l_eTCPClientState = TCP_CLIENT_STATE_IDLE; |
| | | static HIDO_UINT32 l_u32HeartBeatTick = 0; |
| | | static HIDO_UINT8 l_au8CmdBuff[1024]; |
| | | static HIDO_UINT8 l_au8CmdBuff[1500]; |
| | | |
| | | /******************************************************************************* |
| | | * Local Function Declaration * |
| | |
| | | //uint16_t ceshichangdu; |
| | | static HIDO_INT32 TCPClient_DataProc(HIDO_UINT8 *_u8Data, HIDO_UINT32 _u32Len) |
| | | { |
| | | |
| | | |
| | | l_u32HeartBeatTick = HIDO_TimerGetTick(); |
| | | // memcpy(ceshidata,_u8Data,_u32Len); |
| | | // ceshichangdu=_u32Len; |
| | | if(_u32Len!=0) |
| | | if(uart_send(UART_ID1, _u8Data, _u32Len,NULL) != HIDO_OK) |
| | | { |
| | | HIDO_Debug("RTK Data Send Error\r\n"); |
| | | } |
| | | |
| | | if(uart_send(UART_ID1, _u8Data, _u32Len,NULL) != HIDO_OK) |
| | | { |
| | | HIDO_Debug("RTK Data Send Error\r\n"); |
| | | } |
| | | |
| | | HIDO_Debug("%uB RTK Data Sent\r\n", _u32Len); |
| | | |
| | | return HIDO_OK; |
| | |
| | | { |
| | | switch(_eEvent) |
| | | { |
| | | case SOCKET_EVENT_CONNECT_FAILED: |
| | | { |
| | | if(l_eTCPClientState == TCP_CLIENT_STATE_CONNECTING) |
| | | { |
| | | l_eTCPClientState = TCP_CLIENT_STATE_IDLE; |
| | | } |
| | | |
| | | break; |
| | | } |
| | | case SOCKET_EVENT_CONNECTED: |
| | | { |
| | | if(l_eTCPClientState == TCP_CLIENT_STATE_CONNECTING) |
| | | { |
| | | l_eTCPClientState = TCP_CLIENT_STATE_CONNECTED; |
| | | } |
| | | break; |
| | | } |
| | | case SOCKET_EVENT_CLOSED: |
| | | case SOCKET_EVENT_CONNECT_FAILED: |
| | | { |
| | | if(l_eTCPClientState == TCP_CLIENT_STATE_CONNECTING) |
| | | { |
| | | l_eTCPClientState = TCP_CLIENT_STATE_IDLE; |
| | | break; |
| | | } |
| | | case SOCKET_EVENT_RECV_DATA: |
| | | { |
| | | HIDO_INT32 i32Ret = 0; |
| | | HIDO_UINT32 u32RecvLen = 0; |
| | | |
| | | i32Ret = Socket_Recv(l_i32TCPClientID, l_au8CmdBuff, sizeof(l_au8CmdBuff) - 1, &u32RecvLen); |
| | | if(HIDO_OK == i32Ret) |
| | | { |
| | | TCPClient_DataProc(l_au8CmdBuff, u32RecvLen); |
| | | } |
| | | break; |
| | | } |
| | | default: |
| | | break; |
| | | } |
| | | case SOCKET_EVENT_CONNECTED: |
| | | { |
| | | if(l_eTCPClientState == TCP_CLIENT_STATE_CONNECTING) |
| | | { |
| | | break; |
| | | l_eTCPClientState = TCP_CLIENT_STATE_CONNECTED; |
| | | } |
| | | break; |
| | | } |
| | | case SOCKET_EVENT_CLOSED: |
| | | { |
| | | l_eTCPClientState = TCP_CLIENT_STATE_IDLE; |
| | | break; |
| | | } |
| | | case SOCKET_EVENT_RECV_DATA: |
| | | { |
| | | HIDO_INT32 i32Ret = 0; |
| | | HIDO_UINT32 u32RecvLen = 0; |
| | | |
| | | i32Ret = Socket_Recv(l_i32TCPClientID, l_au8CmdBuff, sizeof(l_au8CmdBuff) - 1, &u32RecvLen); |
| | | if(HIDO_OK == i32Ret) |
| | | { |
| | | TCPClient_DataProc(l_au8CmdBuff, u32RecvLen); |
| | | } |
| | | break; |
| | | } |
| | | default: |
| | | { |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | l_eTCPClientState = TCP_CLIENT_STATE_CONNECTING; |
| | | |
| | | HIDO_UtilSnprintf((HIDO_CHAR *) l_au8CmdBuff, sizeof(l_au8CmdBuff), "%u.%u.%u.%u", g_com_map[TCP_IP_0], |
| | | g_com_map[TCP_IP_1], g_com_map[TCP_IP_2], g_com_map[TCP_IP_3]); |
| | | g_com_map[TCP_IP_1], g_com_map[TCP_IP_2], g_com_map[TCP_IP_3]); |
| | | |
| | | Socket_Connect(l_i32TCPClientID, (HIDO_CHAR *) l_au8CmdBuff, g_com_map[TCP_PORT]); |
| | | } |