/******************************************************************************
版权所有：	
文件名称：	gpio.h
文件版本：	01.01
创建作者:	   sunxi
创建日期：	2008-07-09
功能说明：	gpio驱动程序。
其它说明：
修改记录：
*/
#ifndef _GPIO_H
#define _GPIO_H


/*------------------------------- 宏定义 --------------------------------------
*/
// 通道配置中控制板硬件地址(0~9)、外部接口之间关系
enum 
{
	DO_OUT0,	// KC-A1开出使能继电器
	DO_OUT1,	// KC-B1合闸继电器
	DO_OUT2,	// KC-A2跳闸继电器
	DO_OUT3,	// KC-B2备用
	DO_OUT4,	// KC-A3活化启动
	DO_OUT5,	// KC-B3活化退出
	DO_OUT6,	// KC-A4残压闭锁
	DO_OUT7, 	// KC-B4残压复归
	DO_OUT8,	// KC-A5活化退出
	DO_OUT9,	// KC-B5残压闭锁
	DO_NUM,// 支持的开出个数
};

// sunxi 20220413 added
enum
{
	// KOUT_EN0,
	// KOUT_EN1, //辅助板上的单片机控
	RUN_LED,
	ERR_LED,
	ESAM_PWR,		// 加密芯片电源
	// WATCHDOG,
	LINE_LOSS_SET,  // 线损维护口切换
	GPIO_NUM_OTHER,
};



/*------------------------------ 外部函数 -------------------------------------
*/
int gpio_init(void);
int gpio_exit(void);

unsigned int gpio_get_kin(unsigned int addr);
unsigned int gpio_get_wirelessin(void);
unsigned int gpio_get_version(void);
unsigned int gpio_get_addr(void);

// void gpio_watchdog_reset(void);
void _led_run_err(void);
void esam_power_ctrl(int on);

int gpio_test(void);
unsigned int gpio_get_di(void);
#ifdef DO_KOUT_CHECK
unsigned short gpio_di_fj(unsigned char index);
#else
unsigned short gpio_di_fj(void);
#endif
void gpio_kout_do(int on, unsigned int kout);
void gpio_pwm_do(int on, unsigned int kout);
					
#endif
/*------------------------------ 文件结束 -------------------------------------
*/
