📄 main.h
字号:
#ifndef MAIN_H
#define MAIN_H
#ifdef MAINMODULE
#define EXTMAIN
#else
#define EXTMAIN extern
#endif
//使用本地串口做调试使能
#define DEBUG_ENABLE 0
EXTMAIN UART_HANDLER Com_Southing; // 南向接口
EXTMAIN UART_HANDLER Com_North; // 北向接口
EXTMAIN OS_EVENT *localSendSem;
#define Normal 0xAA
#define Alarm 0x55
//设备所在级
EXTMAIN INT8U deviceLevel;
//设备的地址
EXTMAIN INT8U deviceAddr;
//看门狗使能
EXTMAIN INT8U wdEnable;
//东方信联WFDS光模块协议
struct TS
{
uint8 header;
uint8 type;
uint8 addr;
uint8 cmd;
uint8 ack;
uint8 datLen[2];
uint8 firstDat;
};
EXTMAIN void ResetCpu(void);
EXTMAIN INT8S protocolDisposalSouth(UART_HANDLER type ,INT8U *recapa , INT32U data_count);
//光模块信息
typedef struct
{
uint16 commCnt; //通信计数
INT8U AlarmData[8]; //告警信息
INT8U OpticalTxPower; //发光功率
INT8U LD_Partial; //LD偏执电流
INT8U LD_Refrigeration; //LD制冷电流
INT8U OpticalRxPower[8]; //收光功率
INT8U FSK_Tx; //FSK发送功率
INT8U FSK_Rx; //FSK接受功率
INT8U FSKFrequency0; //FSK频率
INT8U FSKFrequency1;
INT8U FSKFrequency2;
INT8U FSKFrequency3;
INT8U Attenuation; //衰减
INT8U Gain; //增益
INT8U BufferState; //缓冲区状态
}LIGHTMODULE;
typedef struct
{
uint8 flag; //是否在线
uint8 checkEnable; //是否检测
uint8 addr[3]; //设备地址
struct
{//每个设备的同步信息, 12 bytes
INT8U state[2]; //状态
INT8U deviceType; //系统单元类别
INT8S temperature; //温度
INT8U txLightPower; //发光功率
INT8U rauUpAtt; //远端无线单元上行衰减
INT8U rauDwAtt; //远端无线单元下行衰减
INT8U rauUpAlc; //远端无线单元上行ALC输出功率
INT8U rauDwAlc; //
INT8U dwOutputVoltage;//下行输出电平(RU)
INT8U slotSet; //时隙比设置
}sycInfo;
struct
{//每个设备的基本信息
INT8U deviceXinghao[4]; //系统单元型号
INT8U serialNum[3]; //系统单元生产序列号
INT8U softwareVersion; //
INT8U longitude[3]; //经度
INT8U dimensionality[3]; //维度
}basisInfo;
}DEVICE_INFO;
#define SYC_INFO_LEN 15 //包含地址和状态和数据
#define BASIS_INFO_LEN 14 //没有包含地址和状态
typedef struct
{
uint8 portCheckEnable;//端口检查使能
uint8 commCnt; //端口通信计数
uint8 deviceCnt; //端口上的设备数
DEVICE_INFO mainDevice; //端口连接的设备
DEVICE_INFO slaveDevice[8]; //端口连接的设备的下属设备
}PORT;
typedef struct
{
DEVICE_INFO expandInfo; //本机信息
PORT devicePort[8]; //8个端口
uint8 southCommCnt; //和上面设备的通信计数
}WFDS_EXPAND;
//内部协议的组成
#define STA_UPDATA 0x0f
#define STA_QUERY 0x05
#define STA_SET 0x03
#define STA_SYC 0x04
//内部协议
typedef struct
{
uint8 addr[2]; //地址//地址变成了两个字节,所以现在也是2个字节
uint8 Ctype;
uint8 state; //命令
uint8 firstData;//数据(如果有的话)
}MY_PROTOCAL;
//设置命令的组成
//命令标识定义
#define SET_DEVICE_XINGHAO 0x10
#define SET_SERIALNUM 0x11
#define SET_LONGITUDE 0x12
#define SET_DEIMENSIONALITY 0x13
#define SET_RFSW 0x14
#define SET_UPATT 0x15
#define SET_DWATT 0x16
#define SET_UPALC 0x17
#define SET_DWALC 0x18
#define SET_DWGAIN 0x19
#define SET_SLOT 0x1D
typedef struct
{
uint8 len;
uint8 cmd;
uint8 cmdFirstData;
}SET_CMD;
//debug数据集
//保存debug时需要观察的数据
typedef struct
{
uint16 portSycSendCnt[8]; //同步查询发送计数
uint16 portSycRecCnt[8]; //同步查询接受计数
uint16 portBasSendCnt[8]; //查询基本信息计数
uint16 portBasRecCnt[8]; //收到基本信息计数
uint16 setSendCnt; //发送设置计数
uint16 setRecCnt; //设置接受计数
uint16 recSouthDatCnt; //未地址鉴权时的计数
uint16 recSouthSycCnt; //收到上面查询同步计数
uint16 recSouthBasCnt; //受到上面查询基本信息计数
uint16 sendCntSouth; //北向发送数据计数
uint16 fskAckCntSouth; //发送数据FSK应答计数
uint16 queryNorthModuleCnt; //查模块状态计数
uint16 queryNorthModuleRecCnt;
uint16 querySouthModuleCnt; //查模块状态计数
uint16 querySouthModuleRecCnt;
}DEBUG;
EXTMAIN DEBUG debugInfo;
//保存初始化时的设备的一些状态
typedef struct
{
uint8 deviveACSupply;
uint8 deviceDCSupply;
}STRUCT_INIT_INFO;
EXTMAIN STRUCT_INIT_INFO initInfo;
//本机及下属设备信息存储区
EXTMAIN WFDS_EXPAND expandDevice;
//currentAddr 当前查询的地址
//initEnable 初始化进行中标志
//initTimeCnt 初始化时间计数器
EXTMAIN uint8 currentAddr, initEnable, initTimeCnt;
//设置命令转发缓冲区
#define CMD_BUF_LEN 20
EXTMAIN uint8 cmdBuf[CMD_BUF_LEN][40], cmdBufCnt;
//北向向南向发送设置应答小心队列的缓冲区
#define UP_SEND_BUF_LEN 5
EXTMAIN uint8 upSendBuf[UP_SEND_BUF_LEN][15], upSendBufCnt;
//刷新显示使能标志
EXTMAIN uint8 refreshDisplayEnable;
//本地温度
EXTMAIN uint8 localTemperature;
//光模块数据
EXTMAIN LIGHTMODULE northLightModule, southLightModule;
#endif
//定义远端模块是否同步完成标志位,完成为1,未完成为0
EXTMAIN uint8 NO2GState[11];//2009.2.10-侍任伟,采用下标类型相对应的方式
// 0 GSM模块标志位0x02
// 1 DCS模块标志位0x03
// 2 CDMA800模块标志位0x04
// 3 CDMA2000模块标志位0x05
// 4 WCDMAState模块标志位0x07
// 5 TDSCDMA模块标志位0x06
struct GSM_TYPE // 定义设备信息结构体类型
{
INT8U ModuleType; // 系统单元类别类别
INT8U DeviceType; // 系统单元类别型号
INT8U DeviceSerialNo[3]; // 设备生产序列号
INT8U Version; // 系统单元当前版本
INT8U UpAtt; // 上行衰减值
INT8U DownAtt; // 下行衰减值
INT8S DownOutputOverPowerMax; // 下行输出过功率门限
INT8S DownOutputLessPowerMax; // 下行输出欠功率门限
INT8U DownOutputOverPowerAlarmEn; // 下行输出过功率告警使能
INT8U DownOutputLessPowerAlarmEn; // 下行输出欠功率告警使能
INT8U DownVSWRAlarmEn; // 下行驻波比告警使能
};
EXTMAIN struct GSM_TYPE Querydata2G[11];
struct GSM_SYNC_TYPE // 定义同步数据
{
INT8U RFSignalSwitch; // 射频开关
INT8U Dev_DownOutputOverPowerAlarmState; // 下行输出过功率告警状态
INT8U Dev_DownOutputLessPowerAlarmState; // 下行输出欠功率告警状态
INT8U Dev_DownVSWRAlarmState; // 下行驻波比告警状态
INT8S DownOutputLevel; // 下行输出功率电平
INT8U TxLightPower; // 发光功率
};
EXTMAIN struct GSM_SYNC_TYPE Syncdata2G[11];
struct TD_TYPE // 定义设备信息结构体类型
{
INT8U ModuleType; // 系统单元类别类别
INT8U DeviceType; // 系统单元类别型号
INT8U DeviceSerialNo[3]; // 设备生产序列号
INT8U Version; // 系统单元当前版本
INT8U UpAtt; // 上行衰减值
INT8U DownAtt; // 下行衰减值
INT8S DownOutputOverPowerMax; // 下行输出过功率门限
INT8S DownOutputLessPowerMax; // 下行输出欠功率门限
INT8U NO2ChangePoint; // 第二时隙切换点
INT8U DownOutputOverPowerAlarmEn; // 下行输出过功率告警使能
INT8U DownOutputLessPowerAlarmEn; // 下行输出欠功率告警使能
INT8U DownVSWRAlarmEn; // 下行驻波比告警使能
INT8U AsynchronismAlarmEn; // 失步告警使能
};
EXTMAIN struct TD_TYPE Querydata3G;
struct TD_SYNC_TYPE // 定义同步数据
{
INT8U RFSignalSwitch; // 射频开关
INT8U Dev_DownOutputOverPowerAlarmState; // 下行输出过功率告警状态
INT8U Dev_DownOutputLessPowerAlarmState; // 下行输出欠功率告警状态
INT8U Dev_DownVSWRAlarmState; // 下行驻波比告警状态
INT8U Dev_AsynchronismAlarmState; // 失步告警状态
INT8S DownOutputLevel; // 下行输出功率电平
INT8U TxLightPower; // 发光功率
};
EXTMAIN struct TD_SYNC_TYPE Syncdata3G;
EXTMAIN uint8 DownOutputOverPowerAlarmCnt[11];
EXTMAIN uint8 noDownOutputOverPowerAlarmCnt[11];
EXTMAIN uint8 DownOutputLessPowerAlarmCnt[11];
EXTMAIN uint8 noDownOutputLessPowerAlarmCnt[11];
EXTMAIN uint8 DownVSWRAlarmCnt[11];
EXTMAIN uint8 noDownVSWRAlarmCnt[11];
EXTMAIN uint8 AsynchronismAlarmCnt;
EXTMAIN uint8 noAsynchronismAlarmCnt;
EXTMAIN uint8 DownOutputOverPowerAlarmState[11];
EXTMAIN uint8 noDownOutputOverPowerAlarmState[11];
EXTMAIN uint8 DownOutputLessPowerAlarmState[11];
EXTMAIN uint8 noDownOutputLessPowerAlarmState[11];
EXTMAIN uint8 DownVSWRAlarmState[11];
EXTMAIN uint8 noDownVSWRAlarmState[11];
EXTMAIN uint8 AsynchronismAlarmState;
EXTMAIN uint8 noAsynchronismAlarmState;
EXTMAIN uint8 TD_AlarmState[2][11];//6种制式的告警状态
EXTMAIN uint8 TD_ENAlarmState[2][11];//6种制式的告警状态使能
EXTMAIN void TD_QueryState(void);
EXTMAIN void TD_Set(uint8 state);//频分设备的设置
EXTMAIN void TD3G_Set(void);//TD设备的设置
EXTMAIN void TD_IntAllPar(void);//初始化设备参数
EXTMAIN void TD_WriteAllPar(void);//写初始化设备参数
/*********************************************************************************************************
** End Of File
**********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -