⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dspdetaibssmap.cpp

📁 七号信令解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
							sprintf(Str2,"?: %02Xh",bData);
							I+=(Len3-1-J);
							break;
						}
						strcat(Str2,DataStr);
					}
					strcpy(Str,HandoverRequest_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(bssmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					if(ShowType==1)
						sprintf(Str,": %sb",Str2);
					else {
						if(ShowType==2)
							sprintf(Str,": %sh",Str2);
						else  sprintf(Str,": %s",Str2);
					}
					strcat(Str,"   ");
					GetBssMapFieldStr(bData);
					strcat(Str,DataStr);
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
					{strcat(bssmap_TotalDataStr,Str);
					strcat(bssmap_TotalDataStr,"\r\n");}
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					
					nDrawY+=DltY;
					break;
				case 5://	VolCode_DataSpeedID
					ShowType=HandoverRequest_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(Len2!=Len3 && J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,HandoverRequest_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(bssmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," 语音编码算法/数据速率和透明指示");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
					strcat(bssmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY=DrawVolCode_DataSpeedIDStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
					{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
					strcat(bssmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;
				case 8://	PermitCalculate
					ShowType=HandoverRequest_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(Len2!=Len3 && J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,HandoverRequest_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
					strcat(bssmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," 允许的算法");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
					strcat(bssmap_TotalDataStr,Str);
					else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY=DrawPermitCalculateStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
					{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
					strcat(bssmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;
				case 14://	ClassMarkInfo2
					ShowType=HandoverRequest_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					if(Len3>=3) {		//only handle 3
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
						ByteNum=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(ByteNum,Num,ShowType);
						strcat(Str2,DataStr);
						ByteNum1=BUFDISPLAY[I];
						I++;
						I-=3;		//restore I 
						Num=8;
						bEnd=GetDataStr(ByteNum1,Num,ShowType);
						strcat(Str2,DataStr);
						strcpy(Str,HandoverRequest_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						if(ShowType==1)
							 sprintf(Str,": %sb",Str2);
						else {
							 if(ShowType==2)
								 sprintf(Str,": %sh",Str2);
							 else  sprintf(Str,": %s",Str2);
						}
						strcat(Str," 级别信息类型2");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						dwNum=(DWORD)bData;
						dwNum*=65536;
						dwNum+=(DWORD)ByteNum*256;
						dwNum+=ByteNum1;
						nDrawY=DrawClassMarkInfo2Str(msgText,dwNum,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
						strcat(bssmap_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					I+=Len3;		//error not show error skip
					break;
				case 24://	Priority
					ShowType=HandoverRequest_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(Len2!=Len3 && J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,HandoverRequest_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," 优先级");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY=DrawPriorityStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
						strcat(bssmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;
				case 26://	CIC
					ShowType=HandoverRequest_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					if(Len3==2) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
						ByteNum=BUFDISPLAY[I];
						I++;
						Num=8;
						bEnd=GetDataStr(ByteNum,Num,ShowType);
						strcat(Str2,DataStr);
						strcpy(Str,HandoverRequest_Field[MsgFKind]);
						nDrawX+=DeltaXL;
						if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						if(ShowType==1)
							 sprintf(Str,": %sb",Str2);
						else {
							 if(ShowType==2)
								 sprintf(Str,": %sh",Str2);
							 else  sprintf(Str,": %s",Str2);
						}
						strcat(Str," CIC值");
						nDrawX+=DeltaX;
						if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
						msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
						Wnum=(WORD)bData;
						Wnum*=256;
						Wnum+=ByteNum;
						nDrawY=DrawCICStr(msgText,Wnum,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
						if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
						strcat(bssmap_TotalDataStr,"\r\n");}
						nDrawY+=DltY;
					}
					else I+=Len3;		//error not show error skip
					break;
				case 43://	CurChannel
					ShowType=HandoverRequest_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(Len2!=Len3 && J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,HandoverRequest_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," 当前信道");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY=DrawCurChannelStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
						strcat(bssmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;
				}
			}
			break;	
		case 5:         //HandoverRequired
			if(MsgFKind<16) {
				switch(MsgFKind+1) {
				default:
					ShowType=HandoverRequired_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(Len2!=Len3 && J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
						if(!bEnd) {
							sprintf(Str2,"?: %02Xh",bData);
							I+=(Len3-1-J);
							break;
						}
						strcat(Str2,DataStr);
					}
					strcpy(Str,HandoverRequired_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					if(ShowType==1)
						sprintf(Str,": %sb",Str2);
					else {
						if(ShowType==2)
							sprintf(Str,": %sh",Str2);
						else  sprintf(Str,": %s",Str2);
					}
					strcat(Str,"   ");
					GetBssMapFieldStr(bData);
					strcat(Str,DataStr);
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY+=DltY;
					break;
				case 16://	CurChannel
					ShowType=HandoverRequired_FieldCrit[MsgFKind][3];
					strcpy(Str2,"");
					for(J=0;J<Len3;++J) {
						bData=BUFDISPLAY[I];
						I++;
						Num=8;
						if(Len2!=Len3 && J==(Len2/8))
							Num=Len2%8;
						bEnd=GetDataStr(bData,Num,ShowType);
						strcat(Str2,DataStr);
					}
					strcpy(Str,HandoverRequired_Field[MsgFKind]);
					nDrawX+=DeltaXL;
					if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					sprintf(Str,": %sb  ",Str2);
					strcat(Str," 当前信道");
					nDrawX+=DeltaX;
					if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
					msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
					nDrawY=DrawCurChannelStr(msgText,bData,nDrawX,nDrawY,DltY,PtRate,YOrNTxt);
					if(YOrNTxt==true)
					{strcat(bssmap_TotalDataStr,bssmapstr_TotalDataStr);
					strcat(bssmap_TotalDataStr,"\r\n");}
					nDrawY+=DltY;
					break;
				}
			}
			break;	
		case 6:         //HandoverRequestAck
			if(MsgFKind<9) {
				ShowType=HandoverRequestAck_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str,HandoverRequestAck_Field[MsgFKind]);
				nDrawX+=DeltaXL;
				if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
				msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
				strcat(Str,"   ");
				GetBssMapFieldStr(bData);
				strcat(Str,DataStr);
				nDrawX+=DeltaX;
				if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
				msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
				nDrawY+=DltY;
			}
			break;	
		case 7:         //HandoverCommand
			if(MsgFKind<10) {
				ShowType=HandoverCommand_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str,HandoverCommand_Field[MsgFKind]);
				nDrawX+=DeltaXL;
				if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
				msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
				strcat(Str,"   ");
				GetBssMapFieldStr(bData);
				strcat(Str,DataStr);
				nDrawX+=DeltaX;
				if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}
						else
				msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
				nDrawY+=DltY;
			}
			break;	
		case 8:         //HandoverComplete
			if(MsgFKind<2) {
				ShowType=HandoverComplete_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str,HandoverComplete_Field[MsgFKind]);
				nDrawX+=DeltaXL;
				if(YOrNTxt==true)
						strcat(bssmap_TotalDataStr,Str);
						else
				msgText.AddString(nDrawX*PtRate ,nDrawY*PtRate,Str,strlen(Str));
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
				strcat(Str,"   ");
				GetBssMapFieldStr(bData);
				strcat(Str,DataStr);
				nDrawX+=DeltaX;
				if(YOrNTxt==true)
						{strcat(bssmap_TotalDataStr,Str);
						strcat(bssmap_TotalDataStr,"\r\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -