亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? taichen_yuntai.c

?? 1、監控行業云臺控制代碼 2、對Pelco-P,Pelco-D進行解析
?? C
字號:
TCBASELIB(void) TCDivString(LPCTSTR lpStr, LPCTSTR lpSubStr, CStringArray* lpaDiv)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());

	int Pos, OldPos = 0;

	lpaDiv->RemoveAll();
	
	CString Str, SubStr;
	Str = lpStr;

	while(TRUE){
		//抽取數據庫信息,以“,”號分割
		Pos = Str.Find(lpSubStr,OldPos);
		if(Pos==-1){  //最后的信息
			SubStr = Str.Right(Str.GetLength()-OldPos);
			SubStr.TrimLeft();
			SubStr.TrimRight();
			if(SubStr!="")
				lpaDiv->Add(SubStr);
			break;
		}
		//中間的信息
		SubStr = Str.Mid(OldPos,Pos-OldPos);
		SubStr.TrimLeft();
		SubStr.TrimRight();
		if(SubStr!="")
			lpaDiv->Add(SubStr);
		OldPos = Pos+1;
	}
}

void TCVSSendYTCommand(int Index, CString &Address, CString &Command, TCYTCtrlInfo* YTInfo)
{
	int i,j;
	int Value,Sum,sumIndex,Xor,xorIndex,Count;
	int Address_count = 0;
	int Command_count = 0;
	char Address_buf[TCVYTCodeLength];
	char Command_buf[TCVYTCodeLength];
	CStringArray DataList,TempList;
	CString Info,Temp;

	memset(Address_buf,0,TCVYTCodeLength);
	memset(Command_buf,0,TCVYTCodeLength);

	TCDivString(Address,",",&DataList);
	for(i=0;i<DataList.GetSize();i++){
		Info = DataList[i];
		if(Info.GetLength()==3&&Info.Left(1)=="["&&Info.Right(1)=="]"){
			Temp = Info.Mid(1,Info.GetLength()-2);
			sscanf(Temp,"%c",&Value);
		}
		else{
			sscanf(Info,"%x",&Value);
		}
		Address_buf[Address_count] = Value;
		Address_count++;
	}

	BYTE Mod = 0;
	BYTE Mask = 0xFF;
	BYTE Dec = 0;
	int Wait = 20;
	int WaitThread = 0;

	TCDivString(Command,",",&DataList);
	for(i=0;i<DataList.GetSize();i++){
		Info = DataList[i];
		if(Info.Left(1)=="%"){  //取模
			Temp = Info.Right(Info.GetLength()-1);
			sscanf(Temp,"%x",&Value);
			Mod = Value;
		}
		else if(Info.Left(1)=="~"){  //減處理(減校驗和)
			Temp = Info.Right(Info.GetLength()-1);
			sscanf(Temp,"%x",&Value);
			Dec = Value;
		}
		else if(Info.Left(1)=="M"){  //Mask處理(與操作)
			Temp = Info.Right(Info.GetLength()-1);
			sscanf(Temp,"%x",&Value);
			Mask = Value;
		}
		else if(Info.Left(1)=="#"){  //連續指令間隔時間
			Temp = Info.Right(Info.GetLength()-1);
			sscanf(Temp,"%x",&Value);
			Wait = Value;
		}
		else if(Info.Left(1)=="&"){  //連續發碼間隔時間
			Temp = Info.Right(Info.GetLength()-1);
			sscanf(Temp,"%x",&Value);
			WaitThread = Value;
		}
		else if(Info=="^"){  //解碼器地址
			for(j=0;j<Address_count;j++){
				Command_buf[Command_count] = Address_buf[j];
				Command_count++;
			}
		}
		else if(Info=="!"){  //云臺預置點
			Command_buf[Command_count] = YTInfo->PointID;
			Command_count++;
		}
		else if(Info.Left(1)=="+"){  //求校驗和
			Temp = Info.Right(Info.GetLength()-1);
			TCDivString(Temp,".",&TempList);
			Count = TempList.GetSize();
			if(Count==1){
				sscanf(TempList[0],"%x",&Value);
				Sum = 0;
				for(j=0;j<Value;j++){
					sumIndex = Command_count-j-1;
					if(sumIndex<0){
						TCVSErrLog(_LL("解碼器協議錯誤!","PTZ command code error!"));
						return;
					}
					Sum+=Command_buf[sumIndex];
				}
				if(Mod!=0)
					Command_buf[Command_count] = Sum%Mod;
				else
					Command_buf[Command_count] = Sum;
				if(Mask!=0xFF)
					Command_buf[Command_count] &= Mask;
				if(Dec!=0)
					Command_buf[Command_count] = Dec - Command_buf[Command_count];
				Command_count++;
			}
			else{  //計算固定位校驗值
				Sum = 0;
				for(j=0;j<Count;j++){
					//計算固定累加值(2004-07-20)
					if(TempList[j].Right(1)=="+"){
						Temp = TempList[j].Left(TempList[j].GetLength()-1);
						sscanf(Temp,"%x",&Value);
						Sum+=Value;
					}
					else{
						sscanf(TempList[j],"%x",&Value);
						sumIndex = Command_count-Value;
						if(sumIndex<0){
							TCVSErrLog(_LL("解碼器協議錯誤!","PTZ command code error!"));
							return;
						}
						Sum+=Command_buf[sumIndex];
					}
				}
				if(Mod!=0)
					Command_buf[Command_count] = Sum%Mod;
				else
					Command_buf[Command_count] = Sum;
				if(Mask!=0xFF)
					Command_buf[Command_count] &= Mask;
				if(Dec!=0)
					Command_buf[Command_count] = Dec - Command_buf[Command_count];
				Command_count++;
			}
		}
		else if(Info.Left(1)=="-"){  //求校驗和(取反)
			Temp = Info.Right(Info.GetLength()-1);
			TCDivString(Temp,".",&TempList);
			Count = TempList.GetSize();
			if(Count==1){
				sscanf(TempList[0],"%x",&Value);
				Sum = 0;
				for(j=0;j<Value;j++){
					sumIndex = Command_count-j-1;
					if(sumIndex<0){
						TCVSErrLog(_LL("解碼器協議錯誤!","PTZ command code error!"));
						return;
					}
					Sum+=Command_buf[sumIndex];
				}
				if(Mod!=0)
					Command_buf[Command_count] = ~(Sum%Mod);
				else
					Command_buf[Command_count] = ~(Sum);
				if(Mask!=0xFF)
					Command_buf[Command_count] &= Mask;
				if(Dec!=0)
					Command_buf[Command_count] = Dec - Command_buf[Command_count];
				Command_count++;
			}
			else{  //計算固定位校驗和取反
				Sum = 0;
				for(j=0;j<Count;j++){
					sscanf(TempList[j],"%x",&Value);
					sumIndex = Command_count-Value;
					if(sumIndex<0){
						TCVSErrLog(_LL("解碼器協議錯誤!","PTZ command code error!"));
						return;
					}
					Sum+=Command_buf[sumIndex];
				}
				if(Mod!=0)
					Command_buf[Command_count] = ~(Sum%Mod);
				else
					Command_buf[Command_count] = ~(Sum);
				if(Mask!=0xFF)
					Command_buf[Command_count] &= Mask;
				if(Dec!=0)
					Command_buf[Command_count] = Dec - Command_buf[Command_count];
				Command_count++;
			}
		}
		else if(Info.Left(1)=="="){  //求異或校驗值
			Temp = Info.Right(Info.GetLength()-1);
			sscanf(Temp,"%x",&Value);
			xorIndex = Command_count-Value;
			if(xorIndex<0){
				TCVSErrLog(_LL("解碼器協議錯誤!","PTZ command code error!"));
				return;
			}
			Xor = Command_buf[xorIndex];
			for(j=1;j<Value;j++){
				xorIndex++;
				if(xorIndex>=Command_count){
					TCVSErrLog(_LL("解碼器協議錯誤!","PTZ command code error!"));
					return;
				}
				Xor^=Command_buf[xorIndex];
			}
			Command_buf[Command_count] = Xor;
			Command_count++;
		}
		else if(Info=="|"){  //連續指令
			//確保當前操作線程已經結束(2004-03-20)
			if(g_YTThread.IsRunning()){
				g_YTThread.Break();
				for(j=0;j<500;j++){
					if(!g_YTThread.IsRunning())
						break;
					Sleep(1);
				}
				if(g_YTThread.IsRunning())
					g_YTThread.Delete();
			}
			ASSERT(Index>=0&&Index<TCVS_MAX_YUNTAI);
			ASSERT(uCfg.YunTai.YTCommInfo[Index]>=0&&uCfg.YunTai.YTCommInfo[Index]<TCVS_MAX_COMM);
			g_SerialPort[uCfg.YunTai.YTCommInfo[Index]].Send(Command_buf,Command_count);
#ifdef _DEBUG
			TCVSMakeCommBufferInfo(Command_buf,Command_count);
#endif

			memset(Command_buf,0,TCVYTCodeLength);
			Command_count = 0;
			Sleep(Wait);
		}
		//ASCII數值處理(2004-08-21)
		else if(Info.GetLength()>=3&&Info.Left(1)=="["&&Info.Right(1)=="]"){
			Temp = Info.Mid(1,Info.GetLength()-2);
			if(Temp=="STX"){
				Value = 0x02;
			}
			else if(Temp=="ETX"){
				Value = 0x03;
			}
			else{
				sscanf(Temp,"%c",&Value);
			}
			Command_buf[Command_count] = Value;
			Command_count++;
		}
		//直接轉換成16進制數值
		else{
			sscanf(Info,"%x",&Value);
			Command_buf[Command_count] = Value;
			Command_count++;
		}
	}

	//確保當前操作線程已經結束(2004-03-20)
	if(g_YTThread.IsRunning()){
		g_YTThread.Break();
		for(i=0;i<500;i++){
			if(!g_YTThread.IsRunning())
				break;
			Sleep(1);
		}
		if(g_YTThread.IsRunning())
			g_YTThread.Delete();
	}
	//發送云臺控制命令
	if(WaitThread==0){
		ASSERT(Index>=0&&Index<TCVS_MAX_YUNTAI);
		ASSERT(uCfg.YunTai.YTCommInfo[Index]>=0&&uCfg.YunTai.YTCommInfo[Index]<TCVS_MAX_COMM);
		if(g_SerialPort[uCfg.YunTai.YTCommInfo[Index]].Send(Command_buf,Command_count)!=(UINT)Command_count){
			TCVSWarnLog(_LL("云臺控制命令發送錯誤!","PTZ command send failed!"));
		}
#ifdef _DEBUG
		TCVSMakeCommBufferInfo(Command_buf,Command_count);
#endif
	}
	else{
		static TCVSSendYTCommandInfo YTCI;
		YTCI.Index = Index;
		YTCI.Wait = WaitThread;
		YTCI.Command_count = Command_count;
		memcpy(YTCI.Command_buf,Command_buf,Command_count);
		g_YTThread.BeginThread(TCVSSendYTCommandProc,&YTCI);
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩午夜三级在线| 国产福利一区在线| 国产调教视频一区| 在线播放日韩导航| 色综合天天综合网天天看片| 国产资源在线一区| 日韩av在线播放中文字幕| www日韩大片| 日韩欧美视频在线| 在线看不卡av| 国产成人无遮挡在线视频| 天堂资源在线中文精品| 亚洲最大色网站| 亚洲精选视频免费看| 综合久久给合久久狠狠狠97色| 久久美女艺术照精彩视频福利播放| 色综合天天狠狠| 国产九色sp调教91| 国产激情一区二区三区四区| 激情深爱一区二区| 激情深爱一区二区| 国产在线精品视频| 国产精品原创巨作av| 久久精品99久久久| 日韩黄色免费电影| 午夜精品久久久久久久| 日韩vs国产vs欧美| 美女高潮久久久| 韩国精品免费视频| 国产乱妇无码大片在线观看| 国产一区二区三区不卡在线观看| 国内不卡的二区三区中文字幕| 韩国av一区二区| 国产精一区二区三区| 狠狠色狠狠色综合系列| 国产成人超碰人人澡人人澡| 成人ar影院免费观看视频| 91丨九色丨蝌蚪富婆spa| 99久久精品国产毛片| 色狠狠一区二区三区香蕉| 欧美色男人天堂| 欧美浪妇xxxx高跟鞋交| 久久综合色鬼综合色| 国产精品无人区| 伊人色综合久久天天人手人婷| 亚洲成人av一区| 麻豆久久久久久久| 成人小视频免费在线观看| 91性感美女视频| 欧美一级高清片| 国产欧美日韩另类视频免费观看| 中文字幕日韩av资源站| 亚洲地区一二三色| 日韩在线播放一区二区| 不卡一区二区三区四区| 在线电影一区二区三区| 国产精品三级久久久久三级| 亚洲欧美激情插| 九九久久精品视频| 91香蕉国产在线观看软件| 7777精品伊人久久久大香线蕉最新版 | 91精品福利在线一区二区三区| 精品国产91乱码一区二区三区| 国产精品国模大尺度视频| 视频一区中文字幕| 色婷婷av一区二区三区大白胸| 欧美日韩另类一区| 国产精品无遮挡| 蜜臀99久久精品久久久久久软件| 99天天综合性| 精品久久久久久最新网址| 日韩伦理电影网| 国产电影一区二区三区| 欧美一区二区三区四区在线观看 | 欧美大片在线观看一区| 国产精品欧美一级免费| 麻豆视频一区二区| 欧美性欧美巨大黑白大战| 欧美国产激情一区二区三区蜜月| 丝袜美腿亚洲综合| 欧美在线播放高清精品| 精品捆绑美女sm三区| 三级不卡在线观看| 欧美在线你懂得| 亚洲猫色日本管| bt7086福利一区国产| 久久无码av三级| 精品在线播放免费| 在线观看日韩一区| 一区二区三区精品在线观看| 成人av网站大全| 中文字幕欧美激情| 成人动漫一区二区在线| 国产香蕉久久精品综合网| 蜜桃久久精品一区二区| 91精品国产综合久久精品图片| 亚洲一线二线三线久久久| 91免费在线视频观看| 国产精品三级在线观看| 国产一区二区网址| 久久九九影视网| 国产毛片精品一区| 国产欧美一区二区精品性| 国产一区二区电影| 国产欧美日韩视频在线观看| 美日韩黄色大片| 久久亚洲精精品中文字幕早川悠里 | 欧美激情综合在线| 风间由美性色一区二区三区| 国产视频一区在线播放| 国产99久久久国产精品潘金| 中文字幕精品—区二区四季| 风间由美中文字幕在线看视频国产欧美| 精品国产凹凸成av人导航| 粉嫩av一区二区三区| 综合久久国产九一剧情麻豆| 91九色02白丝porn| 欧美大尺度电影在线| 国产日韩精品久久久| 在线一区二区三区四区| 激情深爱一区二区| 亚洲一二三四在线观看| 久久蜜臀中文字幕| 欧美猛男gaygay网站| 成人精品视频一区二区三区| 亚洲国产精品久久不卡毛片 | 五月天一区二区| 欧美激情一区二区三区四区| 欧美精品久久天天躁| 91亚洲精品久久久蜜桃网站 | 欧美视频在线观看一区| 精品一区二区三区在线观看国产 | 6080午夜不卡| 91在线国产福利| 国产电影一区在线| 久久69国产一区二区蜜臀| 亚洲欧美日韩中文播放| 国产偷v国产偷v亚洲高清| 欧美一区午夜视频在线观看| 在线免费观看视频一区| 成人18精品视频| 福利视频网站一区二区三区| 激情偷乱视频一区二区三区| 日韩国产精品大片| 视频一区欧美精品| 亚洲一区二区在线免费观看视频| 中文字幕免费一区| 国产无人区一区二区三区| 欧美tickle裸体挠脚心vk| 69久久夜色精品国产69蝌蚪网| 欧美无乱码久久久免费午夜一区| 一本到三区不卡视频| 91性感美女视频| 色香蕉成人二区免费| 一本久道中文字幕精品亚洲嫩| 91浏览器打开| 色综合天天做天天爱| 色婷婷一区二区三区四区| 成人精品一区二区三区中文字幕 | 欧美午夜理伦三级在线观看| 日本道色综合久久| 欧美性大战久久| 欧美人狂配大交3d怪物一区| 欧美区一区二区三区| 在线播放日韩导航| 欧美mv日韩mv国产网站| 国产午夜精品一区二区三区嫩草 | 国产91在线|亚洲| 成人天堂资源www在线| 99久久99精品久久久久久| 春色校园综合激情亚洲| 99国产一区二区三精品乱码| 色狠狠桃花综合| 欧美福利电影网| 久久久久久久久久久久电影 | 欧美一区二区三级| 亚洲精品一区二区精华| 欧美激情一区二区三区不卡| 亚洲精品国久久99热| 日本人妖一区二区| 国产精品77777| 在线看日本不卡| 久久这里只有精品首页| 18成人在线视频| 日本亚洲欧美天堂免费| 成人午夜激情片| 在线综合+亚洲+欧美中文字幕| 久久精品人人做人人爽人人| 亚洲欧美日韩综合aⅴ视频| 日韩av电影天堂| aaa亚洲精品一二三区| 欧美日韩亚州综合| 26uuu亚洲| 亚洲6080在线| 成人av在线网| 精品国产成人系列| 亚洲综合精品自拍| 成人自拍视频在线| 日韩欧美一级精品久久| 亚洲最快最全在线视频|