Subversion Repositories NaviCtrl

Rev

Rev 527 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#ifndef __EEPROM_H
#define __EEPROM_H

// two calibrtion sets for extern and intern sensor
#define EEPROM_ADR_MAG_CALIBRATION_INTERN       50
#define EEPROM_ADR_MAG_CALIBRATION_EXTERN   70
#define EEPROM_ADR_LICENSE_DATA_CRC                124// - 600
#define EEPROM_ADR_LICENSE_DATA                    128// - 600

#define EEPROM_LICENSE_DATA_KOMPATIBEL          1

typedef enum
{
  EEPROM_SUCCESS = 0,
  EERPOM_ERROR_I2C_DEINIT,
  EEPROM_ERROR_I2C_IDLE_TIMEOUT,
  EEPROM_ERROR_I2C_TRANSFER_TIMEOUT,
  EEPROM_ERROR_OUT_OF_ADDRESS_RANGE,
  EEPROM_DATA_TRANSFER_INCOMPLETE,
  EEPROM_I2C_BUFFER_OVERRUN,
  EEPROM_NO_ACK,
  EEPROM_ERROR_UNKNOWN
} EEPROM_Result_t;

extern u8 EEPROM_Init(void);
extern EEPROM_Result_t EEPROM_WriteBlock(u16 Address, u8 *pData, u16 DataLen);
extern EEPROM_Result_t EEPROM_ReadBlock(u16 Address, u8 *pData, u16 DataLen);
extern void WriteLicenseToEEPROM(u8 kampatibel);
extern u8 ReadLicenseFromEEPROM(void);
extern void DeleteLicenseInEEPROM(void);
extern void ClearLicenseText(void);

#endif // EEPROM_H