📄 svisupdisp.cpp
字号:
*dispbuf++=150;
*dispbuf++=1;
LI=*dispbuf++=*recbuf++;
*dispbuf++=8;
*dispbuf++=LI;
*dispbuf++=0xcc;
displen+=6;
//No.150 field:ADDIN:D6-D0
*dispbuf++=151;
*dispbuf++=1;
*dispbuf++=*recbuf;
*dispbuf++=7;
*dispbuf++=*recbuf<<1;
*dispbuf++=0xcc;
//No.151:Odd\Even:D7
*dispbuf++=152;
*dispbuf++=0;
*dispbuf++=1;
oddeven=*dispbuf++=(*recbuf++)&0x80;
*dispbuf++=0xcc;
displen+=11;
//No.152 field:D1-D0
*dispbuf++=153;
*dispbuf++=1;
*dispbuf++=*recbuf;
*dispbuf++=2;
*dispbuf++=*recbuf<<6;
*dispbuf++=0xcc;
//No.153 field:D3-D2
*dispbuf++=154;
*dispbuf++=0;
*dispbuf++=2;
*dispbuf++=(*recbuf&0xc)<<4;
*dispbuf++=0xcc;
//No.154 field:D5-D4
*dispbuf++=155;
*dispbuf++=0;
*dispbuf++=2;
*dispbuf++=(*recbuf&0x30)<<2;
*dispbuf++=0xcc;
//No.155 field:D7-D6
*dispbuf++=156;
*dispbuf++=0;
*dispbuf++=2;
*dispbuf++=(*recbuf++)&0xc0;
*dispbuf++=0xcc;
displen+=21;
//No.156 field:addr
if(LI>2)
{LI-=2;
*dispbuf++=157;
*dispbuf++=LI;
for(i=0;i<LI;i++) *dispbuf++=*(recbuf+i);
if(oddeven==0)//even
{*dispbuf++=LI*8;
for(i=0;i<LI;i++)
*dispbuf++=(*recbuf<<4)|(*recbuf>>4);
}
else
{*dispbuf++=LI*8-4;
for(i=0;i<LI-1;i++)
*dispbuf++=(*recbuf<<4)|(*recbuf>>4);
*dispbuf++=*recbuf<<4;
}
*dispbuf++=0xcc;
displen+=LI*2+4;
}
}//exist POSNUM
}//while
if(slen>3) {slen-=3;procmoredatadisp(slen);}
break;
//table 35/6
case 0x02:/*SAM*/
//No.12 field PTR1:8bits
bytedisp(12)
//No.13 field PTR2:8bits
bytedisp(13)
//No.14 field:SUBNOLI,8bits
*dispbuf++=14;
*dispbuf++=1;
LI=*dispbuf++=*recbuf++;
*dispbuf++=8;
*dispbuf++=LI;
*dispbuf++=0xcc;
displen+=6;
//No.15 field:Odd\Even:D7,P94
*dispbuf++=15;
*dispbuf++=1;
*dispbuf++=*recbuf;
*dispbuf++=1;
oddeven=*dispbuf++=*(recbuf++)&0x80;
*dispbuf++=0xcc;
displen+=6;
//No.16 field:addr,P94
if(LI>1)
{LI--;
*dispbuf++=16;
*dispbuf++=LI;
for(i=0;i<LI;i++) *dispbuf++=*(recbuf+i);
if(oddeven==0)//even
{*dispbuf++=LI*8;
for(i=0;i<LI;i++)
*dispbuf++=(*recbuf<<4)|(*recbuf>>4);
}
else
{*dispbuf++=LI*8-4;
for(i=0;i<LI-1;i++)
*dispbuf++=(*recbuf<<4)|(*recbuf>>4);
*dispbuf++=*recbuf<<4;
}
*dispbuf++=0xcc;
displen+=LI*2+4;
}
break;
//table 31/6
case 0x03:/*INR*/
//No.12 field:IRQIN,2bytes,F
proc2byte(12)
//No.13 field:ptr1,8bits
code=*recbuf;
bytedisp(13)
if (code==0) break;
dataleggel=0xff;
while(*recbuf!=0&&dataleggel==0xff)//option over
{dataleggel=0;
//No.14-17 field:CREF
if(*recbuf==0x01)//exist CREF
{dataleggel=0xff;
//No.14 field:CREF para name,8bits
bytedisp(14)
//No.15 field:CREFLI,8bits
bytedisp(15)
//No.16 field:Call Id,24bits
proc3byte(16)
//No.17 field:point code ,24bits
proc3byte(17)
}//exist CREF
//No.18-24 field:NSPER,P82
if(*recbuf==0x2f)//exist NSPER
{dataleggel=0xff;
//No.18 field:NSPER para name,8bits
bytedisp(18)
//No.19-24 field:NSPERLI and NSPER content
procISUPNSPERdisp(19);
}//exist NSPER
//No.25-27 field:PCINFO,P86
if(*recbuf==0x39)//exist PCINFO
{dataleggel=0xff;procISUPBaseOption(25);}
}//option over
break;
//table 30/6
case 0x04:/*INF*/
//No.12 field:INFIN,2bytes,P71,F
proc2byte(12)
//No.13 field:ptr1,8bits
code=*recbuf;
bytedisp(13)
if (code==0) break;
dataleggel=0xff;
while(*recbuf!=0&&dataleggel==0xff)//option over
{dataleggel=0;
//No.14-16 field:CLGPC,3byte,Option,P47
if(*recbuf==0x09)//exist CLGPC
{dataleggel=0xff;procISUPBaseOption(14);}
//No.17-25 field:CLGNO
if(*recbuf==0x0a)//exist CLGNO
{dataleggel=0xff;
//No.17 field:CLGNO para name,8bits
bytedisp(17)
//No.18-25 field:CLGNOLI and CLGNO content
procISUPCLGNOdisp(18);
}//exist CLGNO
//No.26-29 field:CREF
if(*recbuf==0x01)//exist CREF
{dataleggel=0xff;
//No.26 field:CREF para name,8bits
bytedisp(26)
//No.27 field:CREFLI,8bits
bytedisp(27)
//No.28 field:Call Id,24bits
proc3byte(28)
//No.29 field:point code ,24bits
proc3byte(29)
}//exist CREF
//No.30-35 field:CR ,P58
if(*recbuf==0x0d)//exist CR
{dataleggel=0xff;
//No.30 field:CR para name,Option,8bits
bytedisp(30)
//No.31 field:CRLI,8bits
*dispbuf++=31;
*dispbuf++=1;
LI=*dispbuf++=*recbuf++;
*dispbuf++=8;
*dispbuf++=LI;
*dispbuf++=0xcc;
displen+=6;
//No.32-35 field:CR
procISUPCRdisp(LI,32);
}//exist CR
//No.36-38 field:PCINFO,P86
if(*recbuf==0x39)//exist PCINFO
{dataleggel=0xff;procISUPBaseOption(36);}
//No.39-45 field:NSPER,P82
if(*recbuf==0x2f)//exist NSPER
{dataleggel=0xff;
//No.39 field:NSPER para name,8bits
bytedisp(39)
//No.41-45 field:NSPERLI and NSPER content
procISUPNSPERdisp(40);
}//exist NSPER
}//option over
break;
//table 28/6
case 0x05:/*COT*/
//No.12 field:CNTIN,8bits,P59,F
bytedisp(12)
break;
//table 21/6
case 0x06:/*ACM*/
//No.12 field:BCLIN,2bytes,F,P38
proc2byte(12)
//No.13 field:ptr1,8bits
code=*recbuf;
bytedisp(13)
if (code==0) break;
dataleggel=0xff;
while(*recbuf!=0&&dataleggel==0xff)//option over
{dataleggel=0;
//No.14-16 field:OBCIN,3bytes,Option,P83
if(*recbuf==0x29)//exist OBCIN
{dataleggel=0xff;procISUPBaseOption(14);}
//No.17-20 field:CREF
if(*recbuf==0x01)//exist CREF
{dataleggel=0xff;
//No.17 field:CREF para name,8bits
bytedisp(17)
//No.18 field:CREFLI,8bits
bytedisp(18)
//No.19 field:Call Id,24bits
proc3byte(19)
//No.20 field:point code ,24bits
proc3byte(20)
}//exist CREF
//No.21-26 field:CAUSE,Option
if(*recbuf==0x12)//exist CAUSE
{dataleggel=0xff;
//No.21 field:CAUSE para name,8bits
bytedisp(21)
//No.22-26 field:CAUSELI and CAUSE content
procISUPCAUSE(22);
}//exist CAUSE
//No.27-29 field:UUIN,P98
if(*recbuf==0x2a)//exist UUIN
{dataleggel=0xff;
//No.27 field:UUIN para name,8bits
bytedisp(27)
//No.28 field:UUINLI,8bits
bytedisp(28)
//No.29 field:UUINLI,8bits
bytedisp(29)
}//exist UUIN
//No.30-32 field:USRIN,P89
if(*recbuf==0x20)//exist USRIN
{dataleggel=0xff;procISUPBaseOption(30);}
//No.33-35 field:ACCTR,P37
if(*recbuf==0x03)//exist ACCTR
{dataleggel=0xff;procISUPBaseOption(33);}
//No.36-38 field:CINFOI,3bytes,P66,may repeat
while(*recbuf==0x2c)//exist CINFOI,通用通知表示语
{dataleggel=0xff;
bytedisp(36)
bytedisp(37)
bytedisp(38)
}//WHILE
//No.39-41 field TRMED:3bytes,P98,Option
if(*recbuf==0x35)//exist TRMED,所用的传输媒介
{dataleggel=0xff;
bytedisp(39)
bytedisp(40)
bytedisp(41)
}//exist TRMED
//No.42-44 field ECINFO:3bytes,P60,Option
if(*recbuf==0x37)//exist ECINFO,回声控制信息
{dataleggel=0xff;
bytedisp(42) //ECINFO name,1byte
bytedisp(43) //ECINFO li,1byte
bytedisp(44) //ECINFO content,1byte
}//exist ECINFO
//No.45-47 field ATRINFO:3bytes,P36,Option
if(*recbuf==0x1f)//exist ATRINFO,接入转交信息
{dataleggel=0xff;
bytedisp(45) //ATRINFO name,1byte
bytedisp(46) //ATRINFO li,1byte
bytedisp(47) //ATRINFO content,1byte
}//exist ATRINFO
//No.48-54 field REDNO ,P91,P42
if(*recbuf==0x0c)//exist REDNO,改发号码
{dataleggel=0xff;
//No.48 field:REDNO para name,8bits
bytedisp(48)
//No.49-54 field:REDNO li and REDNO content
procISUPCLDPC(49);
}//exist REDNO
//No.55-57 field:PCINFO,P86
if(*recbuf==0x39)//exist PCINFO,参数兼容性信息
{dataleggel=0xff;procISUPBaseOption(55);}
//No.58-60 field:CMINFO,3bytes,P40
if(*recbuf==0x36)//exist CMINFO,呼叫变更信息
{dataleggel=0xff;
bytedisp(58)
bytedisp(59)
bytedisp(60)
}//exist CMINFO
//No.61-67 field:NSPER,P82
if(*recbuf==0x2f)//exist NSPER
{dataleggel=0xff;
//No.61 field:NSPER para name,8bits
bytedisp(61)
//No.63-67 field:NSPERLI and NSPER content
procISUPNSPERdisp(62);
}//exist NSPER
//No.68-70 field: REOPER,P92
if(*recbuf==0x32)//exist REOPER,远端操作
{dataleggel=0xff;procISUPBaseOption(68);}
//No.71-73 field: SACT,P93
if(*recbuf==0x33)//exist SACT,业务激活
{dataleggel=0xff;procISUPBaseOption(71);}
//No.74-76 field:REDNLIT,3bytes,P92
if(*recbuf==0x40)//exist REDNLIT,改发号码限制
{dataleggel=0xff;
bytedisp(74) //REDNLIT name,1byte
bytedisp(75) //REDNLIT li,1byte
bytedisp(76) //REDNLIT,1byte
}//exist REDNLIT
}//option over
break;
//table 27/6
case 0x07:/*CON*/
//No.12 field:BCLIN,2bytes,F,P38
proc2byte(12)
//No.13 field:ptr1,8bits
code=*recbuf;
bytedisp(13)
if (code==0) break;
dataleggel=0xff;
while(*recbuf!=0&&dataleggel==0xff)//option over
{dataleggel=0;
//No.14-16 field:OBCIN,3bytes,Option,P83
if(*recbuf==0x29)//exist OBCIN,任选后向呼叫表示语
{dataleggel=0xff;procISUPBaseOption(14);}
//No.17-24 field:CONNO,P58
if(*recbuf==0x21)//exist CONNO,被连结的号码
{dataleggel=0xff;
//No.17 field:CONNO para name,8bits
bytedisp(17)
//No.18-24 field:CONNO li and CONNO content
procISUPCONNOdisp(18);
}//exist CONNO
//No.25-31 field:CREF
if(*recbuf==0x01)//exist CREF
{dataleggel=0xff;
//No.25 field:CREF para name,8bits
bytedisp(25)
//No.26 field:CREFLI,8bits
bytedisp(26)
//No.27 field:Call Id,24bits
proc3byte(27)
//No.28 field:point code ,24bits
proc3byte(28)
}//exist CREF
//No.29-31 field:UUIN,P98
if(*recbuf==0x2a)//exist UUIN
{dataleggel=0xff;
//No.29 field:UUIN para name,8bits
bytedisp(29)
//No.30 field:UUINLI,8bits
bytedisp(30)
//No.31 field:UUINLI,8bits
bytedisp(31)
}//exist UUIN
//No.32-34 field:USRIN,P89
if(*recbuf==0x20)//exist USRIN
{dataleggel=0xff;procISUPBaseOption(32);}
//No.35-37 field:ACCTR,P37
if(*recbuf==0x03)//exist ACCTR,接入转送
{dataleggel=0xff;procISUPBaseOption(35);}
//No.38-44 field:NSPER,P82
if(*recbuf==0x2f)//exist NSPER
{dataleggel=0xff;
//No.38 field:NSPER para name,8bits
bytedisp(38)
//No.40-44 field:NSPERLI and NSPER content
procISUPNSPERdisp(39);
}//exist NSPER
//No.45-47 field:CINFOI,3bytes,P66,may repeat
while(*recbuf==0x2c)//exist CINFOI,通用通知表示语
{dataleggel=0xff;
bytedisp(45)
bytedisp(46)
bytedisp(47)
}//WHILE
//No.48-50 field: REOPER,P92
if(*recbuf==0x32)//exist REOPER
{dataleggel=0xff;procISUPBaseOption(48);}
//No.51-53 field TRMED:3bytes,P98,Option
if(*recbuf==0x35)//exist TRMED,所用的传输媒介
{dataleggel=0xff;
bytedisp(51)
bytedisp(52)
bytedisp(53)
}//exist TRMED
//No.54-56 field ECINFO:3bytes,P60,Option
if(*recbuf==0x37)//exist ECINFO,回声控制信息
{dataleggel=0xff;
bytedisp(54) //ECINFO name,1byte
bytedisp(55) //ECINFO li,1byte
bytedisp(56) //ECINFO content,1byte
}//exist ECINFO
//No.57-59 field ATRINFO:3bytes,P36,Option
if(*recbuf==0x2e)//exist ATRINFO,接入转交信息
{dataleggel=0xff;
bytedisp(57) //ATRINFO name,1byte
bytedisp(58) //ATRINFO li,1byte
bytedisp(59) //ATRINFO content,1byte
}//exist ATRINFO
//No.60-62 field CHINFO:3bytes,P36,Option
if(*recbuf==0x2d)//exist CHINFO,呼叫历史信息
{dataleggel=0xff;procISUPBaseOption(60);}
//No.63-65 field:PCINFO,P86
if(*recbuf==0x39)//exist PCINFO,参数兼容性信息
{dataleggel=0xff;procISUPBaseOption(63);}
//No.66-72 field REDNO ,P91,P42
if(*recbuf==0x0c)//exist REDNO,改发号码
{dataleggel=0xff;
//No.66 field:REDNO para name,8bits
bytedisp(66)
//No.67-72 field:REDNO li and REDNO content
procISUPCLDPC(67);
}//exist REDNO
//No.73-75 field:SACT,P93
if(*recbuf==0x33)//exist SACT
{dataleggel=0xff;procISUPBaseOption(73);}
//No.76-85 field:GN,P67
while(*recbuf==0xc0)//exist GN,通用号码
{dataleggel=0xff;
//No.76 field:GN para name,8bits
bytedisp(76)
//No.77-85 field:GNLI and GN content,8bits
procISUPGNdisp(77);
}//exist GN
//No.86-88 field:REDNLIT,3bytes,P92
if(*recbuf==0x40)//exist REDNLIT,改发号码限制
{dataleggel=0xff;
bytedisp(86) //REDNLIT name,1byte
bytedisp(87) //REDNLIT li,1byte
bytedisp(88) //REDNLIT,1byte
}//exist REDNLIT
}//option over
break;
//table 37/6
case 0x08:/*FOT*/
//No.12 field:ptr1
bytedisp(12)
//No.13-16 field:CREF
if(*recbuf==0x01)//exist CREF
{
//No.13 field:CREF para name,8bits
bytedisp(13)
//No.14 field:CREFLI,8bits
bytedisp(14)
//No.15 field:Call Id,24bits
proc3byte(15)
//No.16 field:point code ,24bits
proc3byte(16)
}//exist CREF
break;
//table 22/6
case 0x09:/*ANM*/
//No.12 field:ptr1
code=*recbuf;
if (code==0) break;
bytedisp(12)
dataleggel=0xff;
while(*recbuf!=0&&dataleggel==0xff)//option over
{dataleggel=0;
//No.13-15 field:BCIN,3bytes,Option,P83
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -