#ifndef _EEPROM_H_
#define _EEPROM_H_

#include "apt32f102.h"

/*地址范围：0x10000000~0x100007FF*/
#define EEPROM_MCUDevInfo_Address			0x10000000				//MCU 设备信息地址固定为0x10000000，大小为0x40 此区域不可改动


/*	EEPROM 保存数据格式：
 * 		FLAG	- 1Byte		保存标志位
 * 		LEN		- 2Byte		保存数据长度
 * 		CHECK	- 1Byte		保存数据校验
 * 		DATA	- nByte		保存数据内容
 * 
 * */
#define EEPROM_SVAE_FLAG			0xAE
#define EEPROM_DATA_Size_Max		0x40				//目前保存数据内容最长为100Byte
#define EEPROM_PARA_Size			50
#define EEPROM_DEV_NAME_Size		32

#define EEPROM_Offset_SaveFlag		0x00
#define EEPROM_Offset_Datalen		0x01
#define EEPROM_Offset_Check			0x03
#define EEPROM_Offset_Data			0x04


typedef struct{
	
	U8_T dev_addr;									//设备地址
	U8_T dev_type;									//设备类型
	U8_T dev_boot_ver;								//设备Boot的软件版本号
	U8_T dev_app_ver;								//设备APP的软件版本号
	U8_T dev_name_len;								//设备名称的长度
	U8_T dev_name[EEPROM_DEV_NAME_Size];          	//设备名称

}E_MCU_DEV_INFO;

extern E_MCU_DEV_INFO g_mcu_dev;

void EEPROM_Init(void);


U8_T EEPROM_ReadMCUDevInfo(E_MCU_DEV_INFO *info);
U8_T EEPROM_WriteMCUDevInfo(E_MCU_DEV_INFO *info);
void EEPROM_Default_MCUDevInfo(E_MCU_DEV_INFO *info);
void EEPROM_Validate_MCUDevInfo(E_MCU_DEV_INFO *info);



#endif
