📄 lanetracker.h
字号:
/******************************************************************************\
*
* File: LaneTracker.h
* Creation date: June 23, 2008 10:30
* Latest update: July 09, 2008 16:39
* Author: ClassBuilder
* XXXX
* Purpose: Declaration of class 'LaneTracker'
* CB version: ClassBuilder Version 2.9 (PR523)
*
* Modifications: @INSERT_MODIFICATIONS(* )
* July 09, 2008 16:06 Chijinliang
* Added method 'FreeStrategies'
* July 05, 2008 21:03 Chijinliang
* Deleted method 'Track'
* July 05, 2008 14:29 Chijinliang
* Added method 'UpdateCurrentLaneType'
* Added method 'Track'
* Added method 'GetActiveStrategy'
* Added member 'm_strategies'
* Added member 'm_currentLaneType'
* Updated interface of method 'Initialize'
* June 24, 2008 19:51 Chijinliang
* Added method 'Initialize'
* June 24, 2008 19:44 Chijinliang
* Added method 'Stop'
* Added method 'Start'
* June 23, 2008 17:39 Chijinliang
* Added method 'GetSteeringController'
* Updated member 'm_steeringController'
* June 23, 2008 13:46 Chijinliang
* Added method 'LaneTracker'
* June 23, 2008 10:30 Chijinliang
* Added method 'DestructorInclude'
* Added method 'ConstructorInclude'
* Added method 'Track'
* Added method 'CaptureCurrent'
* Added method 'CalibrationWhite'
* Added method 'CalibrationGray'
* Added method 'CalibrationBlack'
* Added method '~LaneTracker'
* Added member 'm_calibration'
* Added member 'm_lightSensor'
* Added member 'm_steeringController'
* Added member 'm_driveMotor'
* Updated return type of method 'Track'
*
* Copyright 2008, XXXXX
* All rights are reserved. Reproduction in whole or part is prohibited
* without the written consent of the copyright owner.
*
\******************************************************************************/
#ifndef _LANETRACKER_H
#define _LANETRACKER_H
class LaneTracker
{
private:
void ConstructorInclude();
void DestructorInclude();
private:
DriveMotor m_driveMotor;
//SteeringController m_steeringController;
LightSensor m_lightSensor;
Calibration m_calibration;
LaneType m_currentLaneType;
//Strategy* m_strategies[6];
TouchSensor m_zeroIndicator;
SteeringMotor m_steeringMotor;
TrackType m_trackType;
unsigned int m_minColor;
unsigned int m_prevColor;
int m_grayCount;
bool m_outCourse;
bool m_bFirstLoop;
bool m_bMarker;
int m_markerCount;
bool m_bChecked;
int m_markerIndex;
bool m_bMarker0;
private:
unsigned int CaptureCurrent(bool needConfirm = true) const;
void FreeStrategies();
void UpdateCurrentLaneType();
void DetectMarker(unsigned int sensorValue);
public:
LaneTracker();
virtual ~LaneTracker();
void CalibrationBlack();
void CalibrationGray();
void CalibrationWhite();
void Execute(const Command* pCommand);
//Strategy* GetActiveStrategy() const;
void Initialize(bool outCourse);
void Start();
void Stop();
int Track();
//SteeringController* GetSteeringController();
};
#endif // ndef _LANETRACKER_H
#ifdef CB_INLINES
#ifndef _LANETRACKER_H_INLINES
#define _LANETRACKER_H_INLINES
/*
Returns the value of member 'm_steeringController'.
*/
/*
inline SteeringController* LaneTracker::GetSteeringController()
{
return &m_steeringController;
}
*/
#endif // ndef _LANETRACKER_H_INLINES
#endif // def CB_INLINES
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -