83 lines
3.9 KiB
C
Executable File
83 lines
3.9 KiB
C
Executable File
/********************************************************************************************************
|
||
** HY3106常数与子程序定义头文件
|
||
**
|
||
** Copyright (c) Siargo, Ltd. 2011
|
||
** All Rights Reserved.
|
||
**
|
||
**-------------------------------------------------------------------------------------------------------
|
||
********************************************************************************************************/
|
||
#ifndef __SavingData_h__
|
||
#define __SavingData_h__
|
||
|
||
//******************************************************************************
|
||
// for memory WIDTH
|
||
|
||
//******************************************************************************
|
||
//******************************************************************************
|
||
// for data eeprom ---[For 24c512]----------------------------------------------
|
||
// DATE REC DATA
|
||
// NO.0 ([YEAR] [MONTH] [DATE] [HOUR] [MINUTE] + 间隔1小时保存时间
|
||
// Max addr: 0x300+12*1000 (0x2ee0) = 0x31e0
|
||
#define DATE_POINTER (unsigned int)0x300 // DATE record start ponit addr
|
||
#define DATE_POINTER_WIDTH (unsigned int)3
|
||
#define DATE_POINTER_CRC (unsigned int)(DATE_POINTER_WIDTH-1)
|
||
#define DATE_BASE (unsigned int)(DATE_POINTER+DATE_POINTER_WIDTH)
|
||
#define DATE_WIDTH (unsigned int)12 // DATE record start eeprom addr
|
||
#define DATE_WIDTH_CRC (unsigned int)(DATE_WIDTH-1)
|
||
#define DATE_DEPTH (unsigned int)1000
|
||
|
||
// ALARM DATA
|
||
// NO.0 出厂前MEMS参数保存(硬件调试)
|
||
// No.1-No.599 实时保存报警数据
|
||
// Max addr: 0x3200 + 16*1000 (0x3e80) = 0x7080
|
||
#define ALARM_POINTER (unsigned int)0x3100 // alarm record start ponit addr
|
||
#define ALARM_POINTER_WIDTH (unsigned int)3
|
||
#define ALARM_POINTER_CRC (unsigned int)(ALARM_POINTER_WIDTH-1)
|
||
#define ALARM_BASE (unsigned int)(ALARM_POINTER+ALARM_POINTER_WIDTH) // alarm record start eeprom addr
|
||
#define ALARM_WIDTH (unsigned int)26
|
||
#define ALARM_WIDTH_CRC (ALARM_WIDTH-1)
|
||
#define ALARM_DEPTH (unsigned int)600
|
||
|
||
// HISTORY DATA
|
||
// NO.0 工厂传感器数据 (NRH,LRH,(RR//RH), NIDX )
|
||
// No.1-No.2000 历史正常记录数据
|
||
// Max addr: 0x7100 + 18*2000 (0x8ca0) = 0xffa0
|
||
#define HISTORY_POINTER (unsigned int)0x7100 // history record start ponit addr
|
||
#define HISTORY_POINTER_WIDTH (unsigned int)3
|
||
#define HISTORY_POINTER_CRC (unsigned int)(HISTORY_POINTER_WIDTH-1)
|
||
#define HISTORY_BASE (unsigned int)(HISTORY_POINTER+HISTORY_POINTER_WIDTH) // history record start eeprom addr
|
||
#define HISTORY_WIDTH (unsigned int)18
|
||
#define HISTORY_WIDTH_CRC (unsigned int)(HISTORY_WIDTH-1)
|
||
#define HISTORY_DEPTH (unsigned int)2000
|
||
|
||
//******************************************************************************
|
||
// for memory WIDTH
|
||
#define RECORD_TIME_WIDTH 6
|
||
#define RECORD_TIME_CRC (RECORD_TIME_WIDTH-1)
|
||
|
||
//******************************************************************************
|
||
extern u16 historyPeriodSet,saveTimeCounter;;
|
||
//******************************************************************************
|
||
|
||
void SaveParameterInit(void);
|
||
void CopyTimeToBackUpArray(u8 *backups);
|
||
void CopyAccToBackUpArray(u8 *backups);
|
||
u16 WriteaAnAlarmData(u16 pointer);
|
||
u16 AlarmWrite(void);
|
||
void ClearAlarmRecord(void);
|
||
void ClearHistoryRecord(void);
|
||
void ClearDateRecord(void);
|
||
void SetHistoryRecordTime(void);
|
||
|
||
void WriteRecordTimeData(void);
|
||
u16 ReadRecentHistoryData(u8 *recent);
|
||
u16 WriteAnHistoryData(u16 pointer);
|
||
u16 HistoryRecordWrite(void);
|
||
|
||
u16 ReadRecentDateAccData(u8 *recent);
|
||
u16 DateAccWrite(void);
|
||
void DataStorageManagement(void);
|
||
void ReadRecordToComBuf(void);
|
||
|
||
/*******************/
|
||
#endif |