📄 serial.h
字号:
/*命令类型*/
/*参数配置部分*/
/*宏定义*/
#ifndef SERIALH
#define SERIALH
#define ParaSystemWorkMode 0x01
/*工作模式定义*/
//-------------------------------------------
#define PacketMode 0x00
#define PoolMode 0x01
#define PTPDataMode 0x02
//----------------------------------------------
#define ParaEncodeMode 0x02
/*编码速率*/
//---------------------------------------------
#define BP600 0x00
#define BP1200 0x01
#define BP2400 0x02
#define BP4800 0x03
#define BP9600 0x04
//---------------------------------------------
#define ParaUserID 0x03
#define ParaNetConfigPara 0x04
#define ParaNetActiveNode 0x05
#define PreDefineNetNode 0x05
#define ParaPreDefineRouteTable 0x06
#define ParaLocalNodeRouteTable 0x07
/*设置路由方式*/
#define ParaRouteWorkMode 0x08
//--------------------------------------------
#define Dynamic 0x00
#define Static 0x01
//-------------------------------------------
#define PreDefineTDMAPara 0x09
#define ParaLocalNodeMACPara 0x0A
/*信道接入方式*/
#define ParaNetMacMode 0x0B
//---------------------------------------------
#define NoChannel 0x00
#define CSMA 0x01
#define TDMA 0x02
//------------------------------------------------
#define ParaRadioID 0x0C
#define QueryLocalNodeList 0x0D
#define GateUserID 0x0E
#define NetParaFileConfig 0x0F
#define ReturnMTU 0x10
#define PhyWaitSendPktNum 0x11
/*分组传输部分*/
#define OnePTPModeFrameDataSend 0x55
#define VoiceSignalData 0x56 //单路有线信令的传输
#define SendIDToPCCommand 0x62 //SendIDToPCCommand
#define SendAckIDToPCCommand 0x63 //SendAckIDToPCCommand,SendNotRecvAckIDToPCCommand
#define SendNotRecvAckIDToPCCommand 0x64
#define ControlRadio 0x82
#define CancelControlRadio 0x83
/*控制命令部分*/
#define SendRouteADV 0x71
#define Logout 0x72
#define CloseDebugInfo 0x73
#define GateNodeReportLocalNodeLost 0x74
/* 告警信息定义*/
#define SendSerialStringCommand 0xcc
#define SendEmergencyInfo 0x90
#define RadioState 0xcd
/*网络层数据结构的定义*/
#define SendPcNetRecvDataToDebug 0xA0
#define SendPcNetSendDataToDebug 0xA1
#define C0CHAR 0xc0
#define DBCHAR 0xdb
#define DCCHAR 0xdc
#define DDCHAR 0xdd
#define MAX_LENGTH 500
typedef unsigned char UINT8; /* Unsigned 8 bit quantity */
typedef unsigned short UINT16; /* Unsigned 16 bit quantity */
typedef float FP32; /* Single precision floating point */
typedef double FP64; /* Double precision floating point */
#define __packed
#pragma pack(1)
/****************系统工作模式*************************/
typedef __packed struct {
UINT8 WorkMode; //0-无线分组网模式1-点对点论询模式2-点对点数传模式
}WorkMode_OutStruct;
/********************系统信道编码速率模式**************************/
typedef __packed struct {
UINT8 SpeedMode; //0-600BPS(分组无线网模式下不使用)//1-1200BPS2-2400BPS3-4800BPS4-9600BPS
}SpeedMode_OutStruct;
/********************本机节点地址************************/
typedef __packed struct {
UINT8 IP[4];
}LocalIP_OutStruct;
/***********************网络协议参数***************************/
typedef __packed struct {
UINT8 RouteADVINt; /*路由公告时间间隔*/
UINT8 WAckTime; /*等待确认时间间隔*/
UINT8 MaxRetransTimes; /*请求分组重传次数*/
UINT8 MaxReqTimes; /*源路由分组重传次数*/
}NetworkPara_OutStruct;
/************************预置本网有效的节点地址*****************/
typedef __packed struct {
UINT8 NodeNum; /*节点数目*/
__packed struct {
UINT8 IPaddr[4]; /*节点地址*/
}IP[32];
}PreValidNode_OutStruct;
/*************************预置全网拓扑结构信息*****************/
typedef __packed struct {
UINT8 NodeNum; /*节点数目*/
UINT8 EageInfor[496]; /*边的信息 32个节点 32×31/2=496个字节*/
}PreNetworkTopo_OutStruct ;
/*********************设置路由方式****************************/
typedef __packed struct {
UINT8 routemode; /*0-动态,1-静态*/
}RouteMode_OutStruct;
/***********************预置本网所有节点的MAC层时隙分配方案*************/
typedef __packed struct {
UINT8 SendPktNum; /*一个时隙可以发送的分组个数*/
UINT8 EncodeSpeed; /*最低限度的编码速率*/
UINT8 ActiveSlotNum; /*有效的时隙个数*/
UINT8 NumofUser; /*用户数*/
__packed struct {
UINT8 NodeIP[4]; /*节点IP地址*/
UINT8 SoltNum; /*节点的时隙个数*/
UINT8 HoldSlot[16]; /*所拥有的时隙*/
}MacSlotAssiagn[32];
}PreMacTimeSlot_OutStruct;
/*******************信道接入方式*******************************/
typedef __packed struct {
UINT8 MacMode; /*信道接入方式*/
}ChannelMode_OutStruct;
/***********************本网网关节点地址*********************/
typedef __packed struct {
UINT8 GatewayIP[4]; /*网关节点IP*/
}GatewayIP_OutStruct;
/************网络参数配置加注*******************************/
typedef __packed struct {
UINT8 LocalNodeIP[4]; /*本节点地址*/
UINT8 GateWayIP[4]; /*预先配置的网关节点*/
UINT8 LocalNodeNum; /*预先配置的节点个数*/
__packed struct{
UINT8 NodeIP[4];
}LocalNodeList[32];
UINT8 OneSlotSendPktNum;
UINT8 ActiveSlotNum;
UINT8 TDMACanPermitEncodeMode;
UINT8 FramSlotAssianSchene[32];
UINT8 NetworkMode;
UINT8 LasedTimeUsedID0;
UINT8 LasedTimeUsedID1;
UINT8 EncodeMode;
UINT8 WAckTime;
UINT8 RouteADVInt;
UINT8 MaxReqTimes;
UINT8 MaxRetransTimes;
UINT8 RouteWorkMode;
UINT8 MacMode;
UINT8 RoutingTable[496];
}NetworkInfuse_OutStruct;
/********************主动发起路由*******************************/
typedef __packed struct {
char Command;
UINT8 AutoRoute;
}SendRoute_OutStruct;
/**************主动退网注销************************************/
typedef __packed struct {
char Command;
UINT8 AutoExit;
}SendExit_OutStruct;
/*********************调试信息显示开/关**********************/
typedef __packed struct {
UINT8 Debug;
}SendDebuginf_OutStruct;
/**********************网关节点强制命令某个节点退网**********/
typedef __packed struct {
UINT8 IPaddr[4];
UINT8 ExitType;
}SendForceExit_OutStruct;
/*****************设置电台*********************************/
typedef __packed struct {
UINT8 NumofWork; /*工作方式号*/
UINT8 NumofChannel; /*信道号*/
UINT8 NumofPower; /*功率号*/
}SendRadioStation_OutStruct;
/********************取消电台设置**********************************/
typedef __packed struct {
char Command;
UINT8 StationCancle;
}SendCancleStaton_OutStruct;
/*************DTE->PRU的命令 设置命令*******************/
typedef __packed struct {
char Command; //指令
UINT8 Length; //长度
__packed union {
WorkMode_OutStruct SetWorkMode; //设置系统工作模式
SpeedMode_OutStruct SetSpeedMode; //系统信道编码速率模式
LocalIP_OutStruct SetLocalIP; //本机节点地址
NetworkPara_OutStruct SetNetworkPara; //网络协议参数
PreValidNode_OutStruct SetPreValidNode; //预置本网有效的节点地址
PreNetworkTopo_OutStruct SetNetwork; //预置全网拓扑结构信息
RouteMode_OutStruct SetRouteMode; //设置路由方式
PreMacTimeSlot_OutStruct SetTimeSlot; //预置本网所有节点的MAC层时隙分配方案
ChannelMode_OutStruct SetChannelMode; //信道接入方式
GatewayIP_OutStruct SetGatewayIP; //本网网关节点地址
NetworkInfuse_OutStruct SetNetworkInfuse; //网络参数配置加注
SendDebuginf_OutStruct SendDebugOpen; //调试信息显示开/关
SendForceExit_OutStruct SendForceExit; //网关节点强制命令某个节点退网
SendRadioStation_OutStruct SendRadioStation; //设置电台
} Data;
} DTE_OutData;
/***************DTE->PRU发送 查询命令*******************/
typedef __packed struct {
char Command; //指令
UINT8 CommandAdd; //固定为0x00
} Query_OutData;
/***********************IP数据*****************************/
/**********************************************************/
#define IPVer 0x45
/***********服务类型*******************************/
#define CommLevel 0x00
#define FirstLevel 0x20
#define UrgencyLevel 0x40
#define BrodcastLevel 0x80
#define PktTTL 0xff
#define Protype 0x64
#define Checksum 0x00
typedef __packed struct {
UINT8 IpVersion;
UINT8 PktServiceType;
UINT8 len0; /*0*/
UINT8 Len;
UINT8 PktAppID0;
UINT8 PktAppID1;
UINT8 PktAppID2;
UINT8 PktAppID3;
UINT8 TTL;
UINT8 ProtocolType;
UINT8 Checksum0;
UINT8 Checksum1;
UINT8 Src[4];
UINT8 Dst[4];
UINT8 Privacy[5];
UINT8 Data[1024];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -