forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-06 b39a40b0191e0a8b155db74e885ff66e17b91896
Function/STORAGE/system_mem_para.h
@@ -13,12 +13,12 @@
#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
/****************************************************/
 
@@ -114,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;  //µ±Ç°½×ÌÝ
      
@@ -124,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; //½×ÌݼƷѵÚÒ»¸öÖÜÆÚʱ¼äµ½´ï±êÖ¾
@@ -141,6 +141,7 @@
//·§ÃÅÏà¹Ø²ÎÊý
typedef struct 
{
   uint16_t   CRC16_MODBUS;
   VALVE_STATUS      valve_status ;
   VALVE_LOCK_STATE_T      valve_lock_state;  //·§ÃÅËø¶¨×´Ì¬
   uint16_t      open_times;//¿ª·§´ÎÊý
@@ -153,6 +154,7 @@
//Á÷Á¿¼Æ²ÎÊý
typedef struct 
{
   uint16_t   CRC16_MODBUS;
   FLOW_METER_CONN_TYPE   flow_meter_conn_type;
   uint16_t flow_meter_code;
   float   pulse_coe;
@@ -172,6 +174,7 @@
//ÎÂѹÅäÖòÎÊý
typedef struct 
{
   uint16_t   CRC16_MODBUS;
   int16_t tem_up_limit;
   int16_t tem_up_up_limit;
   int16_t tem_low_limit;
@@ -188,6 +191,7 @@
//¼ÆÁ¿¶³½á²ÎÊý
typedef struct 
{
   uint16_t   CRC16_MODBUS;
   uint16_t freeze_interval;
   uint8_t daily_freeze_time_BCD[2];
}MEASURE_FREEZE_PARA_T;
@@ -195,6 +199,7 @@
//µç³Ø²ÎÊý
typedef struct 
{
   uint16_t   CRC16_MODBUS;
   uint8_t lith_bat_low_v;
   uint8_t lith_bat_under_v;
   uint8_t alka_bat_low_v;
@@ -208,6 +213,7 @@
//ÉÏλ»ú\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];
@@ -219,6 +225,7 @@
//ÉÏλ»ú´®¿ÚÅäÖÃÐÅÏ¢
typedef struct 
{
   uint16_t   CRC16_MODBUS;
   uint8_t   slave_address;
   BAUDRATE_CODE   baudrate_code;
   PARITY_BIT   parity_bit;
@@ -229,6 +236,7 @@
//ÎÞÏßÔ¶³ÌͨѶÅäÖòÎÊý
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ƽ̨
@@ -255,6 +263,7 @@
typedef struct 
{
   uint16_t   CRC16_MODBUS;
   uint16_t   report_data_save_num;
   uint16_t   report_data_left_num;
   
@@ -270,6 +279,7 @@
//Óà¶î/Ìõ¼þ¹Ø·§ÅäÖòÎÊý
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];
@@ -281,64 +291,88 @@
/*****************ÒÔϼ¸¸ö¿ØÖÆ×ÖÔÚsizhu_ctrl_word.hÖÐ******************************/
/*****************ÒÔϼ¸¸ö¿ØÖÆ×Ö¾ßÌ嶨ÒåÔÚ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_run_t
typedef struct LOG_SIZHU_CTRL_T
{
   uint16_t      log_count;
  uint32_t     log_addr_save;
  uint32_t     log_addr_save; //Ö¸ÏòÏÂÒ»´ÎҪдÈëµÄµØÖ·
//  uint32_t     log_addr_begin;
   uint8_t reserve[16];
   
}LOG_SIZHU_RUN_T;
}LOG_SIZHU_CTRL_T;  //³¤¶ÈÕ¼22×Ö½Ú
//Êý¾ÝÀúÊ·¼Ç¼
typedef struct 
{
   LOG_SIZHU_RUN_T per_period_log;
   LOG_SIZHU_RUN_T per_hour_log;
   LOG_SIZHU_RUN_T per_day_log;
   LOG_SIZHU_RUN_T per_month_log;
   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
{
   LOG_SIZHU_RUN_T system_alarm_log;
   uint16_t   CRC16_MODBUS;
   LOG_SIZHU_CTRL_T system_alarm_log;
   
}LOG_ALARM_CTRL_T;
//²ÎÊýÐ޸ļǼ
typedef struct
{
   LOG_SIZHU_RUN_T basic_info_modify_log;
   LOG_SIZHU_RUN_T cumulate_modify_log;
   LOG_SIZHU_RUN_T balance_modify_log;
   LOG_SIZHU_RUN_T flow_meter_para_modify_log;
   LOG_SIZHU_RUN_T conditional_close_valve_para_modify_log;
   LOG_SIZHU_RUN_T fun_ctrl_word_modify_log;
   LOG_SIZHU_RUN_T alarm_ctrl_word_modify_log;
   LOG_SIZHU_RUN_T close_valve_ctrl_word_modify_log;
}LOG_PARA_MODIFY_CTRL_T;
//ʼþ¼Ç¼
typedef struct LOG_EVENT_CTRL_T
{
   LOG_SIZHU_RUN_T  valve_action_log;
   uint16_t   CRC16_MODBUS;
   LOG_SIZHU_CTRL_T  valve_operation_log;
   LOG_SIZHU_RUN_T  factory_reset_log;
   LOG_SIZHU_CTRL_T  factory_reset_log;
   LOG_SIZHU_RUN_T  calibration_time_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;
@@ -361,11 +395,20 @@
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