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

/*------------------------------- 宏定义 --------------------------------------
 */
// 通道配置中控制板硬件地址(0~9)、外部接口之间关系
enum
{
    DO_OUT0 = 0,   // KC 保护跳闸
    DO_OUT1,       // KC 保护合闸
    DO_OUT2,       // KC 遥控分闸
    DO_OUT3,       // KC 遥控合闸
    DO_OUT4,       // KC 残压模块复归
    DO_OUT5,       // KC 备用1
    DO_OUT6,       // KC 备用2
    DO_OUT7,       // KC 备用3
    DO_OUT_PRESET, // KC 预置继电器 只能控制前4个
    DO_IN_PRESET,  // KC 预置继电器 返校状态

    DO_NUM, // 支持的开出个数
};

// sunxi 20220413 added
enum
{
    GPIO_INT_M1 = DO_NUM,
    GPIO_INT_M3,
    GPIO_INT_M4,
    GPIO_NUM_TOTAL,
};

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

unsigned int gpio_get_wirelessin(void);
unsigned int gpio_get_version(void);
unsigned int gpio_get_addr(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
int gpio_kout_do(int on, unsigned int kout);

extern int gpioio_get_gpio_status(uint8_t _uc_idx);

#endif
/*------------------------------ 文件结束 -------------------------------------
 */
