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

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

?? fstarcmd.h

?? 手柄驅動DEMO程序源碼
?? H
字號:
// VoyCmd.h: interface for the CFstarCmd class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VOYCMD_H__8007E941_6DAD_4AA1_88D7_21A255E426F0__INCLUDED_)
#define AFX_VOYCMD_H__8007E941_6DAD_4AA1_88D7_21A255E426F0__INCLUDED_

#include "IPhy.h"
#include "IBehavior.h"
#include "NetSend.h"

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define MAX_BUF				1024		//接受緩沖長度
#define MAX_SEND			20			//發送緩沖長度
#define SPEED                800		//尋光時的基準速度
#define  IO_ONLYSEARCH		1					//IO查詢標志
#define  IO_AUTOMOVE		2					//避障前進
#define  IO_REMOTESEARCH	3					//遠程主機查詢IO
#define  IO_FOLLOW			4					//避障跟球
#define  IO_FORLIGHT		5					//避障尋光
#define  IO_FOREDGE			6					//邊緣檢測

#define  AD_ONLYSEARCH		1					//AD查詢標志

#define  AD_FORLINE			3					//尋線前進
#define  AD_FORLIGHT		4					//尋光前進
#define  AD_OFFHEAT		    5					//避開熱源
#define  AD_REMOTESEARCH	6					//遠程主機查詢AD
#define  AD_AHFORLIGHT		7					//避碰尋光

#define  UM_TEXT           WM_USER+100
#define  UM_VOICECONTROL   WM_USER+101

#define STOP		0					//停止狀態
#define FORWARD		1					//筆直前行
#define BACKWARD	2					//筆直后退
#define RIGHT		3					//原地右轉
#define LEFT		4					//原地左轉
#define RIGHTFRONT	5					//右轉前進
#define LEFTFRONT	6					//左轉前進
#define RIGHTBACK	7					//右轉后退
#define LEFTBACK	8					//左轉后退

#define AWAYOBSTACLE    9                   //避障
#define FOREDGE			10					//邊緣檢測
#define FORLINE			11					//尋線
#define USONICON		12					//超聲
#define FORLIGHT		13					//尋光
#define TERMINATE		14                  //終止例子程序
#define USAWAYOBSTACLE  15				    //超聲避障
#define USONICFOLLOW    16					//超聲跟蹤
#define USONLYSEARCH    17                  //超聲查詢
#define USREMOTESEARCH  18					//遠程超聲查詢
#define SELFDETECT		19

class CCaptureVideo;
class IBehavior;

class CFstarCmd  
{
	friend class CSampleGrabberCB;
public:
    UCHAR wheel_diameter;                //輪子直徑 
    UCHAR wheel_distance;                //輪間距

