47 lines
1.4 KiB
C
47 lines
1.4 KiB
C
#ifndef UDP_CLIENT_H
|
|
#define UDP_CLIENT_H
|
|
|
|
#include "lwipopts.h"
|
|
#include "xlwipconfig.h"
|
|
#include "lwip/ip_addr.h"
|
|
#include "lwip/err.h"
|
|
#include "lwip/udp.h"
|
|
#include "lwip/inet.h"
|
|
#include "xil_printf.h"
|
|
#include "platform.h"
|
|
#include <sleep.h>
|
|
#include "ctrl_module.h"
|
|
#include "tcpipcomm.h"
|
|
|
|
#include "define.h"
|
|
|
|
struct ClientUdpPcb
|
|
{
|
|
struct udp_pcb *pcb; // udp_pcb
|
|
u8_t szRecvData[NUM_RECV_BUF]; // 수신 버퍼
|
|
u32_t nRecvLen; // 수신 버퍼 사이즈
|
|
u8_t cRecvFlag; // 수신 플래그
|
|
} ;
|
|
|
|
static struct ClientUdpPcb g_stUdpCliPcb; // UDP서버에 접속하는 클라이언트 처리
|
|
|
|
u32_t g_nReportCnt; // udp_client에서 사용, static 선언하면 안됨
|
|
|
|
static u16_t g_unUdpServerPort; // UDP Server Port
|
|
static u8_t m_cReportIdx = 0; // Report 2개 교차 송신용
|
|
static u8_t m_cRecvHBFromMP = 0; // 임무처리기로부터 Heart Beat 수신 여부
|
|
|
|
|
|
void InitUdpServer(void);
|
|
static void udp_server_receive_callback(void *arg, struct udp_pcb *upcb, struct pbuf *p, ip_addr_t *addr, u16_t port);
|
|
|
|
static void InitUdpClientMember(void); // UDP Client 구조체 초기화
|
|
void UdpCommProcess(void); // UDP 통신 처리
|
|
static void UdpCommPeriod(void); // UDP 주기적인 통신 처리
|
|
|
|
static void FuncAntMastStatusReport(void); // 안테나 마스트 상태 보고 송신
|
|
static void FuncAntMastCBitReport(void); // 안테나 마스트 CBIT 보고 송신
|
|
static void FuncHeartBeatData(void); // LAN 연결성 확인 데이터
|
|
|
|
#endif // UDP_CLIENT_H
|