forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-07 fa6053f85287163f6e2d5dba690bec05cbc95f4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#ifndef _VALVE_CONTROL_H_
#define _VALVE_CONTROL_H_
 
#include "define_all.h" 
#include "system_general_para.h"
 
/**********************IOÅäÖÃ********************************/
#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_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_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_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)
 
/**********************¿ØÖƲÎÊýºê¶¨Òå********************************/
//¹þµÂ»ù·§¿ª¹ØÊ±¼ä,×î´óʱ¼ä£¬³¬¹ý´ú±í³¬Ê±
#define    VALVE_HADE_RUN_TIME_DN25        105U
#define    VALVE_HADE_RUN_TIME_DN32        155U
#define    VALVE_HADE_RUN_TIME_DN40        155U
#define    VALVE_HADE_RUN_TIME_DN50        155U
#define    VALVE_HADE_RUN_TIME_DN80        285U
#define    VALVE_HADE_RUN_TIME_DN100        445U
#define    VALVE_HADE_RUN_TIME_DN150        490U
#define    VALVE_HADE_RUN_TIME_DN200        520U
 
 
typedef enum
{
    VM_NONE    = 0U,
    VM_PENGSHENG,  //ÅôÊ¢·§Ìå
    VM_HADE,             //¹þµÂ·§Ìå
} VALVE_TYPE; // ·§ÃÅÐͺÅ
 
 
typedef enum
{
  VALVE_NONE = 0U,
  VALVE_OPEN,
  VALVE_CLOSE,
  VALVE_OPENING,
  VALVE_CLOSING,
  VALVE_ERROR,
//    VALVE_MISSING = 99U
} VALVE_STATUS; // ·§ÃÅ״̬ÀàÐÍ
 
 
 
typedef enum
{
  VL_UNLOCK = 0U,
    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_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 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