| | |
| | | #include "sizhu_ctrl_word.h" |
| | | #include "system_general_para.h" |
| | | #include "system_mem_para.h" |
| | | #include "system_flash_mem_manage.h" |
| | | |
| | | |
| | | /*ÈÕÖ¾¶¨ÒåÀàÐÍ*/ |
| | | typedef enum |
| | | { |
| | | HISTORY_TYPE_HOUR = 1U, |
| | | HISTORY_TYPE_DAY, |
| | | HISTORY_TYPE_MONTH, |
| | | HISTORY_TYPE_INTERVAL |
| | | } HISTORY_TYPE; // ÀúÊ·¼Ç¼ÀàÐÍ |
| | | |
| | | #define LOG_SIZHU_HOUR_TYPE 1 |
| | | #define LOG_SIZHU_DAY_TYPE 2 |
| | | #define LOG_SIZHU_MONTH_TYPE 3 |
| | | #define LOG_SIZHU_PERIOD_TYPE 4 |
| | | /*ÀúÊ·¼Ç¼´æ´¢¿ØÖÆ*/ |
| | | //ԼǼ |
| | | #define HISTORY_MONTH_START_ADDR MONTH_HISTORY_RECORD_STORAGE_START_ADDR |
| | | #define HISTORY_MONTH_LENGTH sizeof(SIZHU_HISTORY_MDH_T) |
| | | #define HISTORY_MONTH_MAX_NUM 120U |
| | | #define HISTORY_MONTH_END_ADDR HISTORY_MONTH_START_ADDR + HISTORY_MONTH_LENGTH * (HISTORY_MONTH_MAX_NUM -1) |
| | | //Ìì¼Ç¼ |
| | | #define HISTORY_DAY_START_ADDR DAY_HISTORY_RECORD_STORAGE_START_ADDR |
| | | #define HISTORY_DAY_LENGTH sizeof(SIZHU_HISTORY_MDH_T) |
| | | #define HISTORY_DAY_MAX_NUM 730U |
| | | #define HISTORY_DAY_END_ADDR HISTORY_DAY_START_ADDR + HISTORY_DAY_LENGTH * (HISTORY_DAY_MAX_NUM -1) |
| | | //Сʱ¼Ç¼ |
| | | #define HISTORY_HOUR_START_ADDR HOUR_HISTORY_RECORD_STORAGE_START_ADDR |
| | | #define HISTORY_HOUR_LENGTH sizeof(SIZHU_HISTORY_MDH_T) |
| | | #define HISTORY_HOUR_MAX_NUM 4400U |
| | | #define HISTORY_HOUR_END_ADDR HISTORY_HOUR_START_ADDR + HISTORY_HOUR_LENGTH * (HISTORY_HOUR_MAX_NUM -1) |
| | | //¼ä¸ô¼Ç¼ |
| | | #define HISTORY_INTERVAL_START_ADDR INTERVAL_HISTORY_RECORD_STORAGE_START_ADDR |
| | | #define HISTORY_INTERVAL_LENGTH sizeof(SIZHU_HISTORY_INTERVAL_T) |
| | | #define HISTORY_INTERVAL_MAX_NUM 1000U |
| | | #define HISTORY_INTERVAL_END_ADDR HISTORY_INTERVAL_START_ADDR + HISTORY_INTERVAL_LENGTH * (HISTORY_INTERVAL_MAX_NUM -1) |
| | | |
| | | |
| | | |
| | | |
| | | #pragma pack(1) |
| | | |
| | | |
| | | |
| | | |
| | | //¼ä¸ô¶³½áÈÕÖ¾ÄÚÈÝ |
| | | typedef struct log_sizhu_log_save_period_t |
| | | typedef struct |
| | | { |
| | | uint16_t CRC16_MODBUS; |
| | | sClockBCD record_time_BCD; |
| | | |
| | | double forward_cumulate_sc; // ÕýÏò±ê¿öÀÛ»ýÁ¿ |
| | |
| | | |
| | | SYSTEM_STATUS_WORD_T status_word; |
| | | |
| | | }LOG_SIZHU_LOG_SAVE_PERIOD_T; |
| | | }SIZHU_HISTORY_INTERVAL_T; |
| | | |
| | | //Ô¡¢ÈÕ¡¢Ê±ÈÕÖ¾ÄÚÈÝ |
| | | typedef struct log_sizhu_log_save_t |
| | | typedef struct |
| | | { |
| | | uint16_t CRC16_MODBUS; |
| | | sClockBCD record_time_BCD; |
| | | |
| | | double forward_cumulate_sc; // ÕýÏò±ê¿öÀÛ»ýÁ¿ |
| | |
| | | |
| | | u32 current_price; |
| | | double residual_amount; |
| | | uint8_t reverse[2]; |
| | | }LOG_SIZHU_LOG_SAVE_T; |
| | | |
| | | }SIZHU_HISTORY_MDH_T; |
| | | |
| | | |
| | | |
| | |
| | | |
| | | |
| | | |
| | | 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_clean(uint32_t epprom_begin_addr, LOG_SIZHU_CTRL_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); |
| | | uint8_t sizhu_historical_record_save(uint8_t logtype, SIZHU_HISTORY_MDH_T * log_run_ptr); |
| | | uint8_t sizhu_period_historical_record_save(uint8_t logtype, SIZHU_HISTORY_INTERVAL_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); |
| | | uint32_t sizhu_historical_record_read(uint8_t logtype, uint32_t addr, SIZHU_HISTORY_MDH_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); |