
#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 Light_Out            GPIO_IN_PORT10_PIN09
#define POWER_CTRL_KL15         GPIO_OUT_PORT10_PIN12
    

#define LINE_OUT_FANGDAO 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 SW10 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_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_FUEL_RES01 GPIO_OUT_PORT00_PIN13

#define LINE_FUEL_RES03 GPIO_OUT_PORT08_PIN10   //蜂鸣器

#define LINE_FUEL_RES04 GPIO_OUT_PORT08_PIN11   //左转  输入
#define LINE_FUEL_RES02 GPIO_OUT_PORT08_PIN12   //右转 输入

#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 POWER_CTRL_KL30_Current GPIO_OUT_PORT10_PIN14   //蓝牙

#define LeftturnSignal GPIO_OUT_APORT00_PIN11   //左转灯
#define RightturnSignal GPIO_OUT_APORT00_PIN10   //右转灯
#define highbeam GPIO_OUT_PORT10_PIN01   //远光灯
#define Lowbeam  GPIO_OUT_PORT10_PIN02 //近光
#define Bluetoothlight GPIO_OUT_PORT10_PIN14   //蓝牙灯
#define oldhighlight   GPIO_OUT_PORT10_PIN13   //old远光输出
#define oldlowlight    GPIO_OUT_PORT10_PIN10   //old近光输出

#define Press_to_up GPIO_OUT_PORT00_PIN00
#define Press_to_down GPIO_OUT_PORT00_PIN01
#define Positionlight GPIO_OUT_PORT00_PIN05

#define EN_5V_CUT_ENABLE GPIO_OUT_PORT00_PIN12

#define zuozhuanget      GPIO_IN_PORT10_PIN07       //左转指示灯输出检测
#define youzhuanget      GPIO_IN_APORT00_PIN15      //右转指示灯输出检测

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