g0b1vetx-board/Comm/net-app.h
2023-11-30 08:10:01 +08:00

95 lines
2.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#ifndef _NET_APP_H
#define _NET_APP_H
//typedef struct netWorkInterface_t
//{
// void (*Init) (void);
// int (*IsConnected) (void);
// void (*WriteData) (char *, int);
// int (*ReadData) (char *, int);
// int (*IsReady) (void);
// int (*IsIdle) (void);
// int (*ReSubTopic) (char *);
//} netWorkInterface_t;
typedef struct NetPacket_t
{
int data_size;
char data[512];
} NetPacket_t;
#define PACKET_SEQNO_INDEX (1)
#define PACKET_SEQNO_COMP_INDEX (2)
#define PACKET_HEADER (3)
#define PACKET_TRAILER (2)
#define PACKET_OVERHEAD (PACKET_HEADER + PACKET_TRAILER)
#define PACKET_SIZE (128)
#define PACKET_1K_SIZE (1024)
#define FILE_NAME_LENGTH (256)
#define FILE_SIZE_LENGTH (16)
#define SOH (0x01) /* start of 128-byte data packet */
#define STX (0x02) /* start of 1024-byte data packet */
#define EOT (0x04) /* end of transmission */
#define ACK (0x06) /* acknowledge */
#define NAK (0x15) /* negative acknowledge */
#define CA (0x18) /* two of these in succession aborts transfer */
#define CC (0x43) /* 'C' == 0x43, request 16-bit CRC */
#define ABORT1 (0x41) /* 'A' == 0x41, abort by user */
#define ABORT2 (0x61) /* 'a' == 0x61, abort by user */
#define YMFILD 0x19
#define YMSUCCE 0x17
#define NAK_TIMEOUT (0x100000)
#define MAX_ERRORS (5)
// SL651 定义宏
#define SL651_TIME_HEART 60000 // 1分钟
#define SL651_TIME_LOST 90000
#define SL651_TIME_UNIF 1000*5*60 // 均匀时段默认5分钟上报一次
#define SL651_TIME_FLOW 60000 // 均匀时段默认5分钟上报一次
void NetTask (void);
void NetAppInit (void);
//void NETSendSluiceUp (void);
//void NETSendDataUnif (void);
//void NETSendSluiceAck (void);
//void NETSendConfigAck (int k);
//void NETSendConfig (char *data);
//// 应答E0 回复发送的数据
//void NETSendUpdateAck (int k);
//// 应答E3 回复读取的数据
//void NETSendRegist (void);
//// 应答E3 打印日志
//void NETSendLog (char *data);
// 如下为网络队列调用函数wirebuffer 不等于多个writebyte
void NET_FifoWritebuffer (char *buffer, int size);
void NET_FifoWriteByte (char byte) ;
#endif