#ifndef _SIZHU_HISTORY_RECORD_H #define _SIZHU_HISTORY_RECORD_H #include "sizhu_ctrl_word.h" #include "system_general_para.h" #include "system_mem_para.h" /*ÈÕÖ¾¶¨ÒåÀàÐÍ*/ #define LOG_SIZHU_HOUR_TYPE 1 #define LOG_SIZHU_DAY_TYPE 2 #define LOG_SIZHU_MONTH_TYPE 3 #define LOG_SIZHU_PERIOD_TYPE 4 #pragma pack(1) //¼ä¸ô¶³½áÈÕÖ¾ÄÚÈÝ typedef struct log_sizhu_log_save_period_t { sClockBCD record_time_BCD; double forward_cumulate_sc; // ÕýÏò±ê¿öÀÛ»ýÁ¿ double forward_cumulate_wc; float instant_sc; float instant_wc; float temperature; float pressure; u32 current_price; double residual_amount; double cumulate_gas_usage; double cumulate_fee_usage; uint8_t lith_bat_v; uint8_t lith_bat_per; uint8_t alka_bat_v; uint8_t alka_bat_per; SYSTEM_STATUS_WORD_T status_word; }LOG_SIZHU_LOG_SAVE_PERIOD_T; //Ô¡¢ÈÕ¡¢Ê±ÈÕÖ¾ÄÚÈÝ typedef struct log_sizhu_log_save_t { sClockBCD record_time_BCD; double forward_cumulate_sc; // ÕýÏò±ê¿öÀÛ»ýÁ¿ double forward_cumulate_wc; float instant_sc; float instant_wc; float temperature; float pressure; u32 current_price; double residual_amount; uint8_t reverse[2]; }LOG_SIZHU_LOG_SAVE_T; #pragma pack() uint8_t sizhu_historical_eeprom_default_init(void); uint8_t sizhu_historical_record_only_read_init(void); uint8_t sizhu_historical_record_clean(uint32_t epprom_begin_addr, LOG_SIZHU_RUN_T * log_run_ptr); uint8_t sizhu_historical_record_save(uint8_t logtype, LOG_SIZHU_LOG_SAVE_T * log_run_ptr); uint8_t sizhu_period_historical_record_save(uint8_t logtype, LOG_SIZHU_LOG_SAVE_PERIOD_T * log_run_ptr); // uint16_t sizhu_historical_period_log(void); uint16_t sizhu_historical_hour_log(void); uint16_t sizhu_historical_day_log(void); uint16_t sizhu_historical_month_log(void); uint32_t sizhu_historical_record_read(uint8_t logtype, uint32_t addr, LOG_SIZHU_LOG_SAVE_T * log_run_ptr); uint8_t sizhu_historical_read_init(u32 * read_addr, u16 * save_count, uint8_t logtype); void sizhuHistoryRecord(sClockBCD sys_clockBCD_in); #endif