📄 m1palmq.c
字号:
/****************************************/
/* Copyright (c) 2004, 通信工程学院戴佳 */
/* All rights reserved. */
/* 作 者:戴佳 */
/****************************************/
#include <other.h>
void AlmInd(struct instruction AlmValue);
void PolFill(struct instruction PolValue);
void M1PAlmQ()
{
struct instruction AlmVal;
struct instruction PolVal;
uchar TMP;
WDI=1;
WDI=0;
if (f[3]==1)
{
if ((M1_019&0x80)==0x80) //TPORT4 Mask
{
TMP=(T1_0D2)&0x01;
if ((FgTLOS[3]!=1)&&(TMP==0x01)) //T4LOS
{
FgTLOS[3]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=15;
AlmVal.ObjVal[0]=3;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
M1_0E0=M1_0E0|0x10; //TnAIS=1,send AIS in transmit data stream
}
if ((FgTLOC[3]!=1)&&((M1_0D5&0x02)==0x02)) //T4LOC
{
FgTLOC[3]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=1;
AlmVal.ObjVal[0]=19;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
}
if ((M1_017&0x80)==0x80) //RPT4A Mask
{
if ((FgAAIS[3]!=1)&&((M1_0C1&0x80)==0x80)) //A4AIS
{
FgAAIS[3]=1;
PolVal.head=0x08;
PolVal.oper_obj=2;
PolVal.ObjVal[0]=19;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgTDAIS[3]!=1)&&((M1_0D5&0x01)==0x01)) //T4DAIS
{
FgTDAIS[3]=1;
PolVal.head=0x08;
PolVal.oper_obj=2;
PolVal.ObjVal[0]=51;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgANDF[3]!=1)&&((M1_0C1&0x10)==0x10)) //A4NDF NEW POINTER INDICATION
{
FgANDF[3]=1;
PolVal.head=0x08;
PolVal.oper_obj=6;
PolVal.ObjVal[0]=3;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgARDI[3]!=1)&&((M1_0C1&0x08)==0x08)) //A4RDI
{
FgARDI[3]=1;
PolVal.head=0x08;
PolVal.oper_obj=7;
PolVal.ObjVal[0]=3;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgAUNEQ[3]!=1)&&((M1_0C1&0x02)==0x02)) //A4UNEQ
{
FgAUNEQ[3]=1;
PolVal.head=0x08;
PolVal.oper_obj=9;
PolVal.ObjVal[0]=3;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgASLER[3]!=1)&&((M1_0C1&0x01)==0x01)) //A4SLER
{
FgASLER[3]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=10;
AlmVal.ObjVal[0]=3;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
if ((FgAJ2TIM[3]!=1)&&((M1_0DF&0x04)==0x04)) //A4J2TIM
{
FgAJ2TIM[3]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=12;
AlmVal.ObjVal[0]=3;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
}
}
if (f[2]==1)
{
if ((M1_019&0x40)==0x40) //TPORT3 Mask
{
TMP=(T1_092)&0x01;
if ((FgTLOS[2]!=1)&&(TMP==0x01)) //T3LOS
{
FgTLOS[2]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=15;
AlmVal.ObjVal[0]=2;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
M1_0B0=M1_0B0|0x10;
}
if ((FgTLOC[2]!=1)&&((M1_0A5&0x02)==0x02)) //T3LOC
{
FgTLOC[2]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=1;
AlmVal.ObjVal[0]=18;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
}
if ((M1_017&0x20)==0x20) //RPT3A Mask
{
if ((FgAAIS[2]!=1)&&((M1_091&0x80)==0x80)) //A3AIS
{
FgAAIS[2]=1;
PolVal.head=0x08;
PolVal.oper_obj=2;
PolVal.ObjVal[0]=18;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgTDAIS[2]!=1)&&((M1_0A5&0x01)==0x01)) //T3DAIS
{
FgTDAIS[2]=1;
PolVal.head=0x08;
PolVal.oper_obj=2;
PolVal.ObjVal[0]=50;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgANDF[2]!=1)&&((M1_091&0x10)==0x10)) //A3NDF NEW POINTER INDICATION
{
FgANDF[2]=1;
PolVal.head=0x08;
PolVal.oper_obj=6;
PolVal.ObjVal[0]=2;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgARDI[2]!=1)&&((M1_091&0x08)==0x08)) //A3RDI
{
FgARDI[2]=1;
PolVal.head=0x08;
PolVal.oper_obj=7;
PolVal.ObjVal[0]=2;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgAUNEQ[2]!=1)&&((M1_091&0x02)==0x02)) //A3UNEQ
{
FgAUNEQ[2]=1;
PolVal.head=0x08;
PolVal.oper_obj=9;
PolVal.ObjVal[0]=2;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgASLER[2]!=1)&&((M1_091&0x01)==0x01)) //A3SLER
{
FgASLER[2]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=10;
AlmVal.ObjVal[0]=2;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
if ((FgAJ2TIM[2]!=1)&&((M1_0AF&0x04)==0x04)) //A3J2TIM
{
FgAJ2TIM[2]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=12;
AlmVal.ObjVal[0]=2;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
}
}
if (f[1]==1)
{
if ((M1_019&0x20)==0x20) //TPORT2 Mask
{
TMP=(T1_052)&0x01;
if ((FgTLOS[1]!=1)&&(TMP==0x01)) //T2LOS
{
FgTLOS[1]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=15;
AlmVal.ObjVal[0]=1;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
M1_080=M1_080|0x10;
}
if ((FgTLOC[1]!=1)&&((M1_075&0x02)==0x02)) //T2LOC
{
FgTLOC[1]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=1;
AlmVal.ObjVal[0]=17;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
}
if ((M1_017&0x08)==0x08) //RPT2A Mask
{
if ((FgAAIS[1]!=1)&&((M1_061&0x80)==0x80)) //A2AIS
{
FgAAIS[1]=1;
PolVal.head=0x08;
PolVal.oper_obj=2;
PolVal.ObjVal[0]=17;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgTDAIS[1]!=1)&&((M1_075&0x01)==0x01)) //T2DAIS
{
FgTDAIS[1]=1;
PolVal.head=0x08;
PolVal.oper_obj=2;
PolVal.ObjVal[0]=49;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgANDF[1]!=1)&&((M1_061&0x10)==0x10)) //A2NDF NEW POINTER INDICATION
{
FgANDF[1]=1;
PolVal.head=0x08;
PolVal.oper_obj=6;
PolVal.ObjVal[0]=1;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgARDI[1]!=1)&&((M1_061&0x08)==0x08)) //A2RDI
{
FgARDI[1]=1;
PolVal.head=0x08;
PolVal.oper_obj=7;
PolVal.ObjVal[0]=1;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgAUNEQ[1]!=1)&&((M1_061&0x02)==0x02)) //A2UNEQ
{
FgAUNEQ[1]=1;
PolVal.head=0x08;
PolVal.oper_obj=9;
PolVal.ObjVal[0]=1;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgASLER[1]!=1)&&((M1_061&0x01)==0x01)) //A2SLER
{
FgASLER[1]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=10;
AlmVal.ObjVal[0]=1;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
if ((FgAJ2TIM[1]!=1)&&((M1_07F&0x04)==0x04)) //A2J2TIM
{
FgAJ2TIM[1]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=12;
AlmVal.ObjVal[0]=1;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
}
}
if (f[0]==1)
{
if ((M1_019&0x10)==0x10) //TPORT1 Mask
{
TMP=(T1_012)&0x01;
if ((FgTLOS[0]!=1)&&(TMP==0x01)) //T1LOS
{
FgTLOS[0]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=15;
AlmVal.ObjVal[0]=0;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
M1_050=M1_050|0x10;
}
if ((FgTLOC[0]!=1)&&((M1_045&0x02)==0x02)) //T1LOC
{
FgTLOC[0]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=1;
AlmVal.ObjVal[0]=16;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
}
if ((M1_017&0x02)==0x02) //RPT1A Mask
{
if ((FgAAIS[0]!=1)&&((M1_031&0x80)==0x80)) //A1AIS
{
FgAAIS[0]=1;
PolVal.head=0x08;
PolVal.oper_obj=2;
PolVal.ObjVal[0]=16;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgTDAIS[0]!=1)&&((M1_045&0x01)==0x01)) //T1DAIS
{
FgTDAIS[0]=1;
PolVal.head=0x08;
PolVal.oper_obj=2;
PolVal.ObjVal[0]=48;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgANDF[0]!=1)&&((M1_031&0x10)==0x10)) //A1NDF NEW POINTER INDICATION
{
FgANDF[0]=1;
PolVal.head=0x08;
PolVal.oper_obj=6;
PolVal.ObjVal[0]=0;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgARDI[0]!=1)&&((M1_031&0x08)==0x08)) //A1RDI
{
FgARDI[0]=1;
PolVal.head=0x08;
PolVal.oper_obj=7;
PolVal.ObjVal[0]=0;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgAUNEQ[0]!=1)&&((M1_031&0x02)==0x02)) //A1UNEQ
{
FgAUNEQ[0]=1;
PolVal.head=0x08;
PolVal.oper_obj=9;
PolVal.ObjVal[0]=0;
PolVal.ObjVal[1]=0xFF;
PolFill(PolVal);
}
if ((FgASLER[0]!=1)&&((M1_031&0x01)==0x01)) //A1SLER
{
FgASLER[0]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=10;
AlmVal.ObjVal[0]=0;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
if ((FgAJ2TIM[0]!=1)&&((M1_04F&0x04)==0x04)) //A1J2TIM
{
FgAJ2TIM[0]=1;
AlmVal.head=0x08;
AlmVal.oper_obj=12;
AlmVal.ObjVal[0]=0;
AlmVal.ObjVal[1]=0xFF;
AlmInd(AlmVal);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -