
#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 LED3 GPIO_OUT_APORT00_PIN10
// #define LED4 GPIO_OUT_APORT00_PIN11
// #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 POWER_CTRL_KL30_Current GPIO_OUT_PORT10_PIN14

// #define LINE_OUT_FANGDAO GPIO_OUT_PORT10_PIN06

#define SD_FMQ  GPIO_OUT_PORT10_PIN02
#define PWM_FMQ GPIO_OUT_PORT10_PIN11


#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  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


//左转
#define  LINE_OUT_POS_04 GPIO_OUT_APORT00_PIN05
//正控1
#define LINE_OUT_POS_01 GPIO_OUT_PORT10_PIN06
//正控2
#define LINE_OUT_POS_02 GPIO_OUT_PORT09_PIN00
//正控3
#define LINE_OUT_POS_03 GPIO_OUT_APORT00_PIN04
#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

//负控1
#define LINE_OUT_NEG_01 GPIO_OUT_PORT09_PIN06
//负控2
#define LINE_OUT_NEG_02 GPIO_OUT_PORT09_PIN05
//负控3
#define LINE_OUT_NEG_03 GPIO_OUT_PORT09_PIN04
//P挡//驻车指示灯
#define LINE_OUT_NEG_04 GPIO_OUT_PORT09_PIN03
//开关后桥状态//制动失效
#define LINE_OUT_NEG_05 GPIO_OUT_PORT09_PIN02
//马达2驱信号
#define LINE_OUT_NEG_06 GPIO_OUT_PORT09_PIN01
//马达4驱信号//空挡
#define LINE_OUT_NEG_07 GPIO_OUT_PORT10_PIN07
//马达4驱锁死信号
#define LINE_OUT_NEG_08 GPIO_OUT_PORT10_PIN03
//开关2驱信号
#define LINE_OUT_NEG_09 GPIO_OUT_PORT10_PIN04
//B-5开关4驱信号
#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


//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
