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/system_flash_mem_manage.h |   75 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 73 insertions(+), 2 deletions(-)

diff --git a/Function/STORAGE/system_flash_mem_manage.h b/Function/STORAGE/system_flash_mem_manage.h
index 8f994ac..ffce37b 100644
--- a/Function/STORAGE/system_flash_mem_manage.h
+++ b/Function/STORAGE/system_flash_mem_manage.h
@@ -13,7 +13,7 @@
 */
 
 
-/*���������洢��*/
+/*���������洢���������ռ䣬������2*412*1024+ 0x1000�����嶨�����������򲿷�*/
 #define PROGRAM_UPDATE_STORAGE_START_ADDR		0
 #define PROGRAM_UPDATE_STORAGE_LENGTH		   (1024*1024)
 
@@ -53,10 +53,35 @@
 #define	VALVE_OPERATION_EVENT_STORAGE_ADDR_LENGTH		4*1024
 //�¼���¼-�ָ�������¼
 #define	FACTORY_RESET_EVENT_STORAGE_START_ADDR	VALVE_OPERATION_EVENT_STORAGE_START_ADDR + VALVE_OPERATION_EVENT_STORAGE_ADDR_LENGTH
-#define	FACTORY_RESET_EVENT_STORAGE_ADDR_LENGTH		1*1024
+#define	FACTORY_RESET_EVENT_STORAGE_ADDR_LENGTH		512
 //�¼���¼-Уʱ��¼
 #define	SET_TIME_EVENT_STORAGE_START_ADDR	FACTORY_RESET_EVENT_STORAGE_START_ADDR + FACTORY_RESET_EVENT_STORAGE_ADDR_LENGTH
 #define	SET_TIME_EVENT_STORAGE_ADDR_LENGTH		1*1024
+
+//�����޸ļ�¼-�豸������Ϣ�޸ļ�¼
+#define	BASIC_INFO_MODIFY_STORAGE_START_ADDR			SYSTEM_PARA_MODIFY_STORAGE_START_ADDR
+#define	BASIC_INFO_MODIFY_STORAGE_ADDR_LENGTH		1130
+//�����޸ļ�¼-�ۻ����޸ļ�¼
+#define	CUMULATE_MODIFY_STORAGE_START_ADDR			BASIC_INFO_MODIFY_STORAGE_START_ADDR + BASIC_INFO_MODIFY_STORAGE_ADDR_LENGTH
+#define	CUMULATE_MODIFY_STORAGE_ADDR_LENGTH		900
+//�����޸ļ�¼-����޸�
+#define	BALANCE_MODIFY_STORAGE_START_ADDR			CUMULATE_MODIFY_STORAGE_START_ADDR + CUMULATE_MODIFY_STORAGE_ADDR_LENGTH
+#define	BALANCE_MODIFY_STORAGE_ADDR_LENGTH		580
+//�����޸ļ�¼-�����Ʋ����޸ļ�¼
+#define	FLOWMETER_PARA_MODIFY_STORAGE_START_ADDR			BALANCE_MODIFY_STORAGE_START_ADDR + BALANCE_MODIFY_STORAGE_ADDR_LENGTH
+#define	FLOWMETER_PARA_MODIFY_STORAGE_ADDR_LENGTH		2260
+//�����޸ļ�¼-���/�����ط������޸ļ�¼
+#define	CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_STORAGE_START_ADDR			FLOWMETER_PARA_MODIFY_STORAGE_START_ADDR + FLOWMETER_PARA_MODIFY_STORAGE_ADDR_LENGTH
+#define	CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_STORAGE_ADDR_LENGTH		2260
+//�����޸ļ�¼-ϵͳ�����������޸ļ�¼
+#define	FUN_CTRL_MODIFY_STORAGE_START_ADDR			CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_STORAGE_START_ADDR + CONDITIONAL_CLOSE_VALVE_CTRL_MODIFY_STORAGE_ADDR_LENGTH
+#define	FUN_CTRL_MODIFY_STORAGE_ADDR_LENGTH		740
+//�����޸ļ�¼-��������/�ϱ��������޸ļ�¼
+#define	ALARM_CTRL_MODIFY_STORAGE_START_ADDR			FUN_CTRL_MODIFY_STORAGE_START_ADDR + FUN_CTRL_MODIFY_STORAGE_ADDR_LENGTH
+#define	ALARM_CTRL_MODIFY_STORAGE_ADDR_LENGTH		1700
+//�����޸ļ�¼-�ط��������޸ļ�¼
+#define	VALVE_CTRL_BYTES_MODIFY_STORAGE_START_ADDR			ALARM_CTRL_MODIFY_STORAGE_START_ADDR + ALARM_CTRL_MODIFY_STORAGE_ADDR_LENGTH
+#define	VALVE_CTRL_BYTES_MODIFY_STORAGE_ADDR_LENGTH		1700
 
 
 //������ϵͳ�洢��
@@ -64,4 +89,50 @@
 #define	THIRS_SYSTEM_RECORD_STORAGE_LENGTH		(1024*1024)	
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//flash������ַԽ���ж�
+#define	FLASH_LOG_ADDR_CHECK(__HANDLE__,__START_ADDR__,__LENGTH__,__MAX_NUM__)		\
+do{						\
+	if(FlashLogAddrCheck(__HANDLE__.log_addr_save,__START_ADDR__,__LENGTH__,__MAX_NUM__) ==FAIL){		\
+			__HANDLE__.log_addr_save = __START_ADDR__;			\
+			__HANDLE__.log_count = 0;		\
+		}		\
+}while(0);
+
+
+//��־���Ʋ�������
+#define	FLASH_LOG_CRTL_PARA_HANDLE(__HANDLE__,__START_ADDR__,__LENGTH__,__MAX_NUM__)		\
+do{						\
+	if( __HANDLE__.log_addr_save <(__START_ADDR__ + __LENGTH__ * (__MAX_NUM__ -1))){     		\
+			__HANDLE__.log_addr_save += __LENGTH__;																						\
+	}else{																																								\
+		__HANDLE__.log_addr_save = __START_ADDR__;																					\
+	}																																											\
+	if(__HANDLE__.log_count < __MAX_NUM__)																								\
+		__HANDLE__.log_count ++;																														\
+}while(0);	
+
+ErrorStatus	FlashMultipleWriteAndReadCheck(uint8_t * write_data,uint32_t addrA,uint16_t length);
+ErrorStatus	FlashLogAddrCheck(uint32_t OpAddr,uint32_t StartAddr,uint16_t length,uint16_t MaxNum);
+ErrorStatus	FlashMultipleReadAndCrcCheck(uint8_t * read_data,uint32_t addrA,uint16_t length);
+uint32_t	FlashLogPreviousAddrGet(uint32_t OpAddr,uint32_t StartAddr,uint16_t length,uint32_t EndAddr);
+
 #endif

--
Gitblit v1.9.3