133 lines
3.8 KiB
C
133 lines
3.8 KiB
C
|
/*******************************************************************************
|
|||
|
* @Copyright (c) :(C)2017, Qingdao ieslab Co., Ltd
|
|||
|
* @FileName :GP22Gas_valve_driver.h
|
|||
|
* @Author :Kv-L
|
|||
|
* @Version :V1.0
|
|||
|
* @Date :2017<EFBFBD><EFBFBD>5<EFBFBD><EFBFBD>9<EFBFBD><EFBFBD> 13:30:23
|
|||
|
* @Description :the function of the entity of GP22Gas_valve_driver.h
|
|||
|
*******************************************************************************/
|
|||
|
|
|||
|
/* Define to prevent recursive inclusion -------------------------------------*/
|
|||
|
#include "sys_config.h"
|
|||
|
|
|||
|
#ifndef VALVE_DRIVER_H
|
|||
|
#define VALVE_DRIVER_H
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
/* Includes ------------------------------------------------------------------*/
|
|||
|
#include "sys_config.h"
|
|||
|
#include "ddl.h"
|
|||
|
#include "type.h"
|
|||
|
//#include "UWater_frame_app.h"
|
|||
|
|
|||
|
/*EEP<45><50>ַӳ<D6B7><D3B3>*/
|
|||
|
//#define VALVE_ADDR_BASE EEP_BASE_VALVE /*<2A><>ϵͳȷ<CDB3><C8B7>*/
|
|||
|
//#define VALVE_ERR_BASE (VALVE_ADDR_BASE + 1)
|
|||
|
|
|||
|
#define CHANNEL_VALVE_CHECK 13 /*ref ADC_channels HD 2020-09-16*/
|
|||
|
|
|||
|
#define VALVE_PAUSE_TIME 200 /*<2A><>ͣʱ<CDA3><CAB1>1s<31><73>ѡ<EFBFBD><D1A1>5ms<6D><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>TIMER_5MS_VALVE*/
|
|||
|
#define VALVE_CHECK_TIME 100 /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>0.5s<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>5ms<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>TIMER_5MS_VALVE*/
|
|||
|
#define VALVE_ERROR_MAX 2 /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>*/
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>adc<64><63>ѹ<EFBFBD><D1B9>Ϣ
|
|||
|
#define VALVE_HIGH_POWER 1 //<2F><>ת
|
|||
|
#define VALVE_NORMAL_POWER 0 //<2F><><EFBFBD><EFBFBD>
|
|||
|
//<2F><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ADֵ
|
|||
|
#define VALVE_HOGH_ADC_VALUE (280/2) //(ʵ<><CAB5><EFBFBD><EFBFBD>תADC=310,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0.5R-><3E><>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>370mA;<3B>趨<EFBFBD><E8B6A8>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>280mA-->0.5R<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--->ADC=230;150mA--->0.5R--->adc=123)
|
|||
|
#define VALVE_HOGH_ADC_VALUE_MIN (123/2)//123--->150mA
|
|||
|
#define VALVE_HOGH_ADC_VALUE_MAX (287/2)//287--->350mA
|
|||
|
|
|||
|
#if (MODULE_ML302_TCP|MODULE_ML307A_TCP)
|
|||
|
#define NEW_STA_PORT GpioPortA
|
|||
|
#define NEW_STA_PIN GpioPin4
|
|||
|
|
|||
|
#define NEW_STA_OP_PORT GpioPortF
|
|||
|
#define NEW_STA_OP_PIN GpioPin1
|
|||
|
#else
|
|||
|
#define NEW_STA_PORT GpioPortC //<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><E2B9A9>
|
|||
|
#define NEW_STA_PIN GpioPin1
|
|||
|
|
|||
|
#define NEW_STA_OP_PORT GpioPortA
|
|||
|
#define NEW_STA_OP_PIN GpioPin7
|
|||
|
#endif
|
|||
|
#define NEW_VALVE_NSLEEP_PORT GpioPortB
|
|||
|
#define NEW_VALVE_NSLEEP_PIN GpioPin7
|
|||
|
|
|||
|
#define NEW_VALVE_OPEN_PORT GpioPortF
|
|||
|
#define NEW_VALVE_OPEN_PIN GpioPin5
|
|||
|
|
|||
|
#define NEW_VALVE_CLOSE_PORT GpioPortF
|
|||
|
#define NEW_VALVE_CLOSE_PIN GpioPin4
|
|||
|
|
|||
|
#define NEW_VALVE_V_CHECK_PORT GpioPortC
|
|||
|
#define NEW_VALVE_V_CHECK_PIN GpioPin3
|
|||
|
|
|||
|
#define NEW_STA_CL_PORT GpioPortA
|
|||
|
#define NEW_STA_CL_PIN GpioPin6
|
|||
|
|
|||
|
/*״̬<D7B4><CCAC>״̬*/
|
|||
|
enum{
|
|||
|
VALVE_IDLE = 0,
|
|||
|
VALVE_S1,
|
|||
|
VALVE_S2,
|
|||
|
VALVE_S3,
|
|||
|
VALVE_S4
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
/*/<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>*/
|
|||
|
#define VALVE_TO_OPEN 0x55 /*<2A><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>*/
|
|||
|
#define VALVE_TO_CLOSE 0x99 /*<2A>ط<EFBFBD>ָ<EFBFBD><D6B8>*/
|
|||
|
#define VALVE_TO_HALF_OPEN 0xAA /*<2A>뿪<EFBFBD><EBBFAA>ָ<EFBFBD><D6B8>*/
|
|||
|
#define VALBE_CLOSE_GENERAL 0xBB //<2F><>ͨ<EFBFBD>ط<EFBFBD>
|
|||
|
#define VALBE_CLOSE_LOCK 0xCC //Ȩ<>ط<DEB9>
|
|||
|
|
|||
|
|
|||
|
/*<2A><><EFBFBD><EFBFBD>״̬*/
|
|||
|
enum{
|
|||
|
VALVE_STATE_OPEN = 1, //<2F><>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>״̬
|
|||
|
VALVE_STATE_OPEN_EMERGENCY, //Ӧ<><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
VALVE_STATE_CLOSE, //<2F><>ͨ<EFBFBD>ط<EFBFBD>
|
|||
|
VALVE_STATE_CLOSE_EMERGENCY, //Ӧ<><D3A6><EFBFBD>ط<EFBFBD>
|
|||
|
VALVE_STATE_CLOSE_LOCK //Ȩ<>ط<DEB9>
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
/*<2A><>λ*/
|
|||
|
#define VALVE_IN_PLACE 0 /*<2A><><EFBFBD>ŵ<EFBFBD>λ*/
|
|||
|
#define VALVE_NOT_IN_PLACE 1 /*<2A><><EFBFBD>ŵ<EFBFBD>λ*/
|
|||
|
|
|||
|
/**<2A><><EFBFBD>λ*/
|
|||
|
#define VALVE_STA_CL Gpio_GetInputIO(NEW_STA_CL_PORT, NEW_STA_CL_PIN)
|
|||
|
#define VALVE_STA_OP Gpio_GetInputIO(NEW_STA_OP_PORT, NEW_STA_OP_PIN)
|
|||
|
|
|||
|
|
|||
|
#define OPEN_POWER_ON 0
|
|||
|
#define OPEN_POWER_OFF 1
|
|||
|
#define CLOSE_POWER_ON 0
|
|||
|
#define CLOSE_POWER_OFF 1
|
|||
|
|
|||
|
|
|||
|
void ValveStartTask(u8 state);
|
|||
|
void ValveInit(void);
|
|||
|
void ValveActMachineDriver(void);
|
|||
|
void ValveMachineDriver(void);
|
|||
|
void ValveAdcMachineDriver(void);
|
|||
|
u8 ValveIfIdle(void);
|
|||
|
u8 ValveIfSleep(void);
|
|||
|
void ValvePreSleep(void);
|
|||
|
void ValveWakeSleep(void);
|
|||
|
u8 ValveGetState(void);
|
|||
|
u8 ValveGetLineInSpace(void);
|
|||
|
void ValveUpdatePara(void);
|
|||
|
void ValveStoreRcvState(u8 state);
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
#endif
|
|||
|
|