#ifndef _GPIOUSER_H_
#define _GPIOUSER_H_

#define GpioOut_High RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_HIGH
#define GpioOut_Low RTE_GPIO_DIR_OUT | RTE_GPIO_LEVEL_LOW
/* GPIO映射 */
#define L_Fuel_POW                RTE_GPIO_PORT00_PIN00   
#define KL15_AD_IN                RTE_GPIO_PORT00_PIN01   
#define SD_1                       RTE_GPIO_PORT00_PIN02   
#define CSB_1                      RTE_GPIO_PORT00_PIN03   
#define SCL_1                      RTE_GPIO_PORT00_PIN04   
#define L_BiasBitSW_100           RTE_GPIO_PORT00_PIN05   
#define L_BiasBitSW_10            RTE_GPIO_PORT00_PIN06   

#define Blacklight_PWM            RTE_GPIO_PORT01_PIN00   
#define RXD_ESP_IN_MCU            RTE_GPIO_PORT01_PIN01   
#define TXD_ESP_IN_MCU            RTE_GPIO_PORT01_PIN02   
#define NONE_3                     RTE_GPIO_PORT01_PIN03   
#define SCL_IIC                   RTE_GPIO_PORT01_PIN04   
#define SDA_IIC                   RTE_GPIO_PORT01_PIN05   
#define ESpeed_IOC                RTE_GPIO_PORT01_PIN06   
#define VSpeed_IOC                RTE_GPIO_PORT01_PIN07   

#define AVDD                      RTE_GPIO_PORT02_PIN00   
#define GND                       RTE_GPIO_PORT02_PIN01   
#define KL30_AD_MCU_IN            RTE_GPIO_PORT02_PIN02   
#define KL15_AD_MCU_IN            RTE_GPIO_PORT02_PIN03   
#define TCS                       RTE_GPIO_PORT02_PIN04   
#define Fuel_AD_IN_MCU            RTE_GPIO_PORT02_PIN05   
#define Water_Temperature         RTE_GPIO_PORT02_PIN06   
#define BiasBitSW_Fuel            RTE_GPIO_PORT02_PIN07   

#define Diagnosis               RTE_GPIO_PORT03_PIN00   
#define SDB_LED_DRIVER            RTE_GPIO_PORT03_PIN01   

#define SWDIO                     RTE_GPIO_PORT04_PIN00   
#define Smart_Lock                RTE_GPIO_PORT04_PIN01   
#define MODE_IN_MCU               RTE_GPIO_PORT04_PIN02   
#define SET_IN_MCU                RTE_GPIO_PORT04_PIN03   

#define MCU_OUT_2CH_20k           RTE_GPIO_PORT05_PIN00   
#define MCU_OUT_1CH_200           RTE_GPIO_PORT05_PIN01   
#define Position                  RTE_GPIO_PORT05_PIN02   
#define Right_Turn                RTE_GPIO_PORT05_PIN03   
#define Left_Turn                 RTE_GPIO_PORT05_PIN04   
#define High_Beam                 RTE_GPIO_PORT05_PIN05   

#define SCL                       RTE_GPIO_PORT06_PIN00   
#define SDA                       RTE_GPIO_PORT06_PIN01   
#define SCL_MCU                   RTE_GPIO_PORT06_PIN02   
#define SDA_MCU                   RTE_GPIO_PORT06_PIN03   

#define SCL_2                      RTE_GPIO_PORT07_PIN00   
#define CSB_2                      RTE_GPIO_PORT07_PIN01   
#define SD_2                       RTE_GPIO_PORT07_PIN02   
#define L_BiasBitSW_10000         RTE_GPIO_PORT07_PIN03   
#define L_BiasBitSW_1000          RTE_GPIO_PORT07_PIN04   
#define ABS                       RTE_GPIO_PORT07_PIN05   
#define RXD_2                      RTE_GPIO_PORT07_PIN06   
#define TXD_2                      RTE_GPIO_PORT07_PIN07   

#define L_BiasBitSW_POW           RTE_GPIO_PORT12_PIN00 
#define X_1                        RTE_GPIO_PORT12_PIN01 
#define X_2_EXCLK                  RTE_GPIO_PORT12_PIN02 
#define XT_1                       RTE_GPIO_PORT12_PIN03 
#define XT_2                       RTE_GPIO_PORT12_PIN04 

#define NONE_2                    RTE_GPIO_PORT13_PIN00 
#define Neutral                   RTE_GPIO_PORT13_PIN06 
#define SWCLK                     RTE_GPIO_PORT13_PIN07 

#define L_BD433Ctrl_OUT           RTE_GPIO_PORT14_PIN00 
#define L_BiasBitSW_Fuel_OUT      RTE_GPIO_PORT14_PIN01 
#define A_Version                 RTE_GPIO_PORT14_PIN06 
#define NONE_1                     RTE_GPIO_PORT14_PIN07 

typedef enum
{
    Gpio_KL30_Init = 0,
    Gpio_WakeUp_Init,
    Gpio_Sleep_Init,
    Gpio_Uvalid,
}_GpioUser_Enum;

extern void Gpio_Init(_GpioUser_Enum InitMode);

#endif
