0,0 → 1,47 |
#ifndef __EEPROM_H |
#define __EEPROM_H |
|
|
#define EEPROM_ADR_BAUDRATE_INDEX 44 // 44 - 45 |
#define EEPROM_ADR_BARO_KALIBRATION 46 // 46 - 49 |
#define EEPROM_ADR_MAG_CALIBRATION_INTERN 50 // two calibrtion sets for extern and intern sensor |
#define EEPROM_ADR_MAG_CALIBRATION_EXTERN 70 |
#define EEPROM_ADR_LICENSE_DATA_CRC 124// - 600 |
#define EEPROM_ADR_LICENSE_DATA 128// - 600 |
#define EEPROM_ADR_OEM_Name_CRC 601// 2 bytes |
#define EEPROM_ADR_OEM_Name 603// 603 - 619 |
|
#define EEPROM_LICENSE_DATA_KOMPATIBEL 1 |
|
// points into the license struct |
#define OEM_IN_LICENSE 460 |
|
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); |
extern u8 ReadOemNameFromEEPROM(void); |
extern void WriteOemNameToEEPROM(void); |
extern void WriteBaroCalibrationToEEprom(void); |
extern void ReadBaroCalibrationfromEEprom(void); |
void WriteBaudrateIndexToEEprom(void); |
void ReadBaudrateIndexfromEEprom(void); |
|
#endif // EEPROM_H |
|