#ifndef _PARA_STORAGE_CFG_API_H_
|
#define _PARA_STORAGE_CFG_API_H_
|
|
#include "define_all.h"
|
|
|
#define SYS_LOG_PARA_TABLE_NUM (sizeof(sys_store_para_table) / sizeof(SYSLOG_PARA_TABLE_T))
|
|
#define LOG_CHECKSUM_OFFSET sizeof(uint8_t)
|
|
#define PARA_INDEX_OFFSET sizeof(uint8_t)
|
|
#pragma pack(1)
|
|
/******************************Para Data******************************************************/
|
#define FIRST_POWER_PARA_FORMAT_SIZE sizeof(FIRST_POWER_PARA_T)
|
typedef struct
|
{
|
uint16_t first_power_flag;
|
uint8_t reserve[2];
|
} FIRST_POWER_PARA_T; // 4 bytes;
|
|
typedef struct
|
{
|
uint8_t store_index; // µ±Ç°´¢´æÌõÊý/Ë÷Òý ·¶Î§ 1 ~ (data_num + 1)
|
uint32_t store_index_addr; //Ë÷ÒýµØÖ·
|
uint32_t store_checksum_addr;
|
uint32_t store_start_addr; // ¿ªÊ¼µØÖ·
|
uint32_t store_end_addr; // ½áÊøµØÖ·¾ÍÊÇÏÂÒ»¸ö²ÎÊýµÄ¿ªÊ¼µØÖ·
|
} SYSLOG_PARA_INFO_T; // ²ÎÊý´¢´æµÄÈÕÖ¾ÐÅÏ¢
|
|
typedef struct
|
{
|
SYSLOG_PARA_INFO_T *table_id;
|
void *data_buffer;
|
uint16_t data_size; // ´¢´æÒ»´ÎµÄÊý¾Ý´óС
|
uint16_t data_num; // ´¢´æµÄ×ÜÌõÊý
|
} SYSLOG_PARA_TABLE_T; // ²ÎÊýÊý¾Ý´¢´æµÄÈÕÖ¾±í
|
|
typedef struct
|
{
|
SYSLOG_PARA_INFO_T first_power_flag_store;
|
SYSLOG_PARA_INFO_T save_realtime_data_log;
|
SYSLOG_PARA_INFO_T master_soft_hard_para_store;
|
SYSLOG_PARA_INFO_T sys_flow_alarm_cfg_store;
|
SYSLOG_PARA_INFO_T sys_press_alarm_cfg_store;
|
SYSLOG_PARA_INFO_T sys_temp_alarm_cfg_store;
|
SYSLOG_PARA_INFO_T sys_billing_alarm_cfg_store;
|
SYSLOG_PARA_INFO_T cal_pulse_para_cfg_store;
|
SYSLOG_PARA_INFO_T ladder_price_cfg_true_store;
|
SYSLOG_PARA_INFO_T ladder_price_cfg_new_store;
|
SYSLOG_PARA_INFO_T gprs_network_cfg_store;
|
SYSLOG_PARA_INFO_T save_data_start_time_store;
|
SYSLOG_PARA_INFO_T sys_func_cfg_bytes_store; // ¹¦ÄÜÅäÖÃ×Ö
|
SYSLOG_PARA_INFO_T sys_alarm_ctl_bytes_store;
|
SYSLOG_PARA_INFO_T sys_alarm_send_bytes_store;
|
SYSLOG_PARA_INFO_T valve_ctl_bytes_store;
|
SYSLOG_PARA_INFO_T master_basic_para_store;
|
SYSLOG_PARA_INFO_T micro_constant_flow_para_store;
|
SYSLOG_PARA_INFO_T sec_order_corr_set_para_store;
|
SYSLOG_PARA_INFO_T zero_drift_corr_cfg_store;
|
} SYSLOG_PARA_DATA_T;
|
|
typedef enum
|
{
|
PARA_FIRST_POWER_FLAG = 0U,
|
PARA_SAVE_REALTIME_DATA,
|
PARA_MASTER_SOFT_HARD,
|
PARA_FLOW_ALARM_CFG,
|
PARA_PRESS_ALARM_CFG,
|
PARA_TEMP_ALARM_CFG,
|
PARA_BILLING_ALARM_CFG,
|
PARA_CAL_PULSE_CFG,
|
PARA_LADDER_PRICE_CFG_TRUE,
|
PARA_LADDER_PRICE_CFG_NEW,
|
PARA_GPRS_NETWORK_CFG,
|
PARA_SAVE_DATA_START_TIME,
|
PARA_FUNC_CFG_BYTES,
|
PARA_ALARM_CTL_BYTES,
|
PARA_ALARM_SEND_BYTES,
|
PARA_VALVE_CTL_BYTES,
|
PARA_MASTER_BASIC,
|
PARA_MICRO_CONSTANT_FLOW,
|
PARA_SEC_ORDER_CORR_SET,
|
PARA_ZERO_DRIFT_CFG,
|
} PARA_DATA_TYPE;
|
|
#pragma pack()
|
|
extern const SYSLOG_PARA_TABLE_T sys_store_para_table[20];
|
|
void Sys_Log_E2pParaAddrInit(void);
|
void Sys_Log_E2pPara_FirstPower_FlagInit(void);
|
void Sys_Log_E2pPara_NoFirstPower_FlagInit(void);
|
|
|
FlagStatus Sys_Log_E2pParaDataFirstInit(void);
|
ErrorStatus_STM32 Sys_Log_E2pParaMultipleWrite(const SYSLOG_PARA_TABLE_T *para_data_p,uint8_t write_cnt);
|
ErrorStatus_STM32 Sys_Log_E2pParaRead_1_Data(const SYSLOG_PARA_TABLE_T *para_data_p);
|
|
#endif
|