From f03cf3ae7a36954e64fc014e6bb7afd20c5a5247 Mon Sep 17 00:00:00 2001
From: jinlicong <493886250@qq.com>
Date: Wed, 12 Jun 2024 17:22:08 +0800
Subject: [PATCH] 增加IAP功能,准备测试上位机升级
---
Function/STORAGE/sizhu_history_record.c | 64 ++++++++++++++++++++++++++++++--
1 files changed, 60 insertions(+), 4 deletions(-)
diff --git a/Function/STORAGE/sizhu_history_record.c b/Function/STORAGE/sizhu_history_record.c
index c162f91..e294304 100644
--- a/Function/STORAGE/sizhu_history_record.c
+++ b/Function/STORAGE/sizhu_history_record.c
@@ -15,7 +15,7 @@
uint32_t sizhu_historical_record_read(uint8_t logtype, uint32_t addr, SIZHU_HISTORY_MDH_T * log_run_ptr)
{
-// u32 addr_save;
+ u32 addr_save = 0;
//
// //addr_save = addr_length;
// if(logtype == LOG_SIZHU_HOUR_TYPE)
@@ -79,7 +79,7 @@
//
//// eeprom_multiple_data_read( (uint8_t *)&ufg620_log_g,addr_save, sizeof(SIZHU_HISTORY_MDH_T) );
//
-// return addr_save;
+ return addr_save;
}
@@ -88,6 +88,8 @@
void sizhuIntervalHistoryRecord(void)
{
SIZHU_HISTORY_INTERVAL_T sizhu_history_interval_l;
+
+// return; //?û�������ԣ�������
arrayA_2_arrayB((uint8_t *)&sys_clockBCD_g,(uint8_t *)&sizhu_history_interval_l.record_time_BCD,sizeof(sys_clockBCD_g), LITTLE_ENDIAN);
@@ -114,8 +116,7 @@
FlashMultipleWriteAndReadCheck((uint8_t *)&sizhu_history_interval_l,log_sizhu_history_ctrl_g.per_interval_log.log_addr_save,sizeof(SIZHU_HISTORY_INTERVAL_T));
- FLASH_LOG_CRTL_PARA_HANDLE(log_sizhu_history_ctrl_g.per_interval_log,HISTORY_INTERVAL_START_ADDR,sizeof(SIZHU_HISTORY_INTERVAL_T),HISTORY_INTERVAL_MAX_NUM);
-
+ FLASH_LOG_CRTL_PARA_HANDLE(log_sizhu_history_ctrl_g.per_interval_log,HISTORY_INTERVAL_START_ADDR,sizeof(SIZHU_HISTORY_INTERVAL_T),HISTORY_INTERVAL_MAX_NUM);
//?�����洢
if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_sizhu_history_ctrl_g,LOG_SIZHU_HISTORY_CTRL_ADDR,LOG_SIZHU_HISTORY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_sizhu_history_ctrl_g))==FAIL){
@@ -126,6 +127,8 @@
void sizhuMDHHistoryRecord(HISTORY_TYPE history_type)
{
SIZHU_HISTORY_MDH_T sizhu_history_l;
+
+ return; //?û�������ԣ�������
arrayA_2_arrayB((uint8_t *)&sys_clockBCD_g,(uint8_t *)&sizhu_history_l.record_time_BCD,sizeof(sys_clockBCD_g), LITTLE_ENDIAN);
@@ -167,6 +170,56 @@
if(paraCalcCrcAndWriteEepAB((uint8_t * )&log_sizhu_history_ctrl_g,LOG_SIZHU_HISTORY_CTRL_ADDR,LOG_SIZHU_HISTORY_CTRL_ADDR + PARA_EEP_B_OFFSET_ADDR,sizeof(log_sizhu_history_ctrl_g))==FAIL){
}
+}
+
+void HistoryRecordTest(void)
+{
+ static uint8_t test_start_flag =0;
+ ErrorStatus test_Status = PASS;
+ uint16_t count_i = 0;
+ uint16_t record_num = 0;
+ uint16_t have_record_num = 0;
+ uint32_t read_addr;
+ uint32_t err_addr;
+ uint32_t err_count;
+
+ SIZHU_HISTORY_INTERVAL_T history_interval_l;
+
+
+
+ if(test_start_flag == 1){
+ test_start_flag = 0;
+ //�����¼����
+ have_record_num = 0;
+ record_num = log_sizhu_history_ctrl_g.per_interval_log.log_count;
+ read_addr = log_sizhu_history_ctrl_g.per_interval_log.log_addr_save;
+ for(count_i = 0;count_i < record_num;count_i++){
+ have_record_num ++;
+
+ if(read_addr <= HISTORY_INTERVAL_START_ADDR)
+ read_addr = HISTORY_INTERVAL_END_ADDR;
+ else
+ read_addr -= HISTORY_INTERVAL_LENGTH;
+
+ if(FlashMultipleReadAndCrcCheck((uint8_t *)&history_interval_l,read_addr,HISTORY_INTERVAL_LENGTH)== PASS){
+
+ }else{
+ test_Status = FAIL;
+ break;
+ }
+
+ }
+
+ if(test_Status == FAIL){
+ err_addr = read_addr;
+ err_count = log_sizhu_history_ctrl_g.per_interval_log.log_count - count_i;
+ }
+
+ }
+
+
+
+
}
@@ -224,5 +277,8 @@
sizhuMDHHistoryRecord(HISTORY_TYPE_MONTH);
}
+
+ HistoryRecordTest(); //?���Ժ�������������Ҫע��
+
}
--
Gitblit v1.9.3