#ifndef RTE_GPIO_H
#define RTE_GPIO_H

#include "TYW_stdint.h"
#include "GPIO.h"

#define LINE_IN_CHARGE         GPIO_IN_PORT11_PIN00
#define LINE_IN_BRAKE_LEVELn   GPIO_IN_PORT08_PIN08
#define LINE_IN_OIL_PRESSUREn  GPIO_IN_PORT08_PIN09
#define LINE_IN_WASHING_LEVELn GPIO_IN_PORT09_PIN01
#define LINE_IN_PARKn          GPIO_IN_PORT09_PIN00

#define LED1 GPIO_OUT_APORT00_PIN07
#define LED2 GPIO_OUT_APORT00_PIN08

#define LED5 GPIO_OUT_APORT00_PIN12
#define LED6 GPIO_OUT_PORT10_PIN06
#define LED7 GPIO_OUT_PORT10_PIN06

#define LCDAL GPIO_IN_APORT00_PIN13
#define LCDAR GPIO_IN_APORT00_PIN14

#define SW1  GPIO_IN_APORT00_PIN00   
#define SW2  GPIO_IN_PORT10_PIN05 
#define SW3  GPIO_IN_APORT00_PIN01   
#define SW4  GPIO_IN_APORT00_PIN02   //按键-
#define SW5  GPIO_IN_APORT00_PIN03   //按键+

#define SW6  GPIO_IN_APORT00_PIN04
#define SW7  GPIO_IN_APORT00_PIN05
#define SW8  GPIO_IN_APORT00_PIN06  //右转
#define SW9  GPIO_IN_PORT09_PIN00
#define SW10 GPIO_IN_PORT10_PIN06

#define FUEL_RES_1 GPIO_OUT_PORT00_PIN13
#define FUEL_RES_2 GPIO_OUT_PORT08_PIN12
#define FUEL_RES_3 GPIO_OUT_PORT08_PIN10
#define FUEL_RES_4 GPIO_OUT_PORT08_PIN11

#define LINE_OUT_CHARGER     GPIO_OUT_PORT10_PIN06//
#define LINE_OUT_OIL         GPIO_OUT_PORT10_PIN06
#define LINE_OUT_BREAK_LEVEL GPIO_OUT_PORT10_PIN06
#define LINE_OUT_WARSH_LEVEL GPIO_OUT_PORT10_PIN06
#define LINE_OUT_PARK        GPIO_OUT_PORT10_PIN06
#define LINE_OUT_EPS         GPIO_OUT_PORT10_PIN06

#define POWER_CTRL_KL30         GPIO_OUT_PORT10_PIN13
#define POWER_CTRL_KL15         GPIO_OUT_PORT10_PIN12


#define LINE_OUT_FANGDAO GPIO_OUT_PORT10_PIN06

#define SD_FMQ  GPIO_OUT_PORT10_PIN02
// #define PWM_FMQ GPIO_OUT_PORT10_PIN06


#define  NEG_1_Ctrl   GPIO_OUT_PORT09_PIN06
#define  NEG_2_Ctrl   GPIO_OUT_PORT09_PIN05
#define  NEG_3_Ctrl   GPIO_OUT_PORT09_PIN04
#define  NEG_4_Ctrl   GPIO_OUT_PORT09_PIN03
#define  NEG_5_Ctrl   GPIO_OUT_PORT09_PIN02
#define  NEG_6_Ctrl   GPIO_OUT_PORT09_PIN01
#define  NEG_7_Ctrl   GPIO_OUT_PORT10_PIN07
#define  NEG_8_Ctrl   GPIO_OUT_PORT10_PIN03
#define  NEG_9_Ctrl   GPIO_OUT_PORT10_PIN04
#define  NEG_10_Ctrl  GPIO_OUT_PORT00_PIN08

#define queren  GPIO_OUT_PORT00_PIN06
#define  LINE_SafeBelt_1  NEG_1_Ctrl
#define  LINE_SafeBelt_2  NEG_2_Ctrl
#define  LINE_SafeBelt_3  NEG_3_Ctrl
#define  LINE_SafeBelt_4  NEG_4_Ctrl
#define  LINE_SafeBelt_5  NEG_5_Ctrl

#define  LINE_SafeBelt_2_press  NEG_6_Ctrl
#define  LINE_SafeBelt_3_press  NEG_7_Ctrl
#define  LINE_SafeBelt_4_press  NEG_8_Ctrl
#define  LINE_SafeBelt_5_press  NEG_9_Ctrl

//ljs
#define LINE_OUT_POS_01 GPIO_OUT_PORT10_PIN06
#define LINE_OUT_POS_02 GPIO_OUT_PORT09_PIN00
#define LINE_OUT_POS_03 GPIO_OUT_APORT00_PIN04
#define LINE_OUT_POS_04 GPIO_OUT_APORT00_PIN05
#define LINE_OUT_POS_05 GPIO_OUT_APORT00_PIN06
#define LINE_OUT_POS_06 GPIO_OUT_APORT00_PIN13
#define LINE_OUT_POS_07 GPIO_OUT_APORT00_PIN14
// #define LINE_OUT_POS_08 GPIO_OUT_PORT08_PIN09
// #define LINE_OUT_POS_09 GPIO_OUT_PORT08_PIN08
// #define LINE_OUT_POS_10 GPIO_OUT_PORT00_PIN07

#define LINE_OUT_NEG_01 GPIO_OUT_PORT09_PIN06   //12V
#define LINE_OUT_NEG_02 GPIO_OUT_PORT09_PIN05   //BAT
#define LINE_OUT_NEG_03 GPIO_OUT_PORT09_PIN04   //BAT~
#define LINE_OUT_NEG_04 GPIO_OUT_PORT09_PIN03   //ACC1

#define LINE_OUT_NEG_07 GPIO_OUT_PORT10_PIN07
#define LINE_OUT_NEG_08 GPIO_OUT_PORT10_PIN03
#define LINE_OUT_NEG_09 GPIO_OUT_PORT10_PIN04
#define LINE_OUT_NEG_10 GPIO_OUT_PORT00_PIN08

#define LINE_FUEL_RES01 GPIO_OUT_PORT00_PIN13
#define LINE_FUEL_RES02 GPIO_OUT_PORT08_PIN12
#define LINE_FUEL_RES03 GPIO_OUT_PORT08_PIN10
#define LINE_FUEL_RES04 GPIO_OUT_PORT08_PIN11

#define GPIO_VSpeed_PWM_IN GPIO_IN_PORT10_PIN15

#define LED3 GPIO_OUT_APORT00_PIN10 //右转
#define LED4 GPIO_OUT_APORT00_PIN11 //左转
#define LINE_OUT_NEG_05 GPIO_OUT_PORT09_PIN02   //ABS
#define LINE_OUT_NEG_06 GPIO_OUT_PORT09_PIN01   //位置灯
#define LINE_jinguang GPIO_OUT_PORT10_PIN10 //近光
#define POWER_CTRL_KL30_Current GPIO_OUT_PORT10_PIN14   //蓝牙
//zh:

/******************************************************************************
函数接口
******************************************************************************/
void RTE_GPIO_30_Init(void);    // 30初始化
void GPIO_Sleep_Init(void);     //睡眠初始化

void RTE_GPIO_Init(void);
void RTE_GPIO_Wakeup_Init(void);
void RTE_GPIO_Sleep_Init(void);

#endif