	UCHAR light_stop;					//尋光時的停止標記
	UCHAR demo_io_flag;					//IO標記
	UCHAR demo_ad_flag;					//AD標記
	UCHAR demo_us_flag;					//超聲標記
	UCHAR detect_flag;					//自檢標記
	UCHAR maxLgt;						//光強最高閾值
	UCHAR minLgt;						//光強最低閾值
	UCHAR maxTmp;						//溫度最高閾值
	UCHAR minTmp;						//溫度最低閾值
	UCHAR hitStatus;					//避碰開關狀態
	CStatic *pUsdis;					//超聲查詢距離靜態文本對象指針
	CStatic *pHitstatus;				//障礙方向靜態文本對象指針
	CStatic *pLlight;					//左光敏數值靜態文本對象指針
	CStatic *pRlight;					//右光敏數值靜態文本對象指針
	CStatic *pLAve;						//左右光敏平均值靜態文本對象指針
	CStatic *pLSub;						//左右光敏差值靜態文本對象指針
	CStatic *pLtmp;						//左溫敏數值靜態文本對象指針
	CStatic *pRtmp;						//右溫敏數值靜態文本對象指針
	CStatic *pTSub;						//左右溫敏差值靜態文本對象指針
	CStatic *pTAve;						//左右溫敏均值靜態文本對象指針
	CStatic *pLf;						//左前方避碰開關狀態圖標顯示對象指針
	CStatic *pLb;						//左后方避碰開關狀態圖標顯示對象指針
	CStatic *pRf;						//右前方避碰開關狀態圖標顯示對象指針
	CStatic *pRb;						//右后方避碰開關狀態圖標顯示對象指針
	CStatic *pFl;						//左紅外狀態圖標顯示
	CStatic *pFr;						//有紅外狀態圖標顯示
	CStatic *pAD7;						//第7路AD數值靜態文本對象指針
	CStatic *pIO4;						//第4路IO狀態圖標顯示對象指針
	CStatic *pIO5;						//第5路IO狀態圖標顯示對象指針
	CStatic *pIO6;						//第6路IO狀態圖標顯示對象指針
	CStatic *pIO7;						//第7路IO狀態圖標顯示對象指針
	CStatic *pIO8;						//第4路IO狀態圖標顯示對象指針
	CStatic *pIO9;						//第5路IO狀態圖標顯示對象指針
	CStatic *pIO10;						//第6路IO狀態圖標顯示對象指針
	CStatic *pIO11;						//第7路IO狀態圖標顯示對象指針
	CStatic *pIO12;						//第4路IO狀態圖標顯示對象指針
	CStatic *pIO13;						//第5路IO狀態圖標顯示對象指針
	CStatic *pIO14;						//第6路IO狀態圖標顯示對象指針
	CStatic *pIO15;						//第7路IO狀態圖標顯示對象指針

	HICON   hIon;						//傳感器出發狀態圖標
	HICON   hIoff;						//傳感器未觸發狀態圖標
	int m_IOStatus[2];
	UCHAR demoIndex;
	BOOL  bAct1End;
public:

    void goline(long distance,int speed);
    //void turn(int angle,int speed);
    void goarc(UINT dir,int angle,long radius,int speed);
    void lockdir(long distance,int speed);

	void StartAction();

	void Furl();
	void SetPIDpara(UCHAR pid1,UCHAR pid2,UCHAR pid3);	//設置鎖定航向PID參數
	void ResetServe();									//所有舵機復位
	void SendArmData(UCHAR angle[10]);	//控制機械臂運動
//	void TurnRByGyro(int inAngle, UCHAR inSpeed);		//通過陀螺使得機器人旋轉固定角度
	void DetectBoard();									//檢測各個板卡是否工作正常
	void Dance();										//機器人舞蹈
	void TurnOnLgt(UCHAR lrlight);						//探照燈打開
	void TurnOffLgt(UCHAR lrlight);						//探照燈關閉
	void WaveHead(UCHAR angle,UCHAR speed);				//頭部轉動控制
	void LcdShow(CString cs);							//控制LCD字符顯示
	void LasorOn(UCHAR sel);										//激光筆打開
	void LasorOff(UCHAR sel);									//激光筆關閉
	void LockDirection(int speed);			//鎖定航向
	void TestMotion(UCHAR motionSelect);				//驅動器調試
	
	void QueryGyro();									//單次查詢陀螺儀傾角計數據
	void QueryUS();										//單次查詢超聲波傳感器
	void QueryIO();										//單次查詢IO
	void QueryAD();										//單次查詢AD
	void QueryADIO();									//同時查詢ADIO(單次)
	void AutoQueryGyro(UINT TimeCap);					//以一定的周期查詢陀螺儀傾角計數據
	void AutoQueryADIO(UINT TimeCap);					//以一定的周期查詢同時查詢ADIO
	void AutoQueryAD(UINT TimeCap);						//以一定的周期查詢同時查詢AD
	void AutoQueryIO(UINT TimeCap);						//以一定的周期查詢同時查詢IO
	void AutoQueryUS(UINT TimeCap);						//以一定的周期查詢同時查詢超聲傳感器
	void SearchMPara();									//查詢驅動器信息
	void stop();										//停止機器人運動


	void SetWnd(HWND hWnd);								//設置主窗口句柄	
	void SetServMotor(int inSpeed);						//設置伺服電機
	void Demarcate();									//陀螺儀的標定
	void TurnByGyro(int inAngel,int inSpeed);		//左轉(基于陀螺)
//	void SpeedByGyro(int inSpeed);						//直行(基于陀螺)
	UINT GetState();									//返回當前機器人狀態
	void SetBehavior(IBehavior * pBeh);					//設定機器人行為對象
//	void QueryInfrared();								//單次查詢紅外傳感器
	void SetRMotorSpeed(int inrightspeed);				//設置右電機速度
	void SetLMotorSpeed(int inleftspeed);				//設置左電機速度
	void SetBothMotorsSpeed(int inleftspeed, int inrightspeed);		//同時設置兩個電機速度
	void Brake(UCHAR breakmode);						//剎車
	void Parse(void *buf, int length);					//解析接收到的指令
	
	CFstarCmd();
	virtual ~CFstarCmd();

	IPhy * m_pPhy;										//通訊硬件對象指針
	IBehavior * m_pBeh;									//行為對象指針
	CCaptureVideo * m_pCap;								//視頻捕捉對象指針
	
	BOOL bToEndThreads;									//退出所有子線程標記,退出程序前置TRUE
	BOOL bToEndDetect;									//退出自檢線程標志
	BOOL bToEndDance;									//退出舞蹈線程標志
	UINT QueryUSonicTime;								//超聲傳感器查詢周期
	UINT QueryInfraRedTime;								//紅外傳感器查詢周期
	UINT QueryCompassTime;								//羅盤信息查詢周期
	UINT QueryIOTime;									//IO查詢時間間隔
	UINT QueryADTime;									//AD查詢時間間隔
	UINT QueryADIOTime;									//同時查詢ADIO時間間隔
	UINT QueryGyroTime;									//陀螺儀查詢周期

	int m_iLspeed;										//左電機速度
	int m_iRspeed;										//右電機速度
	FLOAT m_fSpReduc;									//電機減速比

	int m_XRoll;										//X滾轉角
	int m_YRoll;										//Y滾轉角

	CNetSend m_netsend;									//網絡發送對象

protected:
	UCHAR serveData[24];								//12路舵機位置和速度數據
	UCHAR motorData[8];
	UCHAR m_Addata[8];									//8路AD數據
	UCHAR m_USdata[2];									//16路IO數據
	int lspeed;											//左電機速度
	int rspeed;											//右電機速度
	UCHAR jumpflag;										//跳出死循環標志
	UCHAR stopCounter;									//停止技術標志
protected:
	static UINT DetectSysThread(LPVOID pParam);
	static UINT DanceThread(LPVOID pParam);
	static UINT ActionDemo(LPVOID pParam);
protected:
	void EndAction();
	void m_AdForlight();
	void CopyArray(UCHAR * pSource);					//拷貝數值數據到舵機數組
	void m_SetUSData();									//把返回的超聲波數據計算并顯示在街面上

	void PWMoff();										//四路電機信號控制
	void m_AwayObstacle(UCHAR temp);					//避障策略實現
	void m_Forlight();									//尋光策略實現
	void m_ForEdge();									//循線策略實現
	void m_UsAwayObstacle();						//超聲避障策略實現
	void m_UsFollow();								//超聲跟蹤策略實現
	void m_USprocess();									//超聲數據處理
	void m_SetIOData();									//界面顯示IO數據
	void m_SetADData();									//界面顯示AD數據
	void m_OffHeat();									//原理熱源策略實現
	void m_SetHitIcon(UCHAR temp);						//界面顯示避碰開關狀態
	void m_IOProcess();									//IO數據處理
	void m_ADProcess();									//AD數據處理
	void m_UpdateState();								//根據電機速度值更新狀態標記
	WORD m_CalculateSpeed( int speed);					//將長整型速度換算成兩字節
	virtual void m_ParseFrame(UCHAR* buf, int length);	//將接收緩存數據進行切分


	CString m_csHitFlag;
	UCHAR *m_pRcvBuf;									//數據接收緩沖
	UCHAR *m_pSendBuf;									//數據發送緩沖
	unsigned int m_nSendlength;							//已發送字節計數
	unsigned int m_nRcvIndex;							//已接收字節計數

