📄 timeslot_handle.c.bak
字号:
outportl=0xDC;
break;
case 5: outporth=0x08;
outportl=0x4C;
break;
case 6: outporth=0x08;
outportl=0x7C;
break;
case 7: outporth=0x08;
outportl=0xAC;
break;
case 8: outporth=0x08;
outportl=0xDC;
break;
case 9: outporth=0x10;
outportl=0x4C;
break;
case 10: outporth=0x10;
outportl=0x7C;
break;
case 11: outporth=0x10;
outportl=0xAC;
break;
case 12: outporth=0x10;
outportl=0xDC;
break;
case 13: outporth=0x18;
outportl=0x4C;
break;
case 14: outporth=0x18;
outportl=0x7C;
break;
case 15: outporth=0x18;
outportl=0xAC;
break;
case 16: outporth=0x18;
outportl=0xDC;
break;
case 17: outporth=0x20;
outportl=0x4C;
break;
case 18: outporth=0x20;
outportl=0x7C;
break;
case 19: outporth=0x20;
outportl=0xAC;
break;
case 20: outporth=0x20;
outportl=0xDC;
break;
case 21: outporth=0x28;
outportl=0x4C;
break;
default: break;
}
switch (tsset_Sport){ //得出Mapper中上行支路号
case 1: inporth=0;
inportl=0x4D;
break;
case 2: inporth=0;
inportl=0x7D;
break;
case 3: inporth=0;
inportl=0xAD;
break;
case 4: inporth=0;
inportl=0xDD;
break;
case 5: inporth=0x08;
inportl=0x4D;
break;
case 6: inporth=0x08;
inportl=0x7D;
break;
case 7: inporth=0x08;
inportl=0xAD;
break;
case 8: inporth=0x08;
inportl=0xDD;
break;
case 9: inporth=0x10;
inportl=0x4D;
break;
case 10: inporth=0x10;
inportl=0x7D;
break;
case 11: inporth=0x10;
inportl=0xAD;
break;
case 12: inporth=0x10;
inportl=0xDD;
break;
case 13: inporth=0x18;
inportl=0x4D;
break;
case 14: inporth=0x18;
inportl=0x7D;
break;
case 15: inporth=0x18;
inportl=0xAD;
break;
case 16: inporth=0x18;
inportl=0xDD;
break;
case 17: inporth=0x20;
inportl=0x4D;
break;
case 18: inporth=0x20;
inportl=0x7D;
break;
case 19: inporth=0x20;
inportl=0xAD;
break;
case 20: inporth=0x20;
inportl=0xDD;
break;
case 21: inporth=0x28;
inportl=0x4D;
break;
default: break;
}
switch (tsset_Sboard){
case 5: switch (tsset_Dboard){ //源盘为MCB盘
case 5: if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1) = 0xFF; //output 光口 0
else PTUN(1,tsset_Dslot-1) = 0xFF; //output 光口 1
return_value=0; //返回值0成功
break;
case 4: if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1) = 0xFF; //output 光口 2
else PTUN(3,tsset_Dslot-1) = 0xFF; //output 光口 3
return_value = 0;
break;
case 3: PTUN(4,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(outporth,outportl,0,3); //删除Mapper中的下行支路
timeslot_2M[2][tsset_Dport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 2: PTUN(6,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(outporth,outportl,0,2);
timeslot_2M[1][tsset_Dport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 1: PTUN(5,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(outporth,outportl,0,1);
timeslot_2M[0][tsset_Dport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
default:return_value=2;
break;
}
break;
case 4: switch (tsset_Dboard){
case 5: if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1) = 0xFF; //output 光口 0
else PTUN(1,tsset_Dslot-1) = 0xFF; //output 光口 1
return_value = 0;
break;
case 4: if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1) = 0xFF; //output 光口 2
else PTUN(3,tsset_Dslot-1) = 0xFF; //output 光口 3
return_value = 0;
break;
case 3: PTUN(4,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(outporth,outportl,0,3);
timeslot_2M[2][tsset_Dport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 2: PTUN(6,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(outporth,outportl,0,2);
timeslot_2M[1][tsset_Dport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 1: PTUN(5,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(outporth,outportl,0,1);
timeslot_2M[0][tsset_Dport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
default:return_value=2;
break;
}
break;
case 3: switch (tsset_Dboard){
case 5: //if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1) = 0xFF; //output 光口 0
//else
PTUN(1,tsset_Dslot-1) = 0xFF; //output 光口 1
se0111_reg_wr(inporth,inportl,0,3);
temp = XBYTE[0x8D00 + tsset_Dslot - 1];
if (temp > 6){
timeslot_2M[2][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
}
return_value=0;
break;
case 4: //if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1) = 0xFF; //output 光口 2
//else
PTUN(3,tsset_Dslot-1) = 0xFF; //output 光口 3
se0111_reg_wr(inporth,inportl,0,3);
temp = XBYTE[0x8D00 + tsset_Dslot - 1];
if (temp > 6){
timeslot_2M[2][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
}
return_value=0;
break;
case 3: PTUN(4,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(inporth,inportl,0,3);
se0111_reg_wr(outporth,outportl,0,3);
timeslot_2M[2][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 2: PTUN(6,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(inporth,inportl,0,3);
se0111_reg_wr(outporth,outportl,0,2);
timeslot_2M[1][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 1: PTUN(5,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(inporth,inportl,0,3);
se0111_reg_wr(outporth,outportl,0,1);
timeslot_2M[0][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
default:return_value=2;
break;
}
break;
case 2: switch (tsset_Dboard){
case 5: //if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1) = 0xFF; //output 光口 0
//else
PTUN(1,tsset_Dslot-1) = 0xFF; //output 光口 1
se0111_reg_wr(inporth,inportl,0,2);
temp = XBYTE[0x8D80 + tsset_Dslot - 1];
if (temp > 6){
timeslot_2M[1][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
}
return_value=0;
break;
case 4: //if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1) = 0xFF; //output 光口 2
//else
PTUN(3,tsset_Dslot-1) = 0xFF; //output 光口 3
se0111_reg_wr(inporth,inportl,0,2);
temp = XBYTE[0x8D80 + tsset_Dslot - 1];
if (temp > 6){
timeslot_2M[1][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
}
return_value=0;
break;
case 3: PTUN(4,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(inporth,inportl,0,2);
se0111_reg_wr(outporth,outportl,0,3);
timeslot_2M[2][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 2: PTUN(6,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(inporth,inportl,0,2);
se0111_reg_wr(outporth,outportl,0,2);
timeslot_2M[1][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 1: PTUN(5,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(inporth,inportl,0,2);
se0111_reg_wr(outporth,outportl,0,1);
timeslot_2M[0][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
default:return_value=2;
break;
}
break;
case 1: switch (tsset_Dboard){
case 5: //if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1) = 0xFF; //output 光口 0
//else
PTUN(1,tsset_Dslot-1) = 0xFF; //output 光口 1
se0111_reg_wr(inporth,inportl,0,1);
temp = XBYTE[0x8D40 + tsset_Dslot - 1];
if (temp > 6){
timeslot_2M[0][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
}
return_value=0;
break;
case 4: //if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1) = 0xFF; //output 光口 2
//else
PTUN(3,tsset_Dslot-1) = 0xFF; //output 光口 3
se0111_reg_wr(inporth,inportl,0,1);
temp = XBYTE[0x8D40 + tsset_Dslot - 1];
if (temp > 6){
timeslot_2M[0][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
}
return_value=0;
break;
case 3: PTUN(4,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(inporth,inportl,0,1);
se0111_reg_wr(outporth,outportl,0,3);
timeslot_2M[2][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 2: PTUN(6,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(inporth,inportl,0,1);
se0111_reg_wr(outporth,outportl,0,2);
timeslot_2M[1][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
case 1: PTUN(5,tsset_Dslot-1) = 0xFF;
se0111_reg_wr(inporth,inportl,0,1);
se0111_reg_wr(outporth,outportl,0,1);
timeslot_2M[0][tsset_Sport - 1] = 0; //删除下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
break;
default:return_value=2;
break;
}
break;
default:return_value=2;
break;
}
}
else return_value = 2;
if (!GetResRdyTbl(1))
SetResRdyTbl(1); //置响应事件表相应位为1
return(return_value); //返回函数执行结果
}
void reply_mcp_command(unsigned long codeid,unsigned char returnvalue){
unsigned char xdata command;
tx_buf[0]='$';
tx_buf[1]='2';
tx_buf[2]='1';
command = (unsigned char) (codeid >> 16);
tx_buf[3] = command;
command = (unsigned char) (codeid >> 8);
tx_buf[4] = command;
command = (unsigned char) codeid;
tx_buf[5] = command;
tx_buf[6]='0';
tx_buf[7]='0';
tx_buf[8]='0';
tx_buf[9]='1';
tx_buf[10] = returnvalue+0x30;
tx_buf[11]='*';
tx_buf_pointer = 0;
while(tx_buf[tx_buf_pointer] != '*'){
SBUF = tx_buf[tx_buf_pointer];
while(tx_done == 0);
tx_done = 0;
tx_buf_pointer++;
}
SBUF = tx_buf[tx_buf_pointer]; //发送最后一个字符'*'
while(tx_done == 0);
tx_done = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -