From 71f8bdb7c63acc381d71105bb950411029f4250f Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Mon, 03 Jun 2024 20:00:58 +0800
Subject: [PATCH] 测试远传

---
 Function/STORAGE/system_mem_para.c |  151 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 105 insertions(+), 46 deletions(-)

diff --git a/Function/STORAGE/system_mem_para.c b/Function/STORAGE/system_mem_para.c
index b399d86..82cc18b 100644
--- a/Function/STORAGE/system_mem_para.c
+++ b/Function/STORAGE/system_mem_para.c
@@ -1,30 +1,40 @@
 #include "system_mem_para.h"
-#include "mbcrc.h"
+#include "mbcrc1.h"
 #include "eeprom.h"
 #include "system_eep_mem_manage.h"
 #include "rs485_data_analysis_pro.h"
 
-SYSTEM_EEP_IDENTIFICATION_T system_eep_id_g;
-EQUIPMENT_BASIC_INF_T 			    equipment_basic_inf_g={ .product_type= DM_SCM_SZV103,		\
-																												.caliber_type = DN50_TYPE,			\
-																												.valve_type = VM_HADE,					\
-																												.equipment_type = EM_SIFRCT,};
+SYSTEM_EEP_IDENTIFICATION_T system_eep_id_g = {			\
+	.eep_para_init_config_id = EEP_PARA_INIT_ID,       \
+	.eep_para_patch_id = LAST_PATCH_ID,                \
+};
+EQUIPMENT_BASIC_INF_T 			    equipment_basic_inf_g={ 
+	.product_type= DM_SCM_SZV103,		\
+	.caliber_type = DN50_TYPE,			\
+	.serial_number = {0x07,0x10,0x50,0x82,0x40,0x69,0x00,0x01,0xff,0xff},           \
+	.valve_type = VM_HADE,					\
+	.equipment_type = EM_SIFRCT,};
+
 MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T        main_equipment_hardware_software_inf_g;
 LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T         lcd_equipment_hardware_software_inf_g;
 WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T    wireless_equipment_hardware_software_inf_g;
 __IO SAVE_REALTIME_DATA_T					save_realtime_data_g;
-__IO SAVE_VALVE_PARA_T							save_valve_para_g={	.valve_status = VALVE_NONE, \
-																									.valve_lock_state = VL_UNLOCK,};
+	
+__IO SAVE_VALVE_PARA_T							save_valve_para_g={			\
+	.valve_status = VALVE_NONE, \
+	.valve_lock_state = VL_UNLOCK,};
 
 
-FLOW_METER_PARA_T	flow_meter_para_g ={ .flow_meter_conn_type = FLOW_METER_CONN_RS485, \
-																			.flow_meter_code = SIZHUMODBUSV2_0, 					 \
-																			.pulse_width = 50,  											     \
-																			.baudrate_code = 	BAUDRATE_9600, 							 \
-																			.parity_bit = PARITY_NONE, 									   \
-																			.slave_address = 1, };
+FLOW_METER_PARA_T	flow_meter_para_g ={ 					\
+	.flow_meter_conn_type = FLOW_METER_CONN_RS485, \
+	.flow_meter_code = SIZHUMODBUSV2_0, 					 \
+	.pulse_width = 50,  											     \
+	.baudrate_code = 	BAUDRATE_9600, 							 \
+	.parity_bit = PARITY_NONE, 									   \
+	.output_voltage_code = RS485_V1_5V,           \
+	.slave_address = 1, };
 
