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

📄 compasswp3300view.h

📁 机器人超声波避障系统
💻 H
字号:
// CompassWP3300View.h : interface of the CCompassWP3300View class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_COMPASSWP3300VIEW_H__17C4C76F_523A_4D60_84C6_09A67788530D__INCLUDED_)
#define AFX_COMPASSWP3300VIEW_H__17C4C76F_523A_4D60_84C6_09A67788530D__INCLUDED_

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

#define WM_FRAME WM_USER+202

#include "UltraSonarBoard.h"

#include "Action.h"
#define BACK false
#define  FORE true
/*
const double
		 PI = 3.1415926,
		 dRbLength	= 55,
		 dRbWidth	= 55,

		 
		 dRbExLength	=	70,
		 dRbExWidth		=	70,

		 DSAFE	=	25,
		 DEXSAFE	=	60,
		
		 DSIDESAFE = 25,
		 DEXSIDESAFE = 70;
*/
#define PI  3.1415926
#define dRbLength	 55
#define dRbWidth	 55

#define dRbExLength		70
#define dRbExWidth		70

//以下尚需修改为,DSAFE ,DSAFELENGTH=DEXSAFE-DSAFE
#define DSAFE		25
#define DEXSAFE		60

#define DSIDESAFE  25
#define DEXSIDESAFE  45		
		






#include "fstream.h"

class CMyPoint
{
public:
	CMyPoint()
	{
		x=0;
		y=0;
	}
	void Offset(double i,double j)
	{
		x=i;
		y=j;
	}
	double x;
	double y;
};
class CCompassWP3300View : public CFormView
{
protected: // create from serialization only
	CCompassWP3300View();
	DECLARE_DYNCREATE(CCompassWP3300View)

public:
	//{{AFX_DATA(CCompassWP3300View)
	enum { IDD = IDD_COMPASSWP3300_FORM };
	UINT	m_data5;
	UINT	m_data6;
	UINT	m_data7;
	UINT	m_data8;
	UINT	m_data1;
	UINT	m_data2;
	UINT	m_data3;
	UINT	m_data4;
	UINT	m_data9;
	UINT	m_data10;
	UINT	m_data11;
	UINT	m_data12;
	UINT	m_data13;
	UINT	m_data14;
	UINT	m_data15;
	UINT	m_data16;
	UINT	m_serialPort;
	int		m_originO;
	int		m_originx;
	int		m_originy;
	int		m_drawy;
	int		m_drawx;
	//}}AFX_DATA


// Attributes
public:
	CCompassWP3300Doc* GetDocument();

	ServoBoard m_sbRobSerBoard;
	Action m_acRobAction;

	UltraSonarBoard m_board;

	double m_originLeftDis,m_originRightDis;
	double m_tread;

	CMyPoint originPoint,		//机器人本体中心的绝对坐标(在全局坐标系中的坐标)
		sonarPoint[8],				//8个超声波传感器探测到的障碍物相对于机器人本体中心的相对坐标
		absoluteSonarPoint[8];		//8个超声波传感器探测到的障碍物所在的全局坐标系中的坐标
	double angle;					//机器人相对于全局坐标系的位姿角度
	
	CPoint drawOriginPoint;

	double m_SonarCycle;
	BYTE tmpMaxDis;
	double dMaxVelocity;

	int iDecNum;
	double dDeciRe,dDeciIRe;

	fstream m_dataFile;         //将结果写入文件data.txt
	fstream m_posFile;         //将结果写入文件data.txt

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CCompassWP3300View)
	public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	virtual void OnInitialUpdate(); // called first time after construct
	virtual void OnDraw(CDC* pDC);
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CCompassWP3300View();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CCompassWP3300View)
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnButtonStop();
	afx_msg void OnButtonStart();
	afx_msg void OnButtonSetparam();
	afx_msg void OnButtonSerialport();
	afx_msg void OnButtonSetXYO();
	afx_msg void OnDestroy();
	//}}AFX_MSG
	afx_msg void OnSonarFrame(WPARAM wParam,LPARAM lParam);
	DECLARE_MESSAGE_MAP()
};

#ifndef _DEBUG  // debug version in CompassWP3300View.cpp
inline CCompassWP3300Doc* CCompassWP3300View::GetDocument()
   { return (CCompassWP3300Doc*)m_pDocument; }
#endif

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_COMPASSWP3300VIEW_H__17C4C76F_523A_4D60_84C6_09A67788530D__INCLUDED_)

⌨️ 快捷键说明

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