forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-07 fa6053f85287163f6e2d5dba690bec05cbc95f4a
Function/VALVE/valve_control.h
@@ -2,27 +2,30 @@
#define _VALVE_CONTROL_H_
#include "define_all.h" 
#include "system_general_para.h"
/**********************IOÅäÖÃ********************************/
#define   Motor_A_PIN               GPIO_Pin_10
#define   Motor_A_PORT               GPIOE
#define   Motor_A_PIN               GPIO_Pin_8
#define   Motor_A_PORT               GPIOB
#define Motor_A_HIGH                   GPIO_SetBits(Motor_A_PORT,Motor_A_PIN)
#define Motor_A_LOW                   GPIO_ResetBits(Motor_A_PORT,Motor_A_PIN)
#define   Motor_B_PIN               GPIO_Pin_10
#define   Motor_B_PORT               GPIOE
#define Motor_B_HIGH                   GPIO_SetBits(Motor_A_PORT,Motor_A_PIN)
#define Motor_B_LOW                   GPIO_ResetBits(Motor_A_PORT,Motor_A_PIN)
#define   Motor_B_PIN               GPIO_Pin_9
#define   Motor_B_PORT               GPIOB
#define Motor_B_HIGH                   GPIO_SetBits(Motor_B_PORT,Motor_B_PIN)
#define Motor_B_LOW                   GPIO_ResetBits(Motor_B_PORT,Motor_B_PIN)
#define   Motor_OP_PIN              GPIO_Pin_9
#define   Motor_OP_PORT              GPIOE
#define   Motor_OP_PIN              GPIO_Pin_6
#define   Motor_OP_PORT              GPIOB
#define   Motor_OP_IO_READ               GPIO_ReadInputDataBit(Motor_OP_PORT,Motor_OP_PIN)
#define   Motor_CL_PIN              GPIO_Pin_9
#define   Motor_CL_PORT              GPIOE
#define   Motor_CL_IO_READ               GPIO_ReadInputDataBit(Motor_OP_PORT,Motor_OP_PIN)
#define   Motor_CL_PIN              GPIO_Pin_7
#define   Motor_CL_PORT              GPIOB
#define   Motor_CL_IO_READ               GPIO_ReadInputDataBit(Motor_CL_PORT,Motor_CL_PIN)
#define   VALVE_FORCE_OPEN_PIN         GPIO_Pin_12
#define   VALVE_FORCE_OPEN_PORT              GPIOC
#define   VALVE_FORCE_OPEN_IO_READ               GPIO_ReadInputDataBit(VALVE_FORCE_OPEN_PORT,VALVE_FORCE_OPEN_PIN)
/**********************¿ØÖƲÎÊýºê¶¨Òå********************************/
//¹þµÂ»ù·§¿ª¹ØÊ±¼ä,×î´óʱ¼ä£¬³¬¹ý´ú±í³¬Ê±
@@ -47,13 +50,15 @@
typedef enum
{
  VALVE_NONE = 0U,
  VALVE_OP,
  VALVE_CL,
  VALVE_OPEN,
  VALVE_CLOSE,
  VALVE_OPENING,
  VALVE_CLOSING,
  VALVE_ERROR,
   VALVE_MISSING = 99U
//   VALVE_MISSING = 99U
} VALVE_STATUS; // ·§ÃÅ״̬ÀàÐÍ
typedef enum
{
@@ -61,21 +66,48 @@
   VL_LOCK
} VALVE_LOCK_STATE_T; // ·§ÃÅ״̬ÀàÐÍ
typedef enum
{
   VC_NONE   = 0U,
   VC_CLOSE,
   VC_CLOSE_AND_LOCK,   //¹Ø·§²¢Ëø¶¨
  VC_OPEN ,
   VC_LOCK,             //Ëø¶¨
   VC_UNLOCK,             //½âËø
   VC_FORCE_OPEN
} VALVE_CTRL_TYPE_T; // ·§ÃÅÃüÁîÀàÐÍ
typedef enum
{
   VALVE_CTRL_SOURCE_WRC = 1U,   //Ô¶´«¿ØÖÆ
   VALVE_CTRL_SOURCE_AUTO,        //ÖÕ¶Ë×ÔÉí×Ô¶¯¿ØÖÆ
   VALVE_CTRL_SOURCE_KEY,                     //°´¼ü¿ØÖÆ
   VALVE_CTRL_SOURCE_UP_COMM,                     //ÉÏλ»ú¿ØÖÆ
   VALVE_CTRL_FORCE_OPEN
} VALVE_CTRL_SOURCE_T; // ·§ÃÅ¿ØÖÆÀ´Ô´
typedef struct{
   
   VALVE_STATUS   valve_status;
//   VALVE_STATUS   valve_status;
   VALVE_CTRL_TYPE_T   valve_ctrl_order;
   VALVE_CTRL_SOURCE_T valve_ctrl_source;
   uint16_t   open_time_cnt;
   uint16_t   close_time_cnt;
   
   FlagStatus   force_open_status;
}VALVE_CTRL_PARA_T;
extern __IO VALVE_CTRL_PARA_T   valve_ctrl_para_g;
void   valveCtrlPro(void);
void  ValveRunParaInit(void);
void Valve_CTRL_GPIO_Init(void);
void   valveCtrlPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p);
void  ValveRunParaInit(VALVE_TYPE valve_type_in);
void ValveMotorStop(void);
ErrorStatus ValveCtrlOrder(VALVE_CTRL_TYPE_T valve_ctrl_order_l,VALVE_CTRL_SOURCE_T valve_ctrl_source)  ;
#endif