#ifndef __HISTORY_H__
#define __HISTORY_H__
/*--------------------------------------------------------------------------------------
*  @file     History.h
*  @author   ZhangJing
*  @version  base on stm32f0x   
*  @date     2015.09.11
*  @brief    历史数据处理
---------------------------------------------------------------------------------------*/
#include "stdint.h"

#define HISTORY_DATA_BYTES	0x800	//历史数据存储字节 2K,一页的数据就是2k
typedef struct
{
	uint16_t	totalDose;		//总量
	uint16_t	firstDose;		//首次量
	uint16_t	continueDose;	//持续运行
	uint16_t	superaddition;//追加量
	uint16_t	lockTime;			//锁时
	uint16_t	limitDose;		//极限量
	uint16_t	additionalNum1;//追加有效次数1
	uint16_t	additionalNum2;//追加无效次数2
	uint16_t	inputed;				//已输入
	uint8_t		stopTimeMonth;//结束时间-月
	uint8_t		stopTimeDate;//结束时间-日
	uint8_t		stopTimeHour;//结束时间-时
	uint8_t		stopTimeMinute;//结束时间-分	
	
	uint8_t		alarmTimeMonth;//报警时间-月
	uint8_t		alarmTimeDate;//报警时间-日
	uint8_t		alarmTimeHour;//报警时间-时
	uint8_t		alarmTimeMinute;//报警时间-分		
	uint8_t		alarmType;//报警类型 0：无报警	1：机械报警		2：堵塞报警		3：极限值
											//4：气泡或无液		5：未装药盒		6：电池电量		7：管道脱落
	uint8_t		readIndex;//读索引
}HistoryDataFrame;

void HistorySendToPC( void );
void ReadHistoryRecord( void );
void WriteHistoryRecord( void );
void ReadHistoryRecordQTY( void );
void WriteHistoryRecordQTY( void );
void HistoryQtyAdd(void);

extern HistoryDataFrame	historyRecord;//历史数据存储

extern uint8_t historyRecordBuf[HISTORY_DATA_BYTES];//历史数据存储数组

extern uint16_t historyRecordQTY;//历史数据存储数量
extern uint16_t	historyRecordPointer;//历史数据存储指针
extern uint8_t	historyRefreshFlag;//历史数据刷新标志
extern uint16_t	FackhistoryRecordQTY;//假历史数据存储数量
#endif
