/*
 * gpio.h
 *
 *  Created on: 2024年7月1日
 *      Author: psx
 */
#ifndef HARDWARE_INC_GPIO_H_
#define HARDWARE_INC_GPIO_H_

#include "debug.h"

/* 控制太阳能板导通mos */
/* 低电平mos管导通 */
/* G_FFMOS_CON1  -->  PA15 */
#define G_FFMOS_CON1_GPIO GPIOA
#define G_FFMOS_CON1_PIN GPIO_Pin_15
/* G_FFMOS_CON2  -->  PB3 */
#define G_FFMOS_CON2_GPIO GPIOB
#define G_FFMOS_CON2_PIN GPIO_Pin_3
void G_FFMOS_CON_Init(void);

/* 运行指示灯 */
/* RUN_LED  -->  PA8 */
#define RUN_LED_GPIO GPIOA
#define RUN_LED_PIN GPIO_Pin_8
void RUN_LED_Init(void);

/* 看门狗 */
/* WDI_INPUT  -->  PC13 */
/* 硬件新版本改为 WDI_INPUT  -->  PA11 */
#define WDI_INPUT_GPIO GPIOA
#define WDI_INPUT_PIN GPIO_Pin_11
void WDI_INPUT_Init(void);

/* 无源蜂鸣器控制引脚 */
/* BEEP  -->  PA12 */
#define BEEP_GPIO GPIOA
#define BEEP_PIN GPIO_Pin_12
void BEEP_Init(void);

/* 控制放电引脚 */
/* 低电平关闭 */
/* POW_OUT_CON  -->  PB8 */
#define POW_OUT_CON_GPIO GPIOB
#define POW_OUT_CON_PIN GPIO_Pin_8
void POW_OUT_CON_Init(void);

/* 过流保护 */
/* DSG_PROT  -->  PB2 */
/* 放电过流时为低电平,进入中断处理 */
#define DSG_PROT_GPIO GPIOB
#define DSG_PROT_PIN GPIO_Pin_2
void DSG_PROT_Init(void);

///*  */
///* PV_VOLTOUT_INT  -->  PA12 */
///* 电压过低时, */
//#define DSG_PROT_GPIO GPIOB
//#define DSG_PROT_PIN GPIO_Pin_2
//void DSG_PROT_Init(void);


/* 给泵电路电容充电 */
/* EnPowerSupply  -->  PB7 */
#define EnPowerSupply_GPIO GPIOB
#define EnPowerSupply_PIN GPIO_Pin_3
void EnPowerSupply_Init(void);

/* 电压低于11V进入中断 */
/* WORK_VOLT_INT  -->  PA12 */
#define WORK_VOLT_INT_GPIO GPIOA
#define WORK_VOLT_INT_PIN GPIO_Pin_12
void WORK_VOLT_INT_open(void);
void WORK_VOLT_INT_close(void);
void WORK_VOLT_INT_Init(void);

/* 防反mos的控制 */
/* POW_FF_CON  -->  PA15 */
#define POW_FF_CON_GPIO GPIOA
#define POW_FF_CON_PIN GPIO_Pin_15
void POW_FF_CON_Init(void);

#endif /* HARDWARE_INC_GPIO_H_ */