// EEPROM.h

#ifndef __EEPROM_H
#define __EEPROM_H

#include "defs.h"

// Variables' number
#define NumbOfVar  0x04

#define MaxHV				2010

// EEPROM variables
#define MyAddressAdr	0
#define MyAddress0			1

#define HV_SettingAdr	2
#define HV_Setting0			2200

#define ADC2HV_Adr		4
#define ADC2HV0				((2000*0x8000U)/2433)

// Bit 0 - HV default on Power On: 0 - HV Off, 1 - HV On
#define HV_OnFlag		0x0001
#define FlagsAdr		6
#define Flags0				0


// Page size
#define PAGE_SIZE  0x200  /* 512 Bytes */

// EEPROM start address in Flash
#define EEPROM_START_ADDRESS  0xF000 /* EEPROM emulation start address: */
                                              /* after 60KByte of used Flash memory */

// Pages 0 and 1 base and end addresses
#define PAGE0_BASE_ADDRESS  (EEPROM_START_ADDRESS + 0x000)
#define PAGE0_END_ADDRESS   (EEPROM_START_ADDRESS + (PAGE_SIZE - 1))

#define PAGE1_BASE_ADDRESS  (EEPROM_START_ADDRESS + PAGE_SIZE)
#define PAGE1_END_ADDRESS   (EEPROM_START_ADDRESS + (2 * PAGE_SIZE - 1))

// Exported functions
Bool EE_Format(void);
Bool EE_Erased(void);
Bool EE_Read(u16 VirtAddress, u16* Read_data);
Bool EE_Write(u16 VirtAddress, u16 Data);
#endif /* __EEPROM_H */
