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] 继续完善
---
Function/STORAGE/system_mem_para.h | 276 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 260 insertions(+), 16 deletions(-)
diff --git a/Function/STORAGE/system_mem_para.h b/Function/STORAGE/system_mem_para.h
index 7462fde..96c3d4a 100644
--- a/Function/STORAGE/system_mem_para.h
+++ b/Function/STORAGE/system_mem_para.h
@@ -4,18 +4,21 @@
#include "system_general_para.h"
#include "extern_rtc.h"
#include "valve_control.h"
+#include "wireless_remote_comm.h"
+#include "sizhu_ctrl_word.h"
+#include "rs485_read_data.h"
#define SOFT_SERIAL_NUMBER1 0x05
#define SOFT_SERIAL_NUMBER2 0x00
#define SOFT_SERIAL_NUMBER3 0x05
#define SOFT_SERIAL_NUMBER4 0x07
-#define EEP_PARA_INIT_ID 0x24041601 //BCD��ʽYYMMDDXX�����ܳ�����ĸ
+#define EEP_PARA_INIT_ID 0x24060605 //BCD��ʽYYMMDDXX�����ܳ�����ĸ
#define LAST_PATCH_ID EEP_PARA_PATCH_ID_1 //BCD��ʽYYMMDDXX�����ܳ�����ĸ��ע��˴�ָ�����һ������
/************������ʶ���������������ӣ�BCD��ʽYYMMDDXX�����ܳ�����ĸ************/
/************ÿ�����Ӻ�LAST_PATCH_IDָ�����һ������***************************/
-#define EEP_PARA_PATCH_ID_1 0x24041601
+#define EEP_PARA_PATCH_ID_1 0x24060605
/****************************************************/
@@ -23,7 +26,7 @@
#define CRC16_MODBUS_OFFSET sizeof(uint16_t)
-//ϵͳ������ʶ
+//ϵͳ���ò�����ʶ
typedef struct
{
uint16_t CRC16_MODBUS;
@@ -36,6 +39,7 @@
}SYSTEM_EEP_IDENTIFICATION_T;
#define SYSTEM_EEP_IDENTIFICATION_LENGTH sizeof(SYSTEM_EEP_IDENTIFICATION_T)
+//�豸������Ϣ
typedef struct equipment_basic_inf
{
uint16_t CRC16_MODBUS;
@@ -45,12 +49,12 @@
uint8_t serial_number[10];//������ţ�BCDĿǰֻ��ǰ8�ֽڣ�16λ����2�ֽڲ�FFH��
uint8_t manufactuer_code[2];//���Ҵ���,���ã�����ʶ���豸��;���������°����ƣ��Ҵ����ʾΪ�°£��Ĵ����������λ��ʶ����λ��ʹ����ҲΪ�°£���ɽ��в�����
VALVE_TYPE valve_type;//�����ͺ�0:���ţ�1����ʢ���壻2:���·��壻������Ĭ�Ϲ��·���
- EQUIPMENT_TYPE equipment_type;//�豸����,10H��ʾ��һ��ʽ����Զ���ն�
+ EQUIPMENT_TYPE equipment_type;//�豸����
uint8_t reserve[32];
}EQUIPMENT_BASIC_INF_T;
#define EQUIPMENT_BASIC_INF_LENGTH sizeof(EQUIPMENT_BASIC_INF_T)
-
+//�豸��Ӳ����Ϣ
typedef struct main_equipment_hardware_software_inf
{
uint16_t CRC16_MODBUS;
@@ -64,6 +68,7 @@
}MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T;
#define MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH sizeof(MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T)
+//LCD����Ӳ����Ϣ
typedef struct lcd_equipment_hardware_software_inf
{
uint16_t CRC16_MODBUS;
@@ -77,6 +82,7 @@
}LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T;
#define LCD_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH sizeof(LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T)
+//����ͨѶ����Ӳ����Ϣ
typedef struct wireless_equipment_hardware_software_inf
{
uint16_t CRC16_MODBUS;
@@ -91,7 +97,7 @@
#define WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH sizeof(WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T)
-
+//ʵʱ����
typedef struct{
uint16_t CRC16_MODBUS;
sClockBCD record_time_BCD;
@@ -108,9 +114,9 @@
{
uint8_t price_type_mode_now; //�Ʒ����ͣ� ��һ�Ʒѡ����ݼƷѡ���ʱ�Ʒ�
uint32_t price_now; //���ۣ��Ŵ�10000��
- double use_fee_sum; //���������
double balance_now;
-
+ double use_fee_sum; //����������Ҫ��˼Ʒ�ͳ����
+ double use_gas_sum; //������������Ҫ��˼Ʒ�ͳ����
double ladder_cumulate_sc; //������������
uint8_t ladder_now; //��ǰ����
@@ -118,7 +124,7 @@
double SC_base ; //��������
double balance_base ;//������
double gas_use_base ;//������������
- double fee_use__base ;//������������
+ double fee_use_base ;//������������
double ladder_SC_base ;//��������������
double ladder_first_time_up_flag; //���ݼƷѵ�һ������ʱ�䵽���־
@@ -132,20 +138,243 @@
//ͳ�Ʋ�������ʱ����
+//������ز���
typedef struct
{
- VALVE_TYPE valve_type;
+ uint16_t CRC16_MODBUS;
VALVE_STATUS valve_status ;
VALVE_LOCK_STATE_T valve_lock_state; //��������״̬
uint16_t open_times;//��������
uint16_t close_times;//�ط�����
- uint16_t valve_close_ID ;//�ط�ԭ�� ���ڱ���ID
+ uint16_t valve_close_ID ;//�ط�ԭ�� ���λΪ1����ǿֱ�Թط�������λ���ڱ���ID,���Ŵ�֮�����㡣
}SAVE_VALVE_PARA_T;
+//�����Ʋ���
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ FLOW_METER_CONN_TYPE flow_meter_conn_type;
+ uint16_t flow_meter_code;
+ float pulse_coe;
+ uint16_t pulse_width;
+ BAUDRATE_CODE baudrate_code;
+ PARITY_BIT parity_bit;
+ RS485_PWR_OUTPUT_SELECT output_voltage_code;
+ uint8_t slave_address;
+
+ uint8_t broken_line_multiplex; //���߸���
+
+ uint8_t sub_machine_num;
+ char flow_meter_serial_number;
+
+}FLOW_METER_PARA_T;
-//?��.....
+//��ѹ���ò���
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ int16_t tem_up_limit;
+ int16_t tem_up_up_limit;
+ int16_t tem_low_limit;
+ int16_t tem_low_low_limit;
+ int16_t ambient_tem_up_limit;
+ int16_t ambient_tem_low_limit;
+ float pre_up_limit;
+ float pre_up_up_limit;
+ float pre_low_limit;
+ float pre_low_low_limit;
+
+}TEM_PRE_PARA_T;
+
+//�����������
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ uint16_t freeze_interval;
+ uint8_t daily_freeze_time_BCD[2];
+}MEASURE_FREEZE_PARA_T;
+
+//��ز���
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ uint8_t lith_bat_low_v;
+ uint8_t lith_bat_under_v;
+ uint8_t alka_bat_low_v;
+ uint8_t alka_bat_under_v;
+ uint32_t lith_bat_max_hour;
+ uint32_t lith_bat_used_hour;
+ uint32_t lith_bat_used_sec;
+ uint8_t reserve[32];
+}BAT_PARA_T;
+
+//���\APP��������
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ uint8_t PC_general_user_password[2];
+ uint8_t PC_advanced_user_password[2];
+ uint8_t PC_manage_user_password[2];
+// uint8_t APP_general_user_password[2];
+// uint8_t APP_advanced_user_password[2];
+// uint8_t APP_manage_user_password[2];
+}LOGIN_PASSWORD_T;
+
+//��λ������������Ϣ
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ uint8_t slave_address;
+ BAUDRATE_CODE baudrate_code;
+ PARITY_BIT parity_bit;
+
+}UP_COMM_PARA_T;
+
+
+//����Զ��ͨѶ���ò���
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ uint8_t ip1[4];
+ uint16_t ip_port1;
+ LINK_TYPE ip1_connect_type; //IP����ģʽ 0��TCPֱ�� 1�����ӵ���ƽ̨ 2�������ƶ�onenetƽ̨
+ uint8_t ip2[4];
+ uint16_t ip_port2;
+ LINK_TYPE ip2_connect_type; //IP����ģʽ 0��TCPֱ�� 1�����ӵ���ƽ̨ 2�������ƶ�onenetƽ̨
+ uint16_t bat_power_data_interval; //��ع������ݼ��
+ uint16_t ext_power_data_interval; // ������ݼ��
+
+ WRC_TIME_START_TYPE time_start_type; //ʱ�䷢��ģʽ,0������ 1����� :2����ʱ 3�����+��ʱ. ��ʱֻ֧��1����2
+ uint16_t bat_power_send_interval;
+ uint16_t ext_power_send_interval;
+ uint8_t send_first_time_BCD[2]; //�״η���ʱ�䣬�����ڴ�巢�ͣ������״η���ʱ������Ϊ0��15�֣�24���ͷ���һ�Ρ� �Ǿ���ÿ��0��15��ͨѶһ��
+ uint8_t timing_send_num; //��ʱ�ϱ�����1-12
+ uint8_t timing_send_time_BCD[12][2]; //��ʱ����ʱ���1-12
+
+ uint16_t retransmission_interval; // �ط����
+ uint8_t retransmission_num; //�ط�����
+ uint16_t comm_timeout_time; //��ʱʱ�䣬��
+
+ uint8_t KVer_AES_128[9][16];
+
+}WRC_PARA_SIZHU_T;
+
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ uint16_t report_data_save_num;
+ uint16_t report_data_left_num;
+
+}WRC_DATA_NUM_CTRL_PARA_SIZHU_T; //�˲����仯��Ƚ�Ƶ������Ҫ���Ǵ洢���������⣡����
+
+
+//�۸����ò���
+
+
+//��ֵ���ò���
+
+
+//���/�����ط����ò���
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ VALVE_BILLING_CHANGE_1_T balance_valve_ctrl_byte;
+ VALVE_BILLING_CHANGE_2_T conditional_valve_ctrl_byte;
+ int32_t balance_small_value[5];
+ uint32_t cumulate_flow_threshold;
+ uint8_t no_wrc_days;
+ uint8_t no_use_gas_days;
+ uint8_t reserve[5];
+} BILLING_VALVE_CTRL_PATA_T; // �Ʒѱ���\�������ط����Ʋ���
+
+
+
+/*****************���¼��������־��嶨����sizhu_ctrl_word.h��******************************/
+//���ܿ�����
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ SYSTEM_FUNCTION_CTRL_WORD_T fun_ctrl_word;
+} SAVE_FUN_CTRL_WORD_T; //�洢���ܿ�����
+
+//ϵͳ����������/ϵͳ�����ϱ�������
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ SYSTEM_ALARM_CTRL_WORD_T alarm_ctrl_word;
+ SYSTEM_ALARM_CTRL_WORD_T alarm_report_ctrl_word;
+} SAVE_ALARM_CTRL_WORD_T; //�洢����������
+
+//�ط�������
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ VALVE_CTL_BYTES_UNION_T valve_ctrl_word;
+} SAVE_VALVE_CTRL_WORD_T; //�洢�ط�������
+/***********************************************/
+
+
+/*****************��־���Ʋ���******************************/
+//��־���Ʋ���
+typedef struct LOG_SIZHU_CTRL_T
+{
+ uint16_t log_count;
+ uint32_t log_addr_save; //ָ����һ��Ҫд��ĵ�ַ
+// uint32_t log_addr_begin;
+ uint8_t reserve[16];
+
+}LOG_SIZHU_CTRL_T; //����ռ22�ֽ�
+
+//������ʷ��¼
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ LOG_SIZHU_CTRL_T per_month_log;
+ LOG_SIZHU_CTRL_T per_day_log;
+ LOG_SIZHU_CTRL_T per_hour_log;
+ LOG_SIZHU_CTRL_T per_interval_log;
+}LOG_SIZHU_HISTORY_CTRL_T;
+
+//������¼
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ LOG_SIZHU_CTRL_T system_alarm_log;
+
+}LOG_ALARM_CTRL_T;
+
+//�¼���¼
+typedef struct LOG_EVENT_CTRL_T
+{
+ uint16_t CRC16_MODBUS;
+ LOG_SIZHU_CTRL_T valve_operation_log;
+
+ LOG_SIZHU_CTRL_T factory_reset_log;
+
+ LOG_SIZHU_CTRL_T set_time_log;
+
+}LOG_EVENT_CTRL_T;
+
+//������
+typedef struct
+{
+ uint16_t CRC16_MODBUS;
+ LOG_SIZHU_CTRL_T basic_info_modify_log;
+ LOG_SIZHU_CTRL_T cumulate_modify_log;
+ LOG_SIZHU_CTRL_T balance_modify_log;
+ LOG_SIZHU_CTRL_T flow_meter_para_modify_log;
+ LOG_SIZHU_CTRL_T conditional_close_valve_para_modify_log;
+ LOG_SIZHU_CTRL_T fun_ctrl_word_modify_log;
+ LOG_SIZHU_CTRL_T alarm_ctrl_word_modify_log;
+ LOG_SIZHU_CTRL_T close_valve_ctrl_word_modify_log;
+
+}LOG_PARA_MODIFY_CTRL_T;
+
+
+
+
#pragma pack()
@@ -155,16 +384,31 @@
extern MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T main_equipment_hardware_software_inf_g;
extern LCD_EQUIPM_HARDWARE_SOFTWARE_INF_T lcd_equipment_hardware_software_inf_g;
extern WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T wireless_equipment_hardware_software_inf_g;
-extern SAVE_REALTIME_DATA_T save_realtime_data_g;
-extern SAVE_VALVE_PARA_T save_valve_para_g;
+extern __IO SAVE_REALTIME_DATA_T save_realtime_data_g;
+extern __IO SAVE_VALVE_PARA_T save_valve_para_g;
+extern FLOW_METER_PARA_T flow_meter_para_g;
+extern MEASURE_FREEZE_PARA_T measure_freeze_para_g;
+extern BAT_PARA_T bat_para_g;
+extern LOGIN_PASSWORD_T login_passeord_g;
+extern UP_COMM_PARA_T up_comm_para_g;
+extern WRC_PARA_SIZHU_T wrc_para_sizhu_g;
+extern WRC_DATA_NUM_CTRL_PARA_SIZHU_T wrc_data_num_ctrl_para_sizhu_g;
+extern BILLING_VALVE_CTRL_PATA_T billing_valve_ctrl_para_g;
-
-
+extern LOG_SIZHU_HISTORY_CTRL_T log_sizhu_history_ctrl_g;
+extern LOG_ALARM_CTRL_T log_alarm_ctrl_g;
+extern LOG_EVENT_CTRL_T log_event_ctrl_g;
+extern LOG_PARA_MODIFY_CTRL_T log_para_modify_ctrl_g;
void allParaDefaultInit(void);
void allParaReadFromEep(void);
void allParaPatchPro(void);
+
+
+
+ErrorStatus paraCalcCrcAndWriteEepAB(uint8_t * write_data,uint32_t addrA,uint32_t addrB,uint16_t length);
+
#endif
--
Gitblit v1.9.3