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

#if !defined(EA_4EB9A882_EAB2_46b7_9232_7949F28F3653__INCLUDED_)
#define EA_4EB9A882_EAB2_46b7_9232_7949F28F3653__INCLUDED_


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

#include "Direction.h"
#include "IsOnline.h"
#include "LineTracerState.h"

#include "TouchSensor.h"
#include "GyroSensor.h"
#include "Motor.h"
#include "LightSensor.h"


// 属性を保持するための構造体の定義
typedef struct LineTracer
{
	unsigned int speed;
	DIRECTION direction;
	LT_STATE state;
	TouchSensor *touchSensor;
	GyroSensor *gyroSensor;
	Motor *rightMotor;
	Motor *leftMotor;
	LightSensor *lightSensor;
} LineTracer;

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

#endif /*!defined(EA_4EB9A882_EAB2_46b7_9232_7949F28F3653__INCLUDED_)*/

