/****************************************************
 *  LineTracer.h                                         
 *  Created on: 2012/04/17 11:47:52                      
 *  Implementation of the Class LineTracer       
 *  Original author: hiroyuki.watanabe                     
 ****************************************************/

#if !defined(EA_D4DFCFD5_7755_4de3_817B_6976AA2EA1CE__INCLUDED_)
#define EA_D4DFCFD5_7755_4de3_817B_6976AA2EA1CE__INCLUDED_


#include "kernel.h"
#include "kernel_id.h"

#include "Direction.h"
#include "IsOnLine.h"

#include "LineMonitor.h"
#include "DriveUnit.h"

/*状態の定義列挙値*/
typedef enum _LT_STATE
{
	STOP,
	RUN,
} LT_STATE;

// 属性を保持するための構造体の定義
typedef struct LineTracer
{
	LT_STATE state;
	unsigned int speed;
	DIRECTION direction;
	LineMonitor *lineMonitor;
	DriveUnit *driveUnit;
} LineTracer;

void LineTracer_init(LineTracer* this);
void LineTracer_setCommand(LineTracer* this);
void LineTracer_traceLine(LineTracer* this);

#endif /*!defined(EA_D4DFCFD5_7755_4de3_817B_6976AA2EA1CE__INCLUDED_)*/

