#ifndef _EEPROM_H_
#define _EEPROM_H_

#include "apt32f102.h"

#define EEPROM_ParaInfo_Address			0x10000020

/*	EEPROM 保存数据格式：
 * 		FLAG	- 1Byte		保存标志位
 * 		LEN		- 2Byte		保存数据长度
 * 		CHECK	- 1Byte		保存数据校验
 * 		DATA	- nByte		保存数据内容
 * 
 * */
#define EEPROM_Offset_SaveFlag		0x00
#define EEPROM_Offset_Datalen		0x01
#define EEPROM_Offset_Check			0x03
#define EEPROM_Offset_Data			0x04

#define EEPROM_SVAE_FLAG			0xA6
#define EEPROM_DATA_Size_Max		100				//目前保存数据内容最长为100Byte

#define EEPROM_ParaDefault_PowerBusEnable	0x01
#define EEPROM_ParaDefault_SaveCurr			120		//默认保护电流为12A,单位:0.1A


typedef struct{
	
	U8_T powerbus_enable;		//PB电源使能状态 0x01:开启，0x02:关闭
	U8_T save_curr;				//保护电流
	
	/*调光参数*/
	U8_T allBrightness;				//全局调光 0~100
	U8_T allBrightnessUpLimit;		//全局调光上限百分比
	U8_T allBrightnessDownLimit;	//全局调光下限百分比
	
	U8_T swithcState[PWM_OUT_CH_MAX];	//开关状态	0x01:开，0x00:关
	U8_T brightness[PWM_OUT_CH_MAX];	//亮度		0~100
	U16_T gradialTime[PWM_OUT_CH_MAX];	//渐变时间	单位：ms
	
}E_PARA_INFO;

extern E_PARA_INFO g_eeprom;

void EEPROM_Init(void);
U8_T EEPROM_ReadParaInfo(E_PARA_INFO *info);
U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info);
U8_T EEPROM_ClearParaInfo(void);
U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info);
void EEPROM_Default_ParaInfo(E_PARA_INFO *info);

#endif