-TEM_PRE_PARA_T tem_pre_para_g = { 
+TEM_PRE_PARA_T tem_pre_para_g = { 	\
 	.tem_up_limit = 70, 					   \
 	.tem_up_up_limit = 70, 					 \
 	.tem_low_limit = -20, 					 \
@@ -37,48 +47,67 @@
 	.pre_low_low_limit = 70, 				 \
 };
 
-MEASURE_FREEZE_PARA_T measure_freeze_para_g = {
+MEASURE_FREEZE_PARA_T measure_freeze_para_g = {		\
 	.freeze_interval = 60,                          \
 	.daily_freeze_time_BCD = {0x00,0x00},           \
 };
 
-BAT_PARA_T bat_para_g = {
-	.lith_bat_low_v = 55,           \
+BAT_PARA_T bat_para_g = {						\
+	.lith_bat_low_v = 55,           	\
 	.lith_bat_under_v = 50,           \
-	.alka_bat_low_v = 55,           \
+	.alka_bat_low_v = 55,           	\
 	.alka_bat_under_v = 50,           \
-	.lith_bat_max_hour = 26280,           \
-	.lith_bat_used_hour = 0,           \
+	.lith_bat_max_hour = 26280,       \
+	.lith_bat_used_hour = 0,          \
 	.lith_bat_used_sec = 0,           \
 };
 
-LOGIN_PASSWORD_T login_passeord_g = {
+LOGIN_PASSWORD_T login_passeord_g = {									\
 	.PC_general_user_password = {0x68,0x68},           \
 	.PC_advanced_user_password = {0x52,0x86},          \
 	.PC_manage_user_password = {0x75,0x97},            \
 };
 
-WRC_PARA_SIZHU_T wrc_para_sizhu_g = {
-	
-	.ip1 = {120,77,85,236},           \
-	.ip_port1 = 9692,          			 \
-	.ip1_connect_type = LINK_TCP,           \
-	.ip2 = {120,77,85,236},           \
-	.ip_port2 = 9692,          			 \
-	.ip2_connect_type = LINK_TCP,           \
-	.bat_power_data_interval = 60,           \
-	.ext_power_data_interval = 60,           \
-	.time_start_type = WRC_TIME_START_INTERVAL,           \
-	.bat_power_send_interval = 1440,           \
-	.ext_power_send_interval = 60,           \
-	.send_first_time_BCD ={0x05,0x20}  ,           \
-	.timing_send_num = 1,           				\
-	.timing_send_time_BCD = {{0x05,0x20}},           \
-	.retransmission_interval = 10,           \
-	.retransmission_num = 0,           		 \
-	.comm_timeout_time =120,           		\
+UP_COMM_PARA_T	up_comm_para_g = {						\
+	.slave_address = 1,         							  \
+	.baudrate_code = BAUDRATE_115200,           \
+	.parity_bit = PARITY_NONE,          				 \
+};
+
+WRC_PARA_SIZHU_T wrc_para_sizhu_g = {							\
+	.ip1 = {39,108,81,105},          								\
+	.ip_port1 = 9692,          			 								\
+	.ip1_connect_type = LINK_TCP,           				\
+	.ip2 = {120,77,85,236},         				  			\
+	.ip_port2 = 9692,          											\
+	.ip2_connect_type = LINK_TCP,           				\
+	.bat_power_data_interval = 60,           				\
+	.ext_power_data_interval = 60,           				\
+	.time_start_type = WRC_TIME_START_INTERVAL,     \
+	.bat_power_send_interval = 1440,           			\
+	.ext_power_send_interval = 60,          		 		\
+	.send_first_time_BCD ={0x05,0x20}  ,           	\
+	.timing_send_num = 1,           								\
+	.timing_send_time_BCD = {{0x05,0x20}},          \
+	.retransmission_interval = 10,          		 		\
+	.retransmission_num = 0,           		 					\
+	.comm_timeout_time =120,           							\
 	.KVer_AES_128[0] ={8, 7, 6, 5, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0},  \
 };
+WRC_DATA_NUM_CTRL_PARA_SIZHU_T	wrc_data_num_ctrl_para_sizhu_g={		\
+	.report_data_save_num = 0,			\
+	.report_data_left_num = 0,			\
+};
+
+BILLING_VALVE_CTRL_PATA_T billing_valve_ctrl_para_g = {	\
+	.balance_valve_ctrl_byte = {0},           		\
+	.conditional_valve_ctrl_byte = {0},           \
+  .balance_small_value = {500,100,0,0,0},       \
+  .cumulate_flow_threshold = 0,           			\
+  .no_wrc_days = 15,          										\
+  .no_use_gas_days = 0,         								\
+};
+
 
 //EEPROM����д��Ͷ�ȡ���,ֻ֧��1024���ֽڵ�д�����ȡ���
 ErrorStatus	eepWriteAndReadCheck(uint8_t * write_data,uint32_t addr,uint16_t length)
@@ -119,7 +148,7 @@
 }
 
 //EEPROM������ȡ����飬ֻ֧�����1024�ֽڶ�ȡ
-ErrorStatus	eepABReadCheck(uint8_t * write_data,uint32_t addrA,uint32_t addrB,uint16_t length)
+ErrorStatus	eepABReadCheck(uint8_t * read_data,uint32_t addrA,uint32_t addrB,uint16_t length)
 {
 	ErrorStatus	read_flag = FAIL;
 	uint16_t CRC16_MODBUS;
@@ -145,7 +174,7 @@
 	
 	if(read_flag == PASS)
 	{
-		arrayA_2_arrayB(buf_l, write_data, length, LITTLE_ENDIAN) ;
+		arrayA_2_arrayB(buf_l, read_data, length, LITTLE_ENDIAN) ;
 		return PASS;
 	}else
 	{
@@ -164,7 +193,7 @@
 		
 		if(read_flag == PASS)
 		{
-			arrayA_2_arrayB(buf_l, write_data, length, LITTLE_ENDIAN) ;
+			arrayA_2_arrayB(buf_l, read_data, length, LITTLE_ENDIAN) ;
 			EEPROM_MultipleWrite(buf_l,addrA,length);//A��У�����B����ȷ����B������д��A��
 			return PASS;
 		}else
@@ -218,7 +247,30 @@
 }
 
 
-//���в�����ʼ��ΪĬ��ֵ��д��EEPROM
+
+//�豸������Ϣ��ʼ��д��
+ErrorStatus	EquipmentBasicInfoDefaultInit(void)
+{
+	return paraCalcCrcAndWriteEepAB((uint8_t * )&equipment_basic_inf_g,BASIC_INFORMATION_OF_EQUIPMENT_ADDR,BASIC_INFORMATION_OF_EQUIPMENT_ADDR + PARA_EEP_B_OFFSET_ADDR,EQUIPMENT_BASIC_INF_LENGTH);
+}
+
+//�豸������Ϣ��ȡ
+ErrorStatus	EquipmentBasicInfoReadFromEep(void)
+{
+	if(	eepABReadCheck((uint8_t * )&equipment_basic_inf_g,BASIC_INFORMATION_OF_EQUIPMENT_ADDR,BASIC_INFORMATION_OF_EQUIPMENT_ADDR + PARA_EEP_B_OFFSET_ADDR,EQUIPMENT_BASIC_INF_LENGTH) == FAIL)
+	{
+		EquipmentBasicInfoDefaultInit();
+		return FAIL;
+	}else
+	{
+		return PASS;
+	}
+}
+
+
+
+
+//?���в�����ʼ��ΪĬ��ֵ��д��EEPROM
 void allParaDefaultInit(void)
 {
 	ErrorStatus	return_flag = PASS;
@@ -227,6 +279,9 @@
 	
 	
 	//�豸������Ϣ��ʼ��д��
+	if(EquipmentBasicInfoDefaultInit()==FAIL) return_flag = FAIL;
+	
+	//?�������䣬����������־�洢�IJ���
 	
 	
 	//ʵʱ���ݳ�ʼ��д��
@@ -238,7 +293,7 @@
 
 
 
-//���в���ֱ�Ӷ�ȡ
+//?���в���ֱ�Ӷ�ȡ
 void allParaReadFromEep(void)
 {
 	ErrorStatus	return_flag = PASS;
@@ -246,6 +301,10 @@
 	if(systemEepIdReadFromEep()==FAIL) return_flag = FAIL;
 	
 	//�豸������Ϣ��ȡ
+	if(EquipmentBasicInfoReadFromEep()==FAIL) return_flag = FAIL;
+	
+	
+	//?�������䣬����������־�洢�IJ���
 	
 	//�����ж�return_flag==FAIL���򱨾��洢�쳣�����������������Ļ�
 	

--
Gitblit v1.9.3