SFBEeprom.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00105 #ifndef SFBEEPROM_H_
00106 #define SFBEEPROM_H_
00107
00108 #include "SFBTypes.h"
00109
00127 extern void eepromWrite(u32 addr, const u8 * source, u32 length) ;
00128
00144 extern void eepromRead(u32 addr, u8 * dest, u32 length) ;
00145
00156 extern void eepromWait(bool busyWait = false) ;
00157
00163 extern u32 eepromSize() ;
00164
00165 #define EEPROM_SIZE_BYTES (1<<14)
00166 #define EEPROM_BYTES_PER_PAGE 64
00167 #define EEPROM_RESERVED_PAGES 2
00168 #define EEPROM_RESERVED_BYTES (EEPROM_RESERVED_PAGES*EEPROM_BYTES_PER_PAGE)
00190 extern void eepromWriteReserved(const u32 addr, const u8 * data, const u32 length) ;
00191
00207 extern void eepromReadReserved(const u32 addr, u8 * data,const u32 length) ;
00208
00215 extern void eeprom_startup_initialization() ;
00216
00221 class SFBEeprom {
00222 public:
00224 void write(u32 addr, const u8 * source, u32 length) { eepromWrite(addr,source,length); }
00225
00227 void read(u32 addr, u8 * dest, u32 length) { eepromRead(addr, dest, length); }
00228
00230 void wait(bool busyWait = false) { eepromWait(busyWait); }
00231
00235 u32 size() { return eepromSize(); }
00236 };
00237
00241 extern SFBEeprom EEPROM;
00242
00243
00244 #endif