demo.cpp
来自「机器人UP-VoyagerII源码 基本功能」· C++ 代码 · 共 101 行
CPP
101 行
// Demo.cpp: implementation of the CDemo class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "Demo.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CDemo::CDemo()
{
m_nDistance = 30;
m_BehShow = NULL;
}
CDemo::~CDemo()
{
}
void CDemo::AfterUpdateInfrared(UCHAR *Infrared,BOOL *EnableIR,UINT nState)
{
//红外信号更新
}
void CDemo::AfterUpdateUSonic(DOUBLE *Ultrasonic,BOOL *EnableUS,UINT nState)
{
//超声信号更新
switch(nState)
{
case STOP: //机器人处于停止状态
if (Ultrasonic[23] > m_nDistance)
{
m_pCmd->SetBothMotorsSpeed(100,100);
}
else
{
m_pCmd->SetBothMotorsSpeed(100,-100);
}
break;
case FORWARD: //机器人处于往前直行状态
if (Ultrasonic[23] < m_nDistance)
{
if (m_BehShow != NULL)
{
m_BehShow->AddString("前方障碍物");
m_BehShow->AddString("右转");
}
m_pCmd->SetBothMotorsSpeed(100,-100);
}
break;
case BACKWARD: //机器人处于往后直行状态
break;
case RIGHT: //机器人处于原地右转状态
case RIGHTFRONT: //机器人处于右转前行状态
//break;
case LEFT: //机器人处于原地左转状态
case LEFTFRONT: //机器人处于左转前行状态
if (Ultrasonic[23] > m_nDistance)
{
if (m_BehShow != NULL)
{
m_BehShow->AddString("前方无障碍物");
m_BehShow->AddString("前进");
}
m_pCmd->SetBothMotorsSpeed(100,100);
}
break;
default: //机器人处于不明状态
m_pCmd->Brake(1);
nState = STOP;
break;
}
}
void CDemo::AfterUpdateVideoSample(BYTE *pBuffer, long lWidth, long lHeight,double dbTime,UINT nState)
{
//摄像头图像祯更新
}
void CDemo::AfterSendCommand(BYTE *pBuffer, int iLength,UINT nState)
{
//发送了新的指令
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?