📄 robocar.h
字号:
/********************************************************************
*
* =-----------------------------------------------------------------=
* = ____ _________ =
* = / _ \ \___ __/ =
* = / /_/ / ____ / / =
* = / _ \ ● / _ \ / / =
* = / /_/ // // / / // / =
* = \______//_//_/ /_//_/ =
* = =
* = Copyright (c) BIN Technology studio,2004 =
* = LET'Z BT =
* =-----------------------------------------------------------------=
*
* FileName : RoboCar.cpp RoboCar.h
* Description : 机器人控制接口,完成状态队列的执行
* 状态队列为FIFO动作队列
*
* Author : 风间苍月(TuQbasic)
* Email : tuqbasic@sohu.com
*
* Create : 2004.04.23
* LastChange : 2004.05.25
*
* History :
********************************************************************/
#pragma once
#include <list>
using namespace std;
#include "ComPort.h"
#include "Action.h"
class CRoboCar
{
public:
CRoboCar(void);
virtual ~CRoboCar(void);
// 等待单片机发送指令运行
void WaitMessage(void);
// 是否应该关闭系统
bool IsShutDown(void);
// 阻塞模式动作,直到动作完成(时间过去)再返回
void ActionSlave(unsigned long lStatus, unsigned long lTime);
// 设置状态和状态持续时间(将清空队列),该状态结束之后,进入idle
void SetStatus(unsigned long lStatus, unsigned long lTime= ACTION_INFINITE_TIME);
// 将一个状态添加到动作队列中,该动作方法与前面方法不兼容
void PushStatus(unsigned long lStatus, unsigned long lTime= ACTION_INFINITE_TIME);
// 更新状态,由外部分配时间片
void ResponseTick(void);
private:
// 发送串口指令
void Action(ACTIONDESC &act);
private:
// 状态队列
list<ACTIONDESC> m_lstAct;
unsigned long m_lSwapTime; // 改变状态的时刻,到达该时刻时切换状态
CComPort m_port;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -