📄 steeringcontroller.h
字号:
/******************************************************************************\
*
* File: SteeringController.h
* Creation date: June 23, 2008 10:30
* Latest update: July 09, 2008 16:39
* Author: ClassBuilder
* XXXX
* Purpose: Declaration of class 'SteeringController'
* CB version: ClassBuilder Version 2.9 (PR523)
*
* Modifications: @INSERT_MODIFICATIONS(* )
* July 09, 2008 15:48 Chijinliang
* Added member 'm_newCommand'
* July 09, 2008 15:46 Chijinliang
* Added method 'UpdateTargetTime'
* Updated member 'm_mode'
* July 09, 2008 15:22 Chijinliang
* Added method 'UpdateCommand'
* Added member 'm_command'
* July 09, 2008 12:22 Chijinliang
* Deleted member 'm_steeringSpeed'
* July 09, 2008 12:13 Chijinliang
* Deleted method 'CalculateDeltaAngle'
* Deleted member 'm_deltaAngleSum'
* Added member 'm_deltaAngle0'
* Added member 'm_pastTime'
* Updated member 'm_targetTime'
* July 05, 2008 21:33 Chijinliang
* Deleted method 'SetParameters'
* Added method 'Execute'
* Updated member 'm_motorState'
* July 05, 2008 20:28 Chijinliang
* Deleted method 'UpdateTargetDeltaAngle'
* Added method 'CalculateSteeringAngle'
* Added method 'CalculateDeltaAngle'
* Added member 'm_motorState'
* Added member 'm_steeringAngle0'
* Added member 'm_motorSpeed'
* Added member 'm_deltaAngleSum'
* July 05, 2008 14:29 Chijinliang
* Added method 'GetMode'
* Added method 'GetMinAngle'
* Added method 'GetMaxAngle'
* Added method 'SetParameters'
* Added member 'm_maxAngle'
* Added member 'm_minAngle'
* Added member 'm_mode'
* Updated interface of method 'SetTargetSteeringAngle'
* Updated interface of method 'SetSteeringSpeed'
* Updated member 'm_steeringSpeed'
* Updated member 'm_targetSteeringAngle'
* June 25, 2008 19:10 Chijinliang
* Added method 'UpdateTargetDeltaAngle'
* Added member 'm_targetDeltaAngle'
* June 24, 2008 19:44 Chijinliang
* Added method 'Stop'
* Added member 'm_deltaAngle'
* June 23, 2008 13:42 Chijinliang
* Updated member 'm_zeroIndicator'
* June 23, 2008 10:30 Chijinliang
* Added method 'DestructorInclude'
* Added method 'ConstructorInclude'
* Added method 'SetTargetSteeringAngle'
* Added method 'GetTargetSteeringAngle'
* Added method 'SetSteeringSpeed'
* Added method 'GetSteeringSpeed'
* Added method 'GetSteeringAngle'
* Added method 'ZeroRevise'
* Added method 'ControlMotor'
* Added method 'Control'
* Added method '~SteeringController'
* Added method 'SteeringController'
* Added member 'm_steeringSpeed'
* Added member 'm_targetSteeringAngle'
* Added member 'm_steeringAngle'
* Added member 'm_steeringMotor'
* Added member 'm_zeroIndicator'
*
* Copyright 2008, XXXXX
* All rights are reserved. Reproduction in whole or part is prohibited
* without the written consent of the copyright owner.
*
\******************************************************************************/
#ifndef _STEERINGCONTROLLER_H
#define _STEERINGCONTROLLER_H
/*
憖懬僐儞僩儘乕儖僋儔僗
*/
class SteeringController
{
private:
void ConstructorInclude();
void DestructorInclude();
private:
TouchSensor m_zeroIndicator;
SteeringMotor m_steeringMotor;
int m_steeringAngle;
int m_targetSteeringAngle;
int m_deltaAngle;
int m_targetTime;
SteeringMode m_mode;
int m_minAngle;
int m_maxAngle;
byte m_motorSpeed;
int m_steeringAngle0;
char m_motorState;
byte m_pastTime;
int m_deltaAngle0;
Command m_command;
bool m_newCommand;
bool m_pressed;
int m_leftside;
private:
void CalculateSteeringAngle();
void UpdateCommand();
void UpdateTargetTime();
void SetTargetSteeringAngle(int targetSteeringAngle);
protected:
void ControlMotor();
public:
SteeringController();
virtual ~SteeringController();
void Control();
void Execute(const Command* pCommand);
void Stop();
void ZeroRevise();
int GetMaxAngle() const;
int GetMinAngle() const;
SteeringMode GetMode() const;
int GetSteeringAngle() const;
int GetTargetSteeringAngle() const;
};
#endif // ndef _STEERINGCONTROLLER_H
#ifdef CB_INLINES
#ifndef _STEERINGCONTROLLER_H_INLINES
#define _STEERINGCONTROLLER_H_INLINES
/*
Returns the value of member 'm_maxAngle'.
*/
inline int SteeringController::GetMaxAngle() const
{
return m_maxAngle;
}
/*
Returns the value of member 'm_minAngle'.
*/
inline int SteeringController::GetMinAngle() const
{
return m_minAngle;
}
/*
Returns the value of member 'm_mode'.
*/
inline SteeringMode SteeringController::GetMode() const
{
return m_mode;
}
/*
Returns the value of member 'm_steeringAngle'.
*/
inline int SteeringController::GetSteeringAngle() const
{
return m_steeringAngle;
}
/*
Returns the value of member 'm_targetSteeringAngle'.
*/
inline int SteeringController::GetTargetSteeringAngle() const
{
return m_targetSteeringAngle;
}
/*
Set the value of member 'm_targetSteeringAngle' to 'targetSteeringAngle'.
*/
inline void SteeringController::SetTargetSteeringAngle(int targetSteeringAngle)
{
m_targetSteeringAngle = targetSteeringAngle;
//UpdateTargetDeltaAngle();
}
#endif // ndef _STEERINGCONTROLLER_H_INLINES
#endif // def CB_INLINES
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -