///////////////////////////////////////////////////////////////////////////
// DIOのdefine関連
//
// 2015/04/10
///////////////////////////////////////////////////////////////////////////
#ifndef __U_DIODEFINE_H__
//[[[
#define __U_DIODEFINE_H__

#undef EXTERN
#ifndef MONITOR_DEF_DIO
#define EXTERN extern
#else
#define EXTERN
#endif

// 基板上のLED出力状態確認（== 0 の場合、消えていると判断できる）
#define		LED0_CHK_OFF			( (ROM_GPIOPinRead(GPIO_PORTN_BASE,GPIO_PIN_0) == 0)? true : false )
#define		LED1_CHK_OFF			( (ROM_GPIOPinRead(GPIO_PORTN_BASE,GPIO_PIN_1) == 0)? true : false )
#define		LED2_CHK_OFF			( (ROM_GPIOPinRead(GPIO_PORTN_BASE,GPIO_PIN_4) == 0)? true : false )
#define		LED3_CHK_OFF			( (ROM_GPIOPinRead(GPIO_PORTN_BASE,GPIO_PIN_5) == 0)? true : false )

// 基板上のLED出力ON
#define		LED0_ON						(ROM_GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_0,GPIO_PIN_0))
#define		LED1_ON						(ROM_GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_1,GPIO_PIN_1))
#define		LED2_ON						(ROM_GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_4,GPIO_PIN_4))
#define		LED3_ON						(ROM_GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_5,GPIO_PIN_5))

// 基板上のLED出力OFF
#define		LED0_OFF					(ROM_GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_0,(BYTE)~(GPIO_PIN_0)))
#define		LED1_OFF					(ROM_GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_1,(BYTE)~(GPIO_PIN_1)))
#define		LED2_OFF					(ROM_GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_4,(BYTE)~(GPIO_PIN_4)))
#define		LED3_OFF					(ROM_GPIOPinWrite(GPIO_PORTN_BASE,GPIO_PIN_5,(BYTE)~(GPIO_PIN_5)))

// キーLEDの出力状態確認
#define		KEYLED_CHK_OFF		( (ROM_GPIOPinRead(GPIO_PORTB_BASE,GPIO_PIN_7) == 0)? true : false )
// キーLED出力ON
#define		KEYLED_ON					(ROM_GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_7,GPIO_PIN_7))
// キーLED出力OFF
#define		KEYLED_OFF				(ROM_GPIOPinWrite(GPIO_PORTB_BASE,GPIO_PIN_7,(BYTE)~(GPIO_PIN_7)))

// キー入力のチェック（押下するとLOWになるため、trueで押下状態扱いになる）
#define		KEY0_CHK_ON				( (ROM_GPIOPinRead(GPIO_PORTE_BASE,GPIO_PIN_3) == 0)? true : false )
#define		KEY1_CHK_ON				( (ROM_GPIOPinRead(GPIO_PORTE_BASE,GPIO_PIN_2) == 0)? true : false )
#define		KEY2_CHK_ON				( (ROM_GPIOPinRead(GPIO_PORTE_BASE,GPIO_PIN_1) == 0)? true : false )
#define		KEY3_CHK_ON				( (ROM_GPIOPinRead(GPIO_PORTE_BASE,GPIO_PIN_0) == 0)? true : false )
#define		KEY4_CHK_ON				( (ROM_GPIOPinRead(GPIO_PORTK_BASE,GPIO_PIN_0) == 0)? true : false )
#define		KEY5_CHK_ON				( (ROM_GPIOPinRead(GPIO_PORTK_BASE,GPIO_PIN_1) == 0)? true : false )
#define		KEY6_CHK_ON				( (ROM_GPIOPinRead(GPIO_PORTK_BASE,GPIO_PIN_2) == 0)? true : false )
#define		KEY7_CHK_ON				( (ROM_GPIOPinRead(GPIO_PORTK_BASE,GPIO_PIN_3) == 0)? true : false )

#define		KEY_LI_ONCHECK	(KEY4_CHK_ON)
#define		KEY_WI_ONCHECK	(KEY3_CHK_ON)
#define		KEY_WS_ONCHECK	(KEY2_CHK_ON)
#define		KEY_MENU_ONCHECK	(KEY1_CHK_ON)
#define		KEY_HOME_ONCHECK	(KEY0_CHK_ON)

#endif
//]]]