	BOOL m_bFrameStart;									//指令解析首字符標記
	UCHAR m_cLast;										//檢驗頭兩個字節用到的輔助變量
	unsigned int m_nFrameLength;						//當前指令長度

	UINT nState;										//機器人狀態標記
	HWND m_hWnd;										//窗口句柄
private:	
	DOUBLE m_CalDistance(UCHAR inUSChar);		//由超聲返回數值計算距離
	UCHAR m_CalSum(int length);					//為指令緩沖計算校驗和
	void m_GenerateSendBuffer(UCHAR addr, UCHAR status, UCHAR length, UCHAR ctrlcode, UCHAR *data);
	void m_Response(UCHAR *recbuf, int length);	//受到指令后的處理函數
	void m_ResponseError();						//收到不符合協議的指令的處理函數
	BOOL m_ValidFrame(UCHAR *buf, int length);	//判斷一個指令是否符合協議
	void m_ParseBuffer(const UCHAR buf);		//對一片緩沖區數據進行指令切分
	void m_ResetSendBuf();						//清空發送緩沖區
	void m_ResetRcvBuf();						//清空接收緩沖區
};

#endif // !defined(AFX_VOYCMD_H__8007E941_6DAD_4AA1_88D7_21A255E426F0__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人片在线观看无码| 欧美日韩国产精品自在自线| 日本精品一区二区三区高清| 精品91自产拍在线观看一区| 亚洲一区在线视频观看| 国产精品中文字幕一区二区三区| 欧美日韩一本到| 亚洲欧洲精品天堂一级| 国产一区福利在线| 91精品国产欧美日韩| 亚洲品质自拍视频网站| 丁香啪啪综合成人亚洲小说| 精品粉嫩超白一线天av| 亚洲国产日韩在线一区模特 | 亚洲国产精品激情在线观看| 天天av天天翘天天综合网色鬼国产 | 国产精品99久久久久| 日韩一区二区在线看| 亚洲一区在线视频观看| 99久久精品99国产精品| 国产精品系列在线| 国产一区在线精品| 精品成人a区在线观看| 久久精品国产久精国产| 91精品国产一区二区三区香蕉| 一区二区在线电影| 一本大道av伊人久久综合| 国产精品久久久久久亚洲毛片 | 国产精品免费视频一区| 国产成人午夜精品5599| 久久久青草青青国产亚洲免观| 开心九九激情九九欧美日韩精美视频电影| 天堂资源在线中文精品| 欧美色手机在线观看| 亚洲综合色噜噜狠狠| 欧美伊人精品成人久久综合97| 亚洲美女精品一区| 色美美综合视频| 亚洲午夜久久久久| 欧美丰满美乳xxx高潮www| 日韩电影在线观看一区| 精品久久久久久久人人人人传媒| 激情深爱一区二区| 欧美国产精品专区| 91色porny蝌蚪| 亚洲成人午夜电影| 日韩欧美激情一区| 国产成人精品在线看| 一色屋精品亚洲香蕉网站| 色综合欧美在线视频区| 亚洲一区二区不卡免费| 欧美肥妇毛茸茸| 久久99精品网久久| 国产精品久久久久影院老司| 欧美专区亚洲专区| 麻豆精品视频在线观看视频| 久久精品一二三| 91色porny| 美国十次综合导航| 中文一区在线播放| 欧美日韩中文国产| 国产剧情一区在线| 亚洲综合无码一区二区| 欧美一区二区三区在线电影| 国产精品1区2区3区| 亚洲精品一卡二卡| 日韩精品一区二区三区swag| 国产 欧美在线| 图片区小说区国产精品视频| 337p粉嫩大胆色噜噜噜噜亚洲| 99re6这里只有精品视频在线观看| 亚洲色大成网站www久久九九| 欧美一区二区女人| 97精品国产露脸对白| 久久99精品久久久久| 亚洲综合色婷婷| 国产视频一区不卡| 7777精品伊人久久久大香线蕉完整版| 精品亚洲国产成人av制服丝袜 | 色综合久久久久网| 理论片日本一区| 一级女性全黄久久生活片免费| 日韩一区二区三区免费看| 91在线国产福利| 九一九一国产精品| 亚洲一区二区三区四区在线观看| 精品国产三级a在线观看| 色中色一区二区| 国产一区二区成人久久免费影院| 性感美女极品91精品| 亚洲欧美日韩人成在线播放| 26uuu精品一区二区| 在线播放亚洲一区| 在线区一区二视频| 成人精品亚洲人成在线| 国内外成人在线| 日本成人在线网站| 亚洲成va人在线观看| 亚洲欧美偷拍卡通变态| 国产蜜臀av在线一区二区三区| 欧美精选在线播放| 欧美三片在线视频观看| 色婷婷国产精品| 99精品视频在线观看免费| 国产69精品久久久久777| 国产在线播精品第三| 捆绑调教一区二区三区| 日韩成人精品在线| 欧美a一区二区| 青娱乐精品在线视频| 美女在线观看视频一区二区| 午夜电影网亚洲视频| 亚洲超丰满肉感bbw| 亚洲福利视频一区二区| 亚洲国产一区二区三区青草影视| 亚洲精品视频观看| 亚洲精品久久久蜜桃| 亚洲男人的天堂网| 有坂深雪av一区二区精品| 亚洲乱码国产乱码精品精98午夜 | 亚洲成a人片在线观看中文| 亚洲最新视频在线播放| 一区二区三区不卡视频在线观看| 亚洲免费观看高清完整版在线| 亚洲激情男女视频| 亚洲成人激情av| 蜜臀久久99精品久久久久久9| 蜜桃精品在线观看| 九色综合狠狠综合久久| 成人午夜精品在线| 91美女片黄在线观看91美女| 欧美在线播放高清精品| 5566中文字幕一区二区电影| 精品久久国产字幕高潮| 国产欧美一区视频| 一区二区视频免费在线观看| 天堂一区二区在线| 国产一区久久久| 色哟哟精品一区| 日韩欧美国产一区二区三区| 久久免费看少妇高潮| 亚洲视频中文字幕| 日韩成人一区二区三区在线观看| 男男视频亚洲欧美| aaa国产一区| 777a∨成人精品桃花网| 久久免费视频色| 一区二区理论电影在线观看| 美女任你摸久久| 成人精品一区二区三区中文字幕| 欧美亚洲综合久久| 久久久精品免费观看| 亚洲色图制服诱惑| 久久国产麻豆精品| 一本到三区不卡视频| www久久精品| 亚洲综合偷拍欧美一区色| 精品一区二区在线看| 日本高清不卡一区| 久久综合资源网| 亚洲国产日韩精品| 成人av网站在线观看免费| 678五月天丁香亚洲综合网| 国产欧美日韩激情| 日本不卡的三区四区五区| 99久久er热在这里只有精品66| 91精品久久久久久久99蜜桃 | a级高清视频欧美日韩| 日韩免费电影一区| 亚洲激情图片一区| 国产成人av电影在线播放| 日韩视频中午一区| 一区二区三区欧美日韩| 不卡电影一区二区三区| 日韩欧美国产不卡| 亚洲成人av福利| 色综合视频一区二区三区高清| 久久久激情视频| 免费看黄色91| 在线不卡中文字幕播放| 亚洲人成影院在线观看| 成人妖精视频yjsp地址| 精品美女一区二区| 日韩国产高清在线| 欧美午夜一区二区| 亚洲裸体xxx| 成人免费视频一区二区| 欧美精品一区二区在线播放| 石原莉奈在线亚洲二区| 欧美日韩久久一区| 亚洲精品大片www| 91日韩精品一区| 椎名由奈av一区二区三区| 国产69精品久久99不卡| 国产精品午夜在线观看| 成人免费电影视频| 国产精品麻豆欧美日韩ww| 国产白丝网站精品污在线入口| 日本一区二区免费在线| 国产不卡在线一区|