Subversion Repositories NaviCtrl

Rev

Rev 527 | Rev 780 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
248 killagreg 1
#ifndef __EEPROM_H
2
#define __EEPROM_H
3
 
527 holgerb 4
// two calibrtion sets for extern and intern sensor
5
#define EEPROM_ADR_MAG_CALIBRATION_INTERN       50
6
#define EEPROM_ADR_MAG_CALIBRATION_EXTERN   70
7
#define EEPROM_ADR_LICENSE_DATA_CRC                124// - 600
8
#define EEPROM_ADR_LICENSE_DATA                    128// - 600
760 holgerb 9
#define EEPROM_ADR_OEM_Name_CRC            601// 2 bytes 
10
#define EEPROM_ADR_OEM_Name                603// 603 - 619
527 holgerb 11
 
12
#define EEPROM_LICENSE_DATA_KOMPATIBEL          1
13
 
760 holgerb 14
// points into the license struct
15
#define OEM_IN_LICENSE   460
16
 
248 killagreg 17
typedef enum
18
{
19
  EEPROM_SUCCESS = 0,
20
  EERPOM_ERROR_I2C_DEINIT,
21
  EEPROM_ERROR_I2C_IDLE_TIMEOUT,
22
  EEPROM_ERROR_I2C_TRANSFER_TIMEOUT,
23
  EEPROM_ERROR_OUT_OF_ADDRESS_RANGE,
24
  EEPROM_DATA_TRANSFER_INCOMPLETE,
25
  EEPROM_I2C_BUFFER_OVERRUN,
256 killagreg 26
  EEPROM_NO_ACK,
248 killagreg 27
  EEPROM_ERROR_UNKNOWN
28
} EEPROM_Result_t;
29
 
527 holgerb 30
extern u8 EEPROM_Init(void);
31
extern EEPROM_Result_t EEPROM_WriteBlock(u16 Address, u8 *pData, u16 DataLen);
32
extern EEPROM_Result_t EEPROM_ReadBlock(u16 Address, u8 *pData, u16 DataLen);
33
extern void WriteLicenseToEEPROM(u8 kampatibel);
34
extern u8 ReadLicenseFromEEPROM(void);
35
extern void DeleteLicenseInEEPROM(void);
36
extern void ClearLicenseText(void);
760 holgerb 37
extern u8 ReadOemNameFromEEPROM(void);
38
extern void WriteOemNameToEEPROM(void);
248 killagreg 39
 
40
#endif // EEPROM_H
41