#ifndef _SYSTEM_MEM_PARA_H #define _SYSTEM_MEM_PARA_H #include "define_all.h" #include "system_general_para.h" #include "extern_rtc.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 LAST_PATCH_ID EEP_PARA_PATCH_ID_1 //BCD¸ñʽYYMMDDXX£¬²»ÄܳöÏÖ×Öĸ£¬×¢Òâ´Ë´¦Ö¸Ïò×îºóÒ»¸ö²¹¶¡ /************²¹¶¡±êʶ¶¨ÒåÇø£¬³ÖÐøÔö¼Ó£¬BCD¸ñʽYYMMDDXX£¬²»ÄܳöÏÖ×Öĸ************/ /************ÿ´ÎÔö¼ÓºóLAST_PATCH_IDÖ¸Ïò×îºóÒ»¸ö²¹¶¡***************************/ #define EEP_PARA_PATCH_ID_1 0x24041601 /****************************************************/ #pragma pack(1) #define CRC16_MODBUS_OFFSET sizeof(uint16_t) //ϵͳ²¹¶¡±êʶ typedef struct { uint16_t CRC16_MODBUS; uint32_t eep_para_init_config_id; uint32_t eep_para_patch_id; uint8_t reserve[32]; }SYSTEM_EEP_IDENTIFICATION_T; #define SYSTEM_EEP_IDENTIFICATION_LENGTH sizeof(SYSTEM_EEP_IDENTIFICATION_T) typedef struct equipment_basic_inf { uint16_t CRC16_MODBUS; char specification_model[20];//¹æ¸ñÐͺŠDEVICE_MODEL product_type; //²úÆ·ÀàÐÍ CALIBER_MODEL caliber_model;//¿Ú¾¶ 1/2/3/4/5/6/7/8´ú±í050/080/100/150/200/025/032/040 uint8_t serial_number[10];//³ö³§±àºÅ£¬BCDĿǰֻÓÃǰ8×Ö½Ú£¬16룬ºó2×Ö½Ú²¹FFH¡£ uint8_t manufactuer_code[2];//³§¼Ò´úÂë,×ÔÓã¬ÓÃÓÚʶ±ðÉ豸ÓÃ;£¬±ÈÈçÊÇаÂÌùÅÆ£¬Ôò³§¼Ò´úÂë±íʾΪа£¬¸Ä´úÂë¿ÉÓÃÓÚÉÏλ»úʶ±ð£¬ÉÏλ»úʹÓÃÕßҲΪа£¬Ôò¿É½øÐвÙ×÷¡£ VALVE_MODEL valve_type;//·§ÃÅÐͺÅ0:ÎÞ·§ÃÅ£»1£ºÅôÊ¢·§Ì壻2:¹þµÂ·§Ì壻ÆäËû£¬Ä¬ÈϹþµÂ·§Ìå EQUIPMENT_MODEL equipment_type;//É豸ÀàÐÍ,10H±íʾ¡°Ò»ÌåʽÁ÷Á¿Ô¶´«ÖÕ¶Ë 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; uint8_t PCB_serial_number[5]; uint8_t PCB_model[5]; //PCBÐͺÅ,¾ßÌå¼ûÎĵµ uint8_t hard_serial_number[5]; uint8_t soft_serial_number[4]; uint8_t soft_serial_crc[2]; uint8_t soft_serial_date[3]; }MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T; #define MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH sizeof(MAIN_EQUIPM_HARDWARE_SOFTWARE_INF_T) typedef struct lcd_equipment_hardware_software_inf { uint16_t CRC16_MODBUS; uint8_t PCB_serial_number[5]; uint8_t PCB_model[5]; //PCBÐͺÅ,¾ßÌå¼ûÎĵµ uint8_t hard_serial_number[5]; uint8_t soft_serial_number[4]; uint8_t soft_serial_crc[2]; uint8_t soft_serial_date[3]; }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; uint8_t PCB_serial_number[5]; uint8_t PCB_model[5]; //PCBÐͺÅ,¾ßÌå¼ûÎĵµ uint8_t hard_serial_number[5]; uint8_t soft_serial_number[4]; uint8_t soft_serial_crc[2]; uint8_t soft_serial_date[3]; }WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T; #define WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_LENGTH sizeof(WIRELESS_EQUIPM_HARDWARE_SOFTWARE_INF_T) typedef struct{ uint16_t CRC16_MODBUS; sClockBCD record_time_bcd; struct realtime_flow_data { double forward_cumulate_sc; // ÕýÏò±ê¿öÀÛ»ýÁ¿ double forward_cumulate_wc; double cal_cumulate_reserve[2]; // ±ê¶¨ÀÛ»ýÁ¿_Ô¤Áô double err_forward_cumulate_reserve[2]; // ´íÎóÀÛ»ýÁ¿_Ô¤Áô }realtime_flow_data_s; struct realtime_billing_data { uint8_t price_type_mode_now; //¼Æ·ÑÀàÐÍ£¬ µ¥Ò»¼Æ·Ñ¡¢½×ÌݼƷѡ¢·Öʱ¼Æ·Ñ uint32_t price_now; //µ¥¼Û£¬·Å´ó10000±¶ double use_fee_sum; //×ÜÓÃÆø½ð¶î double balance_now; double ladder_cumulate_sc; //½×ÌÝÄÚ×ÜÓÃÁ¿ uint8_t ladder_now; //µ±Ç°½×ÌÝ uint8_t base_readable_flag;//½áËã»ùÊý¿É¶Á±êÖ¾ double SC_base ; //×ÜÁ¿»ùÊý double balance_base ;//Óà¶î»ùÊý double gas_use_base ;//×ÜÓÃÆøÁ¿»ùÊý double fee_use__base ;//×ÜÓÃÆø½ð¶î»ùÊý double ladder_SC_base ;//½×ÌÝÓÃÆøÁ¿»ùÊý double ladder_first_time_up_flag; //½×ÌݼƷѵÚÒ»¸öÖÜÆÚʱ¼äµ½´ï±êÖ¾ }realtime_billing_data_s; uint8_t reserve[32]; } SAVE_REALTIME_DATA_T; //ÐèÒª´æ´¢µÄʵʱÊý¾Ý #define SAVE_REALTIME_DATA_LENGTH sizeof(SAVE_REALTIME_DATA_T) //ͳ¼Æ²ÎÊý£¬ÔÝʱ²»×ö typedef struct { VALVE_STATE_T valve_state ; VALVE_LOCK_STATE_T valve_lock_state; //·§ÃÅËø¶¨×´Ì¬ uint16_t open_times;//¿ª·§´ÎÊý uint16_t close_times;//¹Ø·§´ÎÊý uint16_t valve_close_ID ;//¹Ø·§Ô­Òò µÈÓÚ±¨¾¯ID }SAVE_VALVE_PARA_T; //δÍê³É..... #pragma pack() extern SYSTEM_EEP_IDENTIFICATION_T system_eep_id_g; extern EQUIPMENT_BASIC_INF_T equipment_basic_inf_g; 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; void allParaDefaultInit(void); void allParaReadFromEep(void); void allParaPatchPro(void); #endif