From b39a40b0191e0a8b155db74e885ff66e17b91896 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Thu, 06 Jun 2024 19:25:15 +0800
Subject: [PATCH] 继续完善

---
 Soft/system_general_para.h |  197 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 139 insertions(+), 58 deletions(-)

diff --git a/Soft/system_general_para.h b/Soft/system_general_para.h
index d6e2459..8ae0146 100644
--- a/Soft/system_general_para.h
+++ b/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,72 +46,154 @@
 	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��Ļ��ʾģʽ����
+
+
+/*****************ͨ�ýṹ�����******************************/
+typedef struct
+{
+  __IO FlagStatus delay_flag;  // ��ʱʱ�䵽��־λ
+  __IO uint16_t delay_time; // ��ʱ����ʱ��
+} DELAY_SEC_TYPE_T;         // ��ʱʱ�����ͽṹ��
+
+typedef struct
+{
+
+  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;       // ��λ������ʱ��
+} SYS_DELAY_SEC_PARA_T;
 
 
 
+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;         // ��ʱʱ�����ͽṹ��
+
+
+/*****************ͨ�ú�******************************/
 #define	BCD_2_DECIMAL(__BCD__)	 ((__BCD__ / 16) * 10 + __BCD__ % 16)
 
 #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) | \
+                        ((x & 0xff00) >> 8)
+
+#define BSWAP_32(x) ((x & 0xff000000) >> 24) |    \
+                        ((x & 0x00ff0000) >> 8) | \
+                        ((x & 0x0000ff00) << 8) | \
+                        ((x & 0x000000ff) << 24)
+
+
+#define BSWAP_64(x) ((x & 0xff00000000000000) >> 56) |     \
+                        ((x & 0x00ff000000000000) >> 40) | \
+                        ((x & 0x0000ff0000000000) >> 24) | \
+                        ((x & 0x000000ff00000000) >> 8) |  \
+                        ((x & 0x00000000ff000000) << 8) |  \
+                        ((x & 0x0000000000ff0000) << 24) | \
+                        ((x & 0x000000000000ff00) << 40) | \
+                        ((x & 0x00000000000000ff) << 56)
+
+/*�ó��ṹ���Աƫ�����ʹ�С*/
+#define OFFSET_OF(type, member) ((size_t) & (((type *)0))->member)
+#define SIZEOF_OF(type, member) (sizeof(((type *)0))->member)
+
+
+// ϵͳͨ���ӳ�ʱ������
+#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)
+
+// ϵͳͨ���ӳٱ�־λget
+#define __SYS_DELAY_SEC_FLAG_GET(__HANDLE__) ((&sys_delay_sec_para_g)->__HANDLE__.delay_flag)
+// ϵͳͨ���ӳٱ�־λ����
+#define __SYS_DELAY_SEC_FLAG_SET_(__HANDLE__) ((&sys_delay_sec_para_g)->__HANDLE__.delay_flag = SET)
+// ϵͳͨ���ӳٱ�־λ���
+#define __SYS_DELAY_SEC_FLAG_CLEAR_(__HANDLE__) ((&sys_delay_sec_para_g)->__HANDLE__.delay_flag = RESET)
 
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//��־���в���
-typedef struct log_sizhu_run_t
-{
-	uint16_t   	log_count;
-  uint32_t  	log_addr_save;
-  uint32_t  	log_addr_begin;
-	
-}LOG_SIZHU_RUN_T;
 
 
 
@@ -134,8 +209,8 @@
 //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 FUN_START_CTRL_PARA_T sys_fun_run_ctrl_g;  //ϵͳ�������п���
 
 
 
@@ -145,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������������
 
@@ -153,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
 

--
Gitblit v1.9.3