📄 timeslot_handle.c.bak
字号:
}
return_value = 0;
}
else return_value = 2;
break;
case 3: if (start_flg[3] == 0){
if (tsset_Sport==1){
//PTUN(6,tsset_Sslot-1)=0;
//PTUN(5,tsset_Sslot-1)=0;
PTUN(4,tsset_Sslot-1)=0;
}
else {
//PTUN(6,tsset_Sslot-1)=1;
//PTUN(5,tsset_Sslot-1)=1;
PTUN(4,tsset_Sslot-1)=1;
}
se0111_reg_wr(outporth,outportl,tsset_Dslot,3); //配置Mapper下行支路寄存器
timeslot_2M[2][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value = 0;
}
else return_value = 2;
break;
case 2: if (start_flg[2] == 0){
if (tsset_Sport==1){
PTUN(6,tsset_Sslot-1)=0;
//PTUN(5,tsset_Sslot-1)=0;
//PTUN(4,tsset_Sslot-1)=0;
}
else {
PTUN(6,tsset_Sslot-1)=1;
//PTUN(5,tsset_Sslot-1)=1;
//PTUN(4,tsset_Sslot-1)=1;
}
se0111_reg_wr(outporth,outportl,tsset_Dslot,2);
timeslot_2M[1][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value = 0;
}
else return_value = 2;
break;
case 1: if (start_flg[1] == 0){
if (tsset_Sport==1){
//PTUN(6,tsset_Sslot-1)=0;
PTUN(5,tsset_Sslot-1)=0;
//PTUN(4,tsset_Sslot-1)=0;
}
else {
//PTUN(6,tsset_Sslot-1)=1;
PTUN(5,tsset_Sslot-1)=1;
//PTUN(4,tsset_Sslot-1)=1;
}
se0111_reg_wr(outporth,outportl,tsset_Dslot,1);
timeslot_2M[0][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
}
else return_value = 2;
break;
default:return_value=2;
break;
}
break;
case 4: switch (tsset_Dboard){ //源盘为OTB盘
case 5: if (start_flg[0] == 0){
if (tsset_Sport==1){ //目的盘为MCB盘input 光口 2
if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1)=2; //output 光口 0
else
PTUN(1,tsset_Dslot-1)=2; //output 光口 1
}
else { //input 光口 3
if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1)=3; //output 光口 0
else
PTUN(1,tsset_Dslot-1)=3; //output 光口 1
}
return_value=0;
}
else return_value = 2;
break;
case 4: if (start_flg[0] == 0){
if (tsset_Sport==1){ //input 光口 2
if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1)=2; //output 光口 2
else
PTUN(3,tsset_Dslot-1)=2; //output 光口 3
}
else { //input 光口 3
if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1)=3; //output 光口 2
else
PTUN(3,tsset_Dslot-1)=3;
}
return_value=0;
}
else return_value = 2;
break;
case 3: if (start_flg[3] == 0 & start_flg[0] == 0){
if (tsset_Sport==1){
//PTUN(6,tsset_Sslot-1)=2;
//PTUN(5,tsset_Sslot-1)=2;
PTUN(4,tsset_Sslot-1)=2;
}
else {
//PTUN(6,tsset_Sslot-1)=3;
//PTUN(5,tsset_Sslot-1)=3;
PTUN(4,tsset_Sslot-1)=3;
}
se0111_reg_wr(outporth,outportl,tsset_Sslot,3);
timeslot_2M[2][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value = 0;
}
else return_value = 2;
break;
case 2: if (start_flg[2] == 0 & start_flg[0] == 0){
if (tsset_Sport==1){
PTUN(6,tsset_Sslot-1)=2;
//PTUN(5,tsset_Sslot-1)=2;
//PTUN(4,tsset_Sslot-1)=2;
}
else {
PTUN(6,tsset_Sslot-1)=3;
//PTUN(5,tsset_Sslot-1)=3;
//PTUN(4,tsset_Sslot-1)=3;
}
se0111_reg_wr(outporth,outportl,tsset_Sslot,2);
timeslot_2M[1][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value = 0;
}
else return_value = 2;
break;
case 1: if (start_flg[1] == 0 & start_flg[0] == 0){
if (tsset_Sport==1){
//PTUN(6,tsset_Sslot-1)=2;
PTUN(5,tsset_Sslot-1)=2;
//PTUN(4,tsset_Sslot-1)=2;
}
else {
//PTUN(6,tsset_Sslot-1)=3;
PTUN(5,tsset_Sslot-1)=3;
//PTUN(4,tsset_Sslot-1)=3;
}
se0111_reg_wr(outporth,outportl,tsset_Sslot,1);
timeslot_2M[0][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value = 0;
}
else return_value = 2;
break;
default:return_value=2;
break;
}
break;
case 3: switch (tsset_Dboard){
case 5: if (start_flg[3] == 0){
//if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1)=4; //配置上行时隙,并发
//else
PTUN(1,tsset_Dslot-1)=4;
se0111_reg_wr(inporth,inportl,tsset_Sslot,3); //配置Mapper上行支路号
timeslot_2M[2][tsset_Dport - 1] = 1;
return_value=0;
}
else return_value = 2;
break;
case 4: if (start_flg[0] == 0 & start_flg[3] == 0){
//if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1)=4;
//else
PTUN(3,tsset_Dslot-1)=4;
se0111_reg_wr(inporth,inportl,tsset_Sslot,3);
timeslot_2M[2][tsset_Dport - 1] = 1;
return_value=0;
}
else return_value = 2;
break;
case 3: if (start_flg[3] == 0){
PTUN(4,tsset_Sslot-1)=4;
se0111_reg_wr(inporth,inportl,tsset_Sslot,3);
se0111_reg_wr(outporth,outportl,tsset_Sslot,3);
timeslot_2M[2][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
}
else return_value = 2;
break;
case 2: if (start_flg[2] == 0 & start_flg[3] == 0){
PTUN(6,tsset_Sslot-1)=4;
se0111_reg_wr(inporth,inportl,tsset_Sslot,3);
se0111_reg_wr(outporth,outportl,tsset_Sslot,2);
timeslot_2M[1][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
}
else return_value = 2;
break;
case 1: if (start_flg[1] == 0 & start_flg[3] == 0){
PTUN(5,tsset_Sslot-1)=4;
se0111_reg_wr(inporth,inportl,tsset_Sslot,3);
se0111_reg_wr(outporth,outportl,tsset_Sslot,1);
timeslot_2M[0][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
}
else return_value = 2;
break;
default:return_value=2;
break;
}
break;
case 2: switch (tsset_Dboard){
case 5: if (start_flg[2] == 0){
//if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1)=6;
//else
PTUN(1,tsset_Dslot-1)=6;
se0111_reg_wr(inporth,inportl,tsset_Sslot,2);
timeslot_2M[1][tsset_Dport - 1] = 1;
return_value=0;
}
else return_value = 2;
break;
case 4: if (start_flg[0] == 0 & start_flg[2] == 0){
//if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1)=6;
//else
PTUN(3,tsset_Dslot-1)=6;
se0111_reg_wr(inporth,inportl,tsset_Sslot,2);
timeslot_2M[1][tsset_Dport - 1] = 1;
return_value=0;
}
else return_value = 2;
break;
case 3: if (start_flg[3] == 0 & start_flg[2] == 0){
PTUN(4,tsset_Sslot-1)=6;
se0111_reg_wr(inporth,inportl,tsset_Sslot,2);
se0111_reg_wr(outporth,outportl,tsset_Sslot,3);
timeslot_2M[2][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
}
else return_value = 2;
break;
case 2: if (start_flg[2] == 0){
PTUN(6,tsset_Sslot-1)=6;
se0111_reg_wr(inporth,inportl,tsset_Sslot,2);
se0111_reg_wr(outporth,outportl,tsset_Sslot,2);
timeslot_2M[1][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
}
else return_value = 2;
break;
case 1: if (start_flg[1] == 0 & start_flg[2] == 0){
PTUN(5,tsset_Sslot-1)=6;
se0111_reg_wr(inporth,inportl,tsset_Sslot,2);
se0111_reg_wr(outporth,outportl,tsset_Sslot,1);
timeslot_2M[0][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
}
else return_value = 2;
break;
default:return_value=2;
break;
}
break;
case 1: switch (tsset_Dboard){
case 5: if (start_flg[1] == 0){
//if (tsset_Dport == 1)
PTUN(0,tsset_Dslot-1)=5;
//else
PTUN(1,tsset_Dslot-1)=5;
se0111_reg_wr(inporth,inportl,tsset_Dslot,1);
timeslot_2M[0][tsset_Dport - 1] = 1;
return_value=0;
}
else return_value = 2;
break;
case 4: if (start_flg[0] == 0 & start_flg[1] == 0){
//if (tsset_Dport == 1)
PTUN(2,tsset_Dslot-1)=5;
//else
PTUN(3,tsset_Dslot-1)=5;
se0111_reg_wr(inporth,inportl,tsset_Sslot,1);
timeslot_2M[0][tsset_Dport - 1] = 1;
return_value=0;
}
else return_value = 2;
break;
case 3: if (start_flg[3] == 0 & start_flg[1] == 0){
PTUN(4,tsset_Sslot-1)=5;
se0111_reg_wr(inporth,inportl,tsset_Sslot,1);
se0111_reg_wr(outporth,outportl,tsset_Sslot,3);
timeslot_2M[2][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value = 0;
}
else return_value = 2;
break;
case 2: if (start_flg[2] == 0 & start_flg[1] == 0){
PTUN(6,tsset_Sslot-1)=5;
se0111_reg_wr(inporth,inportl,tsset_Sslot,1);
se0111_reg_wr(outporth,outportl,tsset_Sslot,2);
timeslot_2M[1][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
}
else return_value = 2;
break;
case 1: if (start_flg[1] == 0){
PTUN(5,tsset_Sslot-1)=5;
se0111_reg_wr(inporth,inportl,tsset_Sslot,1);
se0111_reg_wr(outporth,outportl,tsset_Sslot,1);
timeslot_2M[0][tsset_Dport - 1] = 1; //标记下行时隙配置,作为2M盘的告警、性能标志位
return_value=0;
}
else return_value = 2;
break;
default:return_value=2;
break;
}
break;
default:return_value=2;
break;
}
}
else return_value = 2;
}
else return_value = 2;
if (!GetResRdyTbl(1))
SetResRdyTbl(1); //置响应事件列表相应位为1
return (return_value); //返回函数执行结果
}
/************************************************************************************/
unsigned char timeslot_del(struct cmd_para_save *timeslot_dl){
//C01删除时隙函数
unsigned char xdata tsset_Sboard;
unsigned char xdata tsset_Sslot;
unsigned char xdata tsset_Sport;
unsigned char xdata tsset_Dboard;
unsigned char xdata tsset_Dslot;
unsigned char xdata tsset_Dport;
unsigned char xdata outporth;
unsigned char xdata outportl;
unsigned char xdata inporth;
unsigned char xdata inportl;
unsigned char xdata temp;
unsigned char xdata return_value;
commandid=0x00433031; //删除时隙命令代码
tsset_Sboard=timeslot_dl->tsdel_Sboard; //源盘盘号
tsset_Sslot=timeslot_dl->tsdel_Sslot; //源盘时隙号
tsset_Sport=timeslot_dl->tsdel_Sport; //源盘端口号
tsset_Dboard=timeslot_dl->tsdel_Dboard; //目的盘盘号
tsset_Dslot=timeslot_dl->tsdel_Dslot; //目的盘时隙号
tsset_Dport=timeslot_dl->tsdel_Dport; //目的盘端口号
// boardstate = 0x51;
if ((tsset_Sslot > 0) & (tsset_Sslot < 64)){
switch (tsset_Dport){ //得出Mapper中下行支路号
case 1: outporth=0;
outportl=0x4C;
break;
case 2: outporth=0;
outportl=0x7C;
break;
case 3: outporth=0;
outportl=0xAC;
break;
case 4: outporth=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -