From 6e3f1f560d618b37ee1a47fa2b0f682b70c3ef1c Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Wed, 19 Jun 2024 17:25:45 +0800
Subject: [PATCH] 增加OTA协议

---
 Function/STORAGE/sizhu_history_record.h |   62 ++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 18 deletions(-)

diff --git a/Function/STORAGE/sizhu_history_record.h b/Function/STORAGE/sizhu_history_record.h
index 1b8d720..07084ce 100644
--- a/Function/STORAGE/sizhu_history_record.h
+++ b/Function/STORAGE/sizhu_history_record.h
@@ -4,24 +4,49 @@
 #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; // �������ۻ���
@@ -44,11 +69,12 @@
 
 	SYSTEM_STATUS_WORD_T  status_word;
 
-}LOG_SIZHU_LOG_SAVE_PERIOD_T;
+}SIZHU_HISTORY_INTERVAL_T;  //84
 
 //�¡��ա�ʱ��־����
-typedef struct log_sizhu_log_save_t
+typedef struct 
 {
+	uint16_t	CRC16_MODBUS;
 	sClockBCD 		record_time_BCD;
 
 	double forward_cumulate_sc; // �������ۻ���
@@ -61,8 +87,8 @@
 	
 	u32	current_price;
 	double	residual_amount;
-	uint8_t            reverse[2];
-}LOG_SIZHU_LOG_SAVE_T;
+
+}SIZHU_HISTORY_MDH_T;
 
 
 
@@ -73,21 +99,21 @@
 
 
 
-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);
+
+extern FlagStatus interval_report_record_flag;
 #endif

--
Gitblit v1.9.3