forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-05-30 a1810b89e66f184c62a0588ae7d57c91d0c376e8
Soft/system_general_para.h
@@ -1,6 +1,7 @@
#ifndef _SYSTEM_GENERAL_PARA_H
#define _SYSTEM_GENERAL_PARA_H
#include "define_all.h"
#include "extern_rtc.h"
/**************************************************
*Ö÷Òª¶¨ÒåһЩͨÓõĺ¯Êý¡¢±äÁ¿
@@ -23,7 +24,7 @@
   DM_HCM_UFG220 = 0x10U,   //È¼Æø±í
   DM_HCM_UFG620,
   DM_HCM_UFG630,
} DEVICE_MODEL; // É豸ÐͺÅ
} DEVICE_TYPE; // É豸ÐͺÅ
typedef enum
{
@@ -36,15 +37,7 @@
   DN25_TYPE,
   DN32_TYPE,
   DN40_TYPE,
} CALIBER_MODEL; // ¿Ú¾¶
typedef enum
{
   VM_NONE   = 0U,
   VM_PENGSHENG,  //ÅôÊ¢·§Ìå
   VM_HADE,          //¹þµÂ·§Ìå
} VALVE_MODEL; // ·§ÃÅÐͺÅ
} CALIBER_TYPE; // ¿Ú¾¶
typedef enum
{
@@ -53,32 +46,69 @@
   EM_IFRCT,   //Ò»ÌåÁ÷Á¿Ô¶´«¿ØÖÆÖÕ¶Ë
   EM_SIFRTT,  //·ÖÌåʽÁ÷Á¿Ô¶´«ÖÕ¶Ë
   EM_SIFRCT,   //·ÖÌåÁ÷Á¿Ô¶´«¿ØÖÆÖÕ¶Ë
} EQUIPMENT_MODEL; // ·§ÃÅÐͺÅ
} EQUIPMENT_TYPE; // ·§ÃÅÐͺÅ
typedef enum
{
  VALVE_NONE = 0U,
  VALVE_OP,
  VALVE_CL,
  VALVE_OPENING,
  VALVE_CLOSING,
  VALVE_ERROR,
   VALVE_MISSING = 99U
} VALVE_STATE_T; // ·§ÃÅ״̬ÀàÐÍ
typedef enum
{
  VL_UNLOCK = 0U,
   VL_LOCK
} VALVE_LOCK_STATE_T; // ·§ÃÅ״̬ÀàÐÍ
  BM_NONE = 0U,
  BM_DEVICE,      // É豸¶Ë
  BM_PLATFORM     // Æ½Ì¨¶Ë
} BILLING_MODE_T; // ¼Æ·Ñģʽ
//Êý¾ÝÀàÐÍ´óС¶Ë
typedef enum
{
  LITTLE_ENDIAN = 0U,
   BIG_ENDIAN
} BIG_OR_LITTLE_ENDIAN; // ·§ÃÅ״̬ÀàÐÍ
} BIG_OR_LITTLE_ENDIAN; //Êý¾ÝÀàÐÍ´óС¶Ë
typedef enum
{
  FLOW_METER_CONN_NONE = 0U,
   FLOW_METER_CONN_PULSE,
   FLOW_METER_CONN_RS485,
   FLOW_METER_CONN_RS485_AND_PULSE
} FLOW_METER_CONN_TYPE; //Á÷Á¿¼ÆÁ¬½Ó·½Ê½
typedef enum
{
  BAUDRATE_1200 = 0U,
   BAUDRATE_2400 ,
   BAUDRATE_4800 ,
   BAUDRATE_9600 ,
   BAUDRATE_19200 ,
   BAUDRATE_38400 ,
   BAUDRATE_56000 ,
   BAUDRATE_57600 ,
   BAUDRATE_115200
} BAUDRATE_CODE; //²¨ÌØÂÊ
typedef enum
{
  PARITY_NONE = 0U,
   PARITY_ODD ,
   PARITY_EVEN ,
} PARITY_BIT; //²¨ÌØÂÊ
typedef enum
{
   RS485_START_REASON_NONE = 0U,  //ÎÞ´¥·¢£¬²»ÐèÒªÖ´ÐÐ
  RS485_START_REASON_KEY ,  //°´¼ü
   RS485_START_REASON_TIMING,    //¶¨Ê±
   RS485_START_REASON_REPORT,    //Éϱ¨ÐèÒª
   RS485_START_REASON_RECORD,    //±£´æ¼Ç¼ÐèÒª£¬¿ÉÓÃÓÚÉϱ¨¶³½áµÈÇé¿ö
} RS485_START_REASON; //485Æô¶¯Ô­Òò
typedef enum
{
  LDM_KEY_AWAKEN = 0U, // °´¼ü»½ÐÑ
  LDM_ALWAYS_AWAKEN,   // ³£ÏÔ
  LDM_FLOW_AWAKEN      // ÓÐÁ÷Á¿»½ÐÑ
} LCD_DISPLAY_MODE_T;  // LCDÆÁÄ»ÏÔʾģʽÀàÐÍ
/*****************ͨÓýṹÌå²ÎÊý******************************/
@@ -91,7 +121,7 @@
typedef struct
{
  DELAY_SEC_TYPE_T gprs_timeout_para;     // GPRS³¬Ê±Ê±¼ä
  DELAY_SEC_TYPE_T wrc_timeout_para;     // GPRS³¬Ê±Ê±¼ä
  DELAY_SEC_TYPE_T sys_active_time;       // ÏµÍ³¼¤»îʱ¼ä
   DELAY_SEC_TYPE_T sys_restart_delay_time;// ÏµÍ³ÖØÆôµÄÑÓ³Ùʱ¼ä
   DELAY_SEC_TYPE_T UC_active_time;       // ÉÏλ»ú¼¤»îʱ¼ä
@@ -99,8 +129,20 @@
typedef struct
{
  __IO FlagStatus start_flag;  // ¹¦ÄÜÆô¶¯±êÖ¾
  __IO FlagStatus running_flag; // ¹¦ÄÜÔËÐÐÖбêÖ¾
} FUN_START_CTRL_T;         // ÑÓʱʱ¼äÀàÐͽṹÌå
typedef struct
{
  FUN_START_CTRL_T rs485_ctrl_flag;
  FUN_START_CTRL_T wrc_ctrl_flag;
   FUN_START_CTRL_T valve_ctrl_flag;
} FUN_START_CTRL_PARA_T;         // ÑÓʱʱ¼äÀàÐͽṹÌå
/*****************ͨÓúê******************************/
@@ -108,6 +150,9 @@
#define   DECIMAL_2_BCD(__DECIMAL__)    ((__DECIMAL__ / 16) * 10 + __DECIMAL__ % 16)
/*ÿÈÕ0µã*/
#define DAILY_ZERO ((&sys_clockBCD_g)->hour == 0 && (&sys_clockBCD_g)->min == 0 && (&sys_clockBCD_g)->sec == 0 ? SET : RESET)
// ´óС¶Ëת»»
#define BSWAP_16(x) ((x & 0x00ff) << 8) | \
@@ -134,7 +179,7 @@
// ÏµÍ³Í¨ÓÃÑÓ³Ùʱ¼äÉèÖÃ
#define __SYS_DELAY_SEC_TIME_SET_(__HANDLE__, __NUMBER__) ((&sys_delay_sec_para_g)->__HANDLE__.delay_time = __NUMBER__)
#define __SYS_DELAY_SEC_TIME_SET_(__HANDLE__, __NUMBER__) do{(&sys_delay_sec_para_g)->__HANDLE__.delay_time = __NUMBER__;__SYS_DELAY_SEC_FLAG_CLEAR_(__HANDLE__);}while(0);
// ÏµÍ³Í¨ÓÃÑÓ³Ùʱ¼ä»ñÈ¡
#define __SYS_DELAY_SEC_TIME_GET_(__HANDLE__)   ((&sys_delay_sec_para_g)->__HANDLE__.delay_time)
@@ -159,35 +204,13 @@
//ÈÕÖ¾ÔËÐвÎÊý
typedef struct log_sizhu_run_t
{
   uint16_t      log_count;
  uint32_t     log_addr_save;
  uint32_t     log_addr_begin;
}LOG_SIZHU_RUN_T;
//extern uint8_t read_data_buf_A_l[200];
//extern uint8_t read_data_buf_B_l[200];
//extern uint8_t read_data_buf_C_l[200];
extern __IO FlagStatus sys_run_period; // ÏµÍ³¼¤»îÖÜÆÚ
extern SYS_DELAY_SEC_PARA_T sys_delay_sec_para_g;
extern SYS_DELAY_SEC_PARA_T sys_delay_sec_para_g;  //ϵͳÑÓʱ¿ØÖÆ
extern FUN_START_CTRL_PARA_T sys_fun_run_ctrl_g;  //ϵͳ¹¦ÄÜÔËÐпØÖÆ
@@ -197,7 +220,7 @@
int mem_cmp_aray( const void * cs, const void * ct, u32 count );
//int mem_cmp_aray( const void * cs, const void * ct, u32 count );
uint8_t   TwoTimeCompara(uint8_t* TimeBCD1, uint8_t* TimeBCD2);//6×Ö½ÚBCDʱ¼äÓ뵱ǰʱ¼ä±È½Ï£¬µ±Ç°Ê±¼ä´ó·µ»Ø0£¬ÏàµÈ·µ»Ø1£¬µ±Ç°Ê±¼äС·µ»Ø2¡£  ´ËÍ⣬ËÑË÷µÄʱ¼ä¸ñʽÎÞЧҲ·µ»Ø0£¬¼ÌÐøËÑË÷¡£
@@ -205,5 +228,11 @@
//unsigned char HEX2BCD(unsigned char hex_data)  ; //HEX??BCD???     
void   dou26Byte( double data, unsigned char *array );
FlagStatus IntervalTriggerHandle(sClockBCD sys_clockBCD_in,uint16_t IntervalTime,uint8_t IntervalFirstTimeBCD[2]);
FlagStatus IO_JitterEliminationCheck(GPIO_Type* GPIOx, uint32_t GPIO_Pin,uint16_t delay_time_ms,BitAction bit_status);
int Datecmp(const uint8_t *pDate1, const uint8_t *pDate2);
#endif