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