#ifndef _SYSTEM_MEM_PARA_H
|
#define _SYSTEM_MEM_PARA_H
|
#include "define_all.h"
|
#include "system_general_para.h"
|
#include "extern_rtc.h"
|
#include "valve_control.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_TYPE product_type; //²úÆ·ÀàÐÍ
|
CALIBER_TYPE caliber_type;//¿Ú¾¶ 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_TYPE valve_type;//·§ÃÅÐͺÅ0:ÎÞ·§ÃÅ£»1£ºÅôÊ¢·§Ì壻2:¹þµÂ·§Ì壻ÆäËû£¬Ä¬ÈϹþµÂ·§Ìå
|
EQUIPMENT_TYPE 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_sc; // ±ê¶¨ÀÛ»ýÁ¿
|
double cal_cumulate_wc;
|
double err_forward_cumulate_sc; // ´íÎóÀÛ»ýÁ¿
|
double err_forward_cumulate_wc;
|
}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_TYPE valve_type;
|
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
|
|
|
}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;
|
extern SAVE_REALTIME_DATA_T save_realtime_data_g;
|
extern SAVE_VALVE_PARA_T save_valve_para_g;
|
|
|
|
|
void allParaDefaultInit(void);
|
void allParaReadFromEep(void);
|
void allParaPatchPro(void);
|
|
#endif
|