#include "dev_ls.h"

/*
 * ラインセンサの初期化
 */
void ls_initialize(void)
{
	/* 入力ポートに設定 */
	*PE_IOR0 = *PE_IOR0 & 0xFFF8;	
}

/*
 * センサの値を取得
 * 引数　：センサの種類(LS_LEFT、LS_CENTER、LS_RIGHT)
 * 戻り値：線の上にあるかないか？(LINE_ON、LINE_OFF)
 */
unsigned int ls_read(unsigned char ls)
{
	unsigned int ls_ret = 0x0000;
	
	switch(ls){
	case LS_LEFT:
		ls_ret = 0x0001;
		break;
	case LS_CENTER:
		ls_ret = 0x0002;
		break;
	case LS_RIGHT:
		ls_ret = 0x0004;
		break;
	default:
		return ERROR;
		break;	
	}
	
	/* 線の上にあるかどうか調べる */
	if((*PE_DR0 & ls_ret) == ls_ret){
		return 	LINE_ON;
	}else{
		return LINE_OFF;
	}
	
	return ERROR;
}
