/******************************************************************************
 * @file      gpio_manager.c
 * @brief     初始化gpio接口配置
 * @version    V1
 * @copyright    
 ******************************************************************************/
 
#ifndef BMS_GPIO_H_
#define BMS_GPIO_H_

#ifdef __cplusplus
extern "C" {
#endif 

#include "drv_gpio.h"

typedef enum
{
	/*DI枚举*/
	kGpioType_Di_Start,
	kGpioType_DI1 = kGpioType_Di_Start,
	kGpioType_DI2,
	kGpioType_DI3,
	kGpioType_DI4,
	kGpioType_DI5,
	kGpioType_DI6,
	kGpioType_DI7,
	kGpioType_DI8,
	kGpioType_DI9,
	kGpioType_DI10,
	kGpioType_DI11,
	kGpioType_DI12,
	kGpioType_Di_End,
	
	/*DO枚举*/
	kGpioType_DO_Start = kGpioType_Di_End,
	kGpioType_DO1 = kGpioType_DO_Start,
	kGpioType_DO2,
	kGpioType_DO3,
	kGpioType_DO4,
	kGpioType_DO5,
	kGpioType_DO6,
	kGpioType_DO7,
	kGpioType_DO8,
	kGpioType_DO9,   //低边1
	kGpioType_DO10,  //低边2 
	kGpioType_DO_End,
	
	/*RS485枚举*/
	kGpioType_RS485_Ch1_Tx_En = kGpioType_DO_End,
	kGpioType_RS485_Ch2_Tx_En,
	kGpioType_RS485_Ch3_Tx_En,
	kGpioType_Rs485_Ch1_Rx,
	kGpioType_Rs485_Ch1_Tx,
  kGpioType_Rs485_Ch2_Rx,
	kGpioType_Rs485_Ch2_Tx,
  kGpioType_Rs485_Ch3_Rx,
	kGpioType_Rs485_Ch3_Tx,

	kGpioType_WIRELESSUart_Rx,   //Sim卡/wifi/ble
  kGpioType_WIRELESSUart_Tx,	//Sim卡/wifi/ble

	/*CAN枚举*/
	kGpioType_Can_Ch1_Rx,
	kGpioType_Can_Ch1_Tx,
 	kGpioType_Can_Ch2_Rx,
	kGpioType_Can_Ch2_Tx,

	/*绝缘监测*/
	kGpioType_IsoS1,
	kGpioType_IsoS2,
	kGpioType_IsoS3,
	
	/*ADC枚举*/
	kGpioType_Adc24V,
	kGpioType_AdcNtc,  //板载温度
	kGpioType_AdcHall1,
	
	/*菊花链*/
	kGpioType_SPI1_Mosi,
	kGpioType_SPI1_Miso,
	kGpioType_SPI1_Clk,
	kGpioType_SP1_Cs_En1,  // LT6820 En1 低边片选
	kGpioType_SP1_Cs_En2,  // LT6820 En1 低边片选
	
	/*高压采集*/
	kGpioType_ADC_Reset,
	kGpioType_ADC_Mosi,
	kGpioType_ADC_Miso,
	kGpioType_ADC_Clk,
	kGpioType_ADC_Cs,
	
	/*以太网模块*/
	kGpioType_W5500Mosi,
	kGpioType_W5500Miso,
	kGpioType_W5500Clk,
	kGpioType_W5500Cs, 
	kGpioType_W5500Rst,
	kGpioType_W5500Int,
	kGpioType_End ,
}GpioType;

void bms_init_gpio(void);

#ifdef __cplusplus
}
#endif

#endif